[Matthias's lecture]
Computer Science should not just be tolerated in high school.
It should be a core course like English or Algebra. To get there,
we need to understand what it really is about.
How we can make it one -- the goals of TeachScheme!
Computer Science is not about computers. Just like astronomy is
not about telescopes, biology is not about microscopes, etc.
The discipline is about about computation and programming, solving
problems by applying systematic, computational thinking. It's --
creative mathematics. Instead of beging given functions, you come
up with functions. If math is for everyone, then
computing and programming is useful for everyone.
It's just more fun and brings home the point better. But to do so, we
need curricula, languages, and tools that help everyone, not just the
annoited few who know how to cope with myriads of grammar rules.
-------------------------------------------------------------------
Examples:
* right angle: 3-4-5 rule
* mid-point between two points
* conversion of temperature
Demo two different versions on overhead
What's the essence of this program: the conversion rule
- consumes degrees according to Celsius
- produces degrees according to Fahrenheit
- when we apply it to 0C, we get 32F: that's a computation
We should be able to do just that w/o the peripheral stuff (GUIs, repl,
files)
Points:
PROGRAM is a mechanism that consumes some class of information
and produces a class of information in response, "big" examples
COMPUTATION is the process when a program consumes a particular
piece of information, works with it, and produces some
information in response
INFORMATION: some knowledge about the world
-------------------------------------------------------------------
Time to learn programming with Scheme and see how simple it is:
Simple expressions
arithmetic Scheme expressions
nested exp ...
temp conversion ...
more ...
name rules Scheme definitions
Computation
Scheme arithmetic => number
nested exp => nested reductions
function app => replace and substitute
Emphasize values, expressions, reduction rules.
More Examples:
- celsius -> kelvin
NO REUSE REUSE
- area of disk: Scheme + calculation
- area of ring (disk with hole): Scheme + calculation
NO REUSE REUSE
-------------------------------------------------------------------
THE BASIC RECIPE (p21): specify, make examples, define, test
[Kathi: remind them to write short, concise, pithy purpose stmts]
-------------------------------------------------------------------
THE PRINCIPLE: compose functions
the movie theater example -- in class, show both
|
LAB |