Whiteboard

Course Goals

Discussion on Syllabus.

Why learn the theory of computation?

Ingredients for computation:

The way one represents data affects how one computes with it.

For example, take Roman Numerals vs the Place Value System.

The distance to the moon is 238,000 miles—using the Roman system would take multiple pages to represent this number.

This also applies to algorithms as well.

For example, take multiplication.

Algorithms where $\log i$ is # digits and $i_1,\,i_2$ are numbers:

Clearly, a bad algorithm can make or break computation.

A good algorithm on a weaker computer >>> a bad algorithm on a modern computer

The best algorithm for multiplication is $\mathcal{O}(n\log n)$

What can/can’t you actually compute? (Can a computer solve problem $P$?)