What is a computer?

Etymology

  • The first use of the word computer was recorded in a book written in 1613.
  • Until the middle of the 20th century, it referred to "a person who carried out calculations or computations".

  • From the end of the 19th century the word began to take on its more familiar meaning, a machine that carries out computations.

Who invented the computer?

Computer Programs

  • Computer programs are everywhere.
    • Run parts of your car.
    • Let you check your email.
    • Your favorite smartphone app.
  • But what are they, really?

What is a Computer Program?

At its core, a program is
a way of getting something done.

  • One of the ways to accomplish "getting something done" is a list of instructions that tells the computer exactly what to do and allows interaction with human beings.
  • Those instructions have to be written in a "language" that the computer can understand.

Programming Languages

A programming language is, basically, a set of strings (letters, numbers, commands) that are turned into machine code that the computer can understand.

The language you use for a program depends on a number of things:

  • How the program will be used.
  • What you want the program to do.
  • What languages you know.

Programming Languages

  • Computers don’t exactly understand programming languages (such as Java or Python). They need to be transformed into the computer language that they can understand.
  • That computer language is strings of 1’s and 0’s-- binary numbers that most people can’t read easily-- to be able to do anything with them.
    • For example, the letter 'A' in a computer has the binary representation: 01000001.
  • Despite being able to decipher those unintelligible strings of 1’s and 0’s, computers are actually pretty dumb.

Programming Languages

For example:

  • To develop websites, you might use HTML, JavaScript, Python, Ruby, PHP.
  • To create databases and move information in and out of them, you might use SQL, dBase.
  • To write applications like Microsoft Word or Adobe Acrobat, you might use C++, Java

Computers are dumb

  • Computers can only do what they have instructions for-- and they take those instructions VERY literally.
  • As a result, you have to tell them every single thing you want them to do and every single thing to take into consideration.
  • If you leave any instructions out (or put them in the “wrong” order), the results might not be what you expect.

Demonstration

  • One person is the program, and another person is the computer.
  • The computer has to do literally what the program says to do!
Next: Programming Fundamentals