Introduction
to
Computer Programming
What is a Computer?
A computer is a device that can be instructed to carry out sequences of arithmetic or logical operations automatically
A device that computes
What is Programming?
the process of scheduling something
answering the question: what's the programme?
What is Computer Programming?
the process of scheduling computations on the computer
Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task.
What is a Computer Program?
It's a distinct chunk of instructions you provide to the computer that it understands to achieve some desired outcome
A computer program is a collection of instructions that performs a specific task when executed by a computer.
A computer requires programs to function
Without your input in the form of computer programs, the computer is a dumb device that doesn't do anything
Computers are great servants - they will do anything you want them to do without complaining and they will do it correctly
So how do we talk to the Computer then?
We're not fluent in 0s and 1s, so we need to translate our thoughts into binary code
They understand the language of zeroes and ones
What do you mean 0s and 1s?!
That is one bit of information - which doesn't seem like much but it can be combined with other bits to convey more information
As its core, a computer is an electronic device that understands whether when the circuit is open and an electric current is not flowing (0) or when the circuit is closed and the current is flowing (1)
Guess what the Computer's Brain CPU does?
It listens to 0s and 1s coming its way, uses its special circuits to extract information from those 0s and 1s into some operation(s) it needs to perform, and then outputs an electrical signal to its connected components to perform those actions (and repeat)!
But we're not fluent in 0s and 1s!
We create Programming Languages so that we can write instructions in natural language that gets converted to 0s and 1s by interpreters
Higher information density and easier to read, share and problem solve
There's many ways to communicate
Just as with human languages, there are many different programming languages but they achieve the same purpose: help us communicate logical and arithmetic instructions with the computer
- Ranging from binary-like to natural-language-like
- Different paradigms based different ways of thinking and expression
- Small, fun languages and big, serious languages
- You can even write your own!
But there's some Universal Grammar
Again, just like human languages, programming languages have high level elements.
- Input/Output
- Logic
- Arithmetic
Input/Output (I/O)
Used when you need to give the computer some input or it needs to give you some output
Not limited to keyboards, mouse and monitors
Logic
Logic is the systematic study of the form of valid inference, and the most general laws of truth
It's used when you want to make decisions by inferring pre-existing conditions
Arithmetic
Computers love Arithmetic - they can do billions of calculations, very fast, very accurately
This is why computers were invented in the first place!
Algorithms
a process or set of rules to be followed in calculations or other problem-solving operations
It's a recipe to solve a problem - has to be scalable, precise and re-usable
Things weren't always so straight-forward
There's a long and very interesting history of computers and computing
Charles Babbage
Father of computers
Conceptualised the first, general purpose mechanical computer - The Analytical Engine in 1837
Ada Lovelace
First to recognise the full potential of a "computing machine"
One of the first computer programmers
John von Neumann
"The last representative of the great mathematicians"
Described a computer architecture in which the data and the program are both stored in the computer's memory in the same address space
Alan Turing
Father of Computer Science and Artificial Intelligence
Formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer.
John Mauchly &
J. Presper EckertÂ
Electronic Numerical Integrator and Computer
Earliest electronic general-purpose computers
Countless other pioneers
You have more computing power in your phone than NASA used to get to the moon
What can you do with Computer Programming?
The Sky is the Limit
Games Development
Web Development
Applications
Security
Literally any interaction you have with a computer
How do you make this exciting domain your career?
Most information is available on the internet for free if you're willing to put in the time and effort to learn
While the industry is losing its hard requirement for a college education, it certainly helps
Software Engineering
Software engineering is the application of engineering to the development of software in a systematic method.
You should choose Software Engineering if you’re more interested in the hands-on approach, and if you want to learn the overall life cycle of how software is built and maintained.
Computer Science
Computer science is the study of processes that interact with data and that can be represented as data in the form of programs.
You should choose Computer Science if you like math, logic, or if you want to get into a specialized field in CS such as artificial intelligence, machine learning, security or graphics.
Questions?
Introduction to Computer Programming
By gvrv
Introduction to Computer Programming
Introduction to Computer Programming for Middle School Students
- 909