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

  • 811