Code Camp

Link to draft camp page

Welcome message

Two hours per day for 14 days

(28 sessions that are about one hour each)

Establish theme, missions. Quiz at each gives the code for the next (escape room type scenario).

NOTE: The titles below are working titles, would be modified to something more learner-friendly for the camp.

  1. What is a computer
    1. Simple/early Computers
    2. On/Off
    3. Binary
      1. Turing Machine (see)
      2. Binary Increment Turing Machine (Rev B)*
        1. See: https://turingmachine.io/
      3. Letters and symbols from binary
        1. lists and arrays
        2. Other data types
    4. Logic
      1. Booleo game
      2. Half Adder
      3. Full Adder (video)(paper calculator)
    1. Instruction set architecture (simplified)
      1. Visual 6502
      2. Notice for the turing machine that the instructions are just data.
  2. What is software
    1. Machine Code
    2. Assembly Language
    3. High-Level Languages
    4. Abstraction
      1. “Black box” idea
    5. Compiling & Interpreting
    6. Data & Processes/procedures
      1. Primitive Expressions1
      2. Means of combination
      3. Means of abstraction
  3. Hello World
    1. Hello Snap!
    2. Hello C++
    3. Hello Java
    4. Hello Python
    5. Hello Ruby
    6. Hello Lisp (see) (short reference)
    7. Hello Assembly (see)
    8. Hello Machine Code (see)
  4. Expressions
    1. Evaluation
  5. Variables
    1. What’s in the envelope?
    2. Strings
    3. Numbers
      1. Integer
      2. Real
    4. [Environment / Scope]
      1. Nesting, block structure
  6. Combine & Compare
    1. Logical Composition
      1. (and <e1> … <en>)
      2. (or <e1> … <en>)
      3. (not <e>)
    2. Conditional Statement
      1. (if <predicate> <consequent> <alternative>)
  7. Functions
    1. Control flow
    2. Looping
      1. Iteration & Recursion (SICP)
        1. Factorial
        2. Fibonacci (See SICP – two approaches)
        3. Ackermann Function (video)
  8. Libraries
  9. Applications

Career paths…

References

http://ddi-mod.uni-goettingen.de/ComputerScienceWithSnap.pdf

https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-4.html

UM PORTAL: https://www.memphis.edu/esarp/nsf_cps/camp2020.php

SNAP! Manual

https://www.youtube.com/watch?v=cNN_tTXABUA