Adastral Park
Careers & Education   >   British Science Week   >   Technology: Software & Programming   >   More questions
Day 2: Technology - Software & Programming » More questions
Photo of Ose Uadiale
Ose (host): Take a look at some more questions and answers relating to software and programming below...
Question:
What's the best use we could have for programming in school?
student profile
Photo of Nicky Hughes
Answer:
Lots! Things like solving maths problems, helping monitor science projects, modelling in biology/geography/chemistry, digital art (playing with images), sound recording and mixing, make you own games, keeping track of sports results, capturing inspirational ideas and randomly displaying them.
Question:
What are the best subjects to take at GCSE or A-Level to get into software engineering?
student profile
Photo of Nicky Hughes
Answer:
GCSE: Maths, Physics, Computer Science, Chemistry, Geography, English Literature and English Language (you need to be able to read and write human languages), a foreign language (lots of opportunity for travel).
A Level: Maths, Physics, Computer Science. If Maths is not your strong point - do not be put off - tech levels offer some maths content without the whole A level and some universities do not require A level maths. Other useful subjects: Art (for user interface design), Geography, Biology, Chemistry, Law, Design & Technology. There are a wide range of different degree courses in Computer Science with different approaches. Some will take you with no previous programming experience - do have a look around. The same for apprenticeships.
Question:
In the BT video you talk about Colossus, where can I learn more about that and Ada Lovelace and Tommy Flowers and other stuff you talked about?
student profile
Photo of Caitlin Howland
Answer:
Great question, there are so many resources online to look at. To list a few websites:
There are a couple of videos to watch depending on the amount of time you have:
Question:
How long do you think it will be before all cities are considered "smart cities"?
student profile
Photo of Jo Hodgson
Answer:
There are so many variables to this that it's impossible to know when they will all be smart. It is likely to be an ongoing evolution of cities with no defined 'we're done' moment. Many cities in the UK and globally have implemented smart city projects and as 5G and other technologies enable new capabilities they'll continue to evolve.
Question:
What is the difference between artificial intelligence and machine learning?
student profile
Photo of Joost Noppen
Answer:
Artificial Intelligence (AI) is the overarching term to refer to a range of techniques and ideas that can be considered using computers to achieve intelligent behaviour. Machine learning is one of those techniques and therefore is a type of AI. You can say that machine learning is Artificial Intelligence but not all AI is machine learning. Machine learning mainly focuses on using large amounts of data and techniques from statistics to identify recurring patterns that can be applied to a wider scale. For example, using machine learning you can show a range of cat pictures to a computer to teach it how to recognise cats in pictures it has never seen before. Other kinds of techniques that are not machine learning but are considered AI are, for example, inference engines which can derive new knowledge from existing data by means of logical reasoning. Computational optimisation is another example of a technique that is frequently classified as AI, in particular when it is combined with genetic algorithms. Each of these techniques have up- and downsides and depending on what you want to achieve one might work better than the other.
Question:
Are newer languages always better than older ones?
student profile
Photo of Joost Noppen
Answer:
A great question, and as a rule of thumb I would say no, not always. Perhaps even more interestingly I do not think that any language is always better than another, no matter if it is old or new. Each language is unique in what it has to offer. For example python is easy to develop in and has excellent library support for machine learning for example. Java on the other hand is specialised for portability (being able to run everywhere after you write the initial code), and C/C++ are generally seen as the fastest languages out there because they tend to take advantage of the specifics of the hardware. When you build a system you tend to look for certain qualities, such as your code being really fast or it being very easy to run on multiple platforms, and then you select the language that works best for that specific set of constraints; which also means that the best language can differ from project to project. This is not to say that newer languages do not bring improvements. Each language tries to solve a problem in a more efficient and elegant way, such as being easier to use for web development or specifically suited for low-code. For those scenarios generally the new languages are better than the old ones. Definitely worth keeping track of new developments as a new language can be perfect for the kind of job you have to do!
Question:
How do you think we can make programming more accessible to people?
student profile
Photo of Michael Bowkis
Answer:
I think that there are a number of things that we could do. Introducing people to the basic ideas that programming is creative and it is about solving problems are crucial things to do. This could easily be done using No-Code or Low-Code programming techniques. For young people, one of the best ways is to make the process of solving problems and programming fun. This could be done using very basic technology (e.g. MicroBit, Raspberry Pi) and small, very cheap, programmable robots. I also think that young people like to solve meaningful problems, inventing solutions to help people is both fun and motivating. Programming will change over the next few decades and our ingenuity as humans will make programming easier.
Question:
Who is to blame if software written by AI goes wrong?
student profile
Photo of Michael Bowkis
Answer:
The 'blame' for AI malfunction, a system that has not been programmed correctly or is malicious are very interesting questions to consider. Obviously, the AI cannot be prosecuted for failures in the automatic generation of code but there is room to apportion blame to the legal entities that have constructed the AI that generated the software. This can become really tricky, determining who wrote the original AI system, however, humans create AI systems and they hold responsibility for what AI does or does not do. We must take responsibility for our actions and, I believe, that we must be the guardians, ensuring that AI systems do no harm.
Question:
When did you start programming?
student profile
Photo of Michael Bowkis
Answer:
There were no personal computers when I started to program, no Raspberry Pis either! I was twelve years old at school when I started. I saw that the A Level students (17 & 18 years of age) programmed large computers as part of their course in mathematics. They did this remotely; the massive computers were at London University. I walked into the teacher's room and said that I wanted to learn. He was fantastic and just gave me a couple of books and said – “teach yourself”! One book was for programming the Olivetti Programma 101 that the school had, which, incidentally, NASA used to calculate trajectories for the moon landings (including Apollo 11).
Photo of Nicky Hughes
Answer:
I was lucky enough to have a Maths teacher who got us programming in year 10 - age 13/14 - that was in the 1970s - our programs got taken to run on a computer at the local technical college. But my main programming started with Fortran at University running on an ICL 1906s using punch cards and paper tape. No computer screens, no mouse.... The university had computer centres in each main building - paper tape was the best - you carried around Sellotape and scissors so you could "cut and paste" to edit the program and, unlike punch cards, they did not end up in the wrong sequence if you dropped them on the floor. I still have my early programs on paper tape - 8 holes for each character. If we could write a program that would run in less than a few seconds they got scheduled to run ASAP - longer ones could take all night. You had to think about how to write a program or split a program up to run immediately. Nothing was stored except on your paper tape or punch cards which you kept. There was only a limited amount of RAM available, again we had to program carefully to not exceed this.
Photo of Caitlin Howland
Answer:
I started programming in Year 7 with Scratch, and once I was a bit older and more confident, I started programming in Python through my GCSEs and A-Levels and did most of my assignments using Python. As long as you understand the key principles of programming, you will be able to achieve anything!
Photo of Joost Noppen
Answer:
I started programming when I was 10 years old, when my Dad came home with a flyer of a computer programming course that was being offered in our neighbourhood. I got introduced to the Laser 310 microcomputer and over the course of a few months I learned how to program in basic. This was a really good experience as the course provided a machine you could take home to practice as most households did not have their own computers at that time. I was by far the youngest in the group as the course was aimed at people wanting to start their career in software development. I did manage to complete it so I received my first official programming degree at the age of 10, and I never looked back.
Got a question? email stemexpert@bt.com
Back to Technology - Software & Programming main page >