What is Computing and Programming?

What exactly are we doing when we write a program? Well, in essence, we are telling the computer what to do. It's the same thing as telling a person what to do.

For example, you can tell a person in English the following:

  1. Walk straight until the subway station
  2. Take the blue line for 2 stations
  3. Get off and Buy a cup of coffee

The reason why a person understands you is because a human can interpret your words. This same requirement goes for computers. When you tell a computer a set of instructions, you have to express it in a language that a computer will understand. We usually generalize these languages as "computer codes", but, specifically, they can be identified as "JavaScript" or "Ruby" which are programming languages.

Some humans can interpret English, but not Chinese. Computers are the same. Some computers can interpret Ruby but not Python (unless you install the right software). This course is the same as learning a new language, a new way of expression, in our case, for computers.

We are going to be a Harvard student for once

CS50 is an introductory Computer Science course at Harvard University and one of the most popular online CS courses in the world. David Malan made the entire course extremely fun and engaging.

I want you to watch the first lecture of CS50. It will give you an understanding of why Computer Science is useful for many industries and excite you with the possibilities.

Previews of CS50's first lecture

  • How are data / information / values represented on computers?
  • What is Binary (vs. Decimal)?
  • The function of a computer is to take inputs, process inputs through a set of procedures and return an output. Inputs -> Processing -> Output
  • What is Divide and Conquer?
    • The Attendance Algorithm
    • The Phonebook Algorithm
  • What does it mean to design elegant solutions to problems?

Please watch from 0 to 31 mins

Human Instructions vs. Computer Instructions

Before writing actual code, we can first design what we want to do and express our logics in pseudo-code, which means expressing computer instructions in plain English intended for human reading rather than machine reading. In the following video of CS50, you will learn about the characteristics between human instructions and computer instructions.

Please watch from 12m42s to 22m30s

Computers will only do exactly what you tell it. So, it has to be precise because it's dumb and it doesn't have assumptions we humans do.

Write a program just by drag-and-dropping

To get a feel of what programming is like, you are going to try it immediately without prior knowledge of different programming language syntaxes and rules (you are going to try speaking Italian without knowing it at all). In the following exercise, you will be drag-and-dropping blocks on screen to build programs that will solve problems.

Go to Blockly Games: Maze and try to help the "human" reach the destination. Move the blocks to form procedures, and hit "run" to test out your programs.

See how many levels you can finish. It gets difficult after Level 7. Try your best to attempt them all.

Summary

By now, you know that computers represent information and understand instructions in a specific way. Computers can only interpret precise instructions in a specific way of expression.

Lastly, watch Steve Jobs on Programming. Here, Steve Jobs talks about how programming teaches you how to think.

results matching ""

    No results matching ""