Hi everyone.
I'm Caitlin.
I'm Jess
And we're here to discuss the history,
principles and everyday use of programming, and how code can be used to shape our future.
In the 1800s,
the concept of programming was first established.
Charles Babbage,
an inventor,
was creating the Difference Engine,
which is basically a calculator.
While he was doing this, he thought of the idea of the Analytic Engine. This would have been the first computer,
but the technology wasn't about at the time to be able to develop it.
But this concept laid the groundwork for future inventors to be able to make the first programmable computer.
The ideas of Charles Babbage didn't just lead to future inventors
creating the first programmable computer.
It also led to an associate of his, Ada Lovelace, to create the first computer algorithm that could be used on these
future computers.
As a result of this,
she is often referred to as the first computer programmer.
Fast forward to the 1900s and we see how Babbage and Lovelace's work was used and
actualised to create a real programmable computer.
The person to do this was Alan Turing.
Alan Turing was best known for his work on Bombe,
a machine used to crack German enigma codes during World War Two.
However,
he also used Lovelace's and Babbage's work to create the Turing machine in 1936.
The machine is capable of simulating any computer algorithm.
Turing's machine performed computations by reading from and writing to an infinite
tape, quite similar to how we now read to and write from variables.
This makes it really,
really relevant to the fundamentals of programming that we'll talk about in a minute.
Turing's work shows us that no matter how advanced technology becomes,
the fundamentals of programming never change,
and they're still just as relevant today as they were way back in the 1900s.
Another famous and important figure from this time is Tommy Flowers.
Tommy Flowers designed
the Colossus Machine,
which is known as the first programmable electronic computer.
Colossus was originally destined to solve other German cyphers such as Lorenz during World War Two.
However,
over time it morphed into the world's first programmable electronic computer.
The really interesting thing about Colossus is that we think of it as a computer,
but rather than being a computer that we use today,
it was programmed by switches and plugs rather than a stored programme or code,
like you might see today.
All four of these historic programmers had a massive influence on what we now know to be the
basic principles of programming.
Now we look at how these fundamentals shape our future. We'll be looking at how Artificial Intelligence,
Internet of Things and 5G are all used in your everyday and how they
will be used in your future.
Firstly,
we look Artificial Intelligence.
Now, what is AI?
Well,
who better to ask than an AI system itself?
Alexa,
what is Artificial Intelligence?
"Artificial Intelligence is the ability of a computer programme or a machine to think and learn.
It is also a field of study,
defined as the study of devices that perceive their environments and take actions that
maximise their chance of success of some goal.
More commonly,
the term Artificial Intelligence is used to describe when machines are seen as mimicking human
cognitive functions such as learning and problem solving."
So that was a great example from Alexa,
but how do we describe how good an AI algorithm is?
For this, we use the Turing test.
The Turing test is used to measure how indistinguishable a machine is from a human.
The Turing test is actually quite complex,
but in a nutshell,
the higher an AI algorithm scores on the Turing test the better it is.
Programming is fundamental to AI.
Using AI,
we can create programmes that learn the difference between a cat and dog using pictures,
using machine learning algorithms.
Or we can create programmes that can write other programmes themselves to approximate
solutions,
which is genetic programming.
One of the best things about AI is how accessible it is.
Using your own laptop,
you can create your own AI applications using Python,
which is a programming language,
and its libraries such as TensorFlow or PyTorch.
5G is a new cellular network that uses radio waves. With a greater bandwidth
than 4G and a speed of up to 10 gigabits per second,
which is 10 times faster than 4G.
The key to all applications being able to communicate with each other through the 5G network is by
using application programming interfaces,
APIs.
This allows two or more applications to talk to one another.
Internet of Things involves devices embedded with technologies such as sensors,
processing capability and software.
They communicate with each other over a network.
So many everyday objects
now are IoT. Things like washing machines,
phones,
even cars now use Internet of Things every day,
and you wouldn't even know it.
Not only is Internet of Things used every day by you at home,
but it's also used in many industries,
such as healthcare,
the military and factories.
Now let's take a look at how Internet of Things can be used in a city for
management of traffic and infrastructure.
You may think to get started with programming,
you need a lot of expensive equipment.
That's not the case.
Here we have a mock-up of a smart city using Lego.
The technology used in this mock-up right now is being replicated in Milton Keynes for a real life trial.
This mock-up city is packed full of IoT technologies.
This includes: smart traffic lights,
smart parking and
smart streetlights.
We have the ability to track vehicles,
monitor occupancy and react to road conditions,
meaning we can keep the city flowing.
Despite this looking like a bunch of toys,
the programming languages behind this are actually used in the real world.
Therefore testing can be done here instead of being used on expensive equipment.
The languages we used to programme Internet of Things greatly vary depending on the application.
For example,
embedded sensors are programmed using low level languages like C,
whilst gateways which manage the communication between devices,
could be programmed with a whole wide range of languages,
including Python,
Java,
C++ and also C as well.
This is a great example of how no matter the language you're using or the level you're programming at,
the fundamentals still remain the same.
Hopefully you've seen by now how historic programmers like Lovelace and Turing have created the
programming fundamentals that we use in everyday technology today and how you might use
these to programme AI, IoT or 5G applications in the future.
No matter your background,
age or experience,
you can all start programming even with the most basic of computers.
Thank you very much and get programming!