[PLT logo] TeachScheme! 2000

July 10-14, 2000

Details for Monday morning


 [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 

[Point] LAB

Generated on: Thu Aug 31 09:41:36 CDT 2000