CS101 Big Ideas

< CS101

Foreshadowing: very briefly, here are a few big ideas that we'll see over the quarter. Some of these are intuitive, and some will be a surprise.

1. Algorithm

An "algorithm" is the idea or plan of how to compute something - e.g. the algorithm to produce a bluescreen image from two images. When you are programming, writing code, you are taking the algorithmic idea and translating it to code the computer understands.

2. Code vs. Data

Data is just the passive information, while "code" defines the active plan followed by the computer. A JPEG vs. an "app" on your phone. Both code and data both exist in the dry, mechanical domain in the computer.

3. Code is very mechanical

The computer runs whatever code it is given mechanically. That is not the same as thinking! Writing code in CS101, you'll get a real appreciation for this idea.

Followup ideas...

4. Small code, Mass data

Often the code you write will be quite short. The computer can run the short piece or code over millions of billions of data items. This is a powerful combination - the code has some insight in it, and the computer is good at applying it massively.

5. Moore's Law

Computer hardware gets significantly cheaper and more powerful year after year. E.g. 4 years ago your phone holds 4 GB of data. Now for about the same cost it holds 16 GB (4x more). That's Moore's law.