Lectures

There is no official textbook for SPIS, but the following free online textbook (co-authored by Niema) is a great resource: https://stepik.org/course/56730/promo

Another free online textbook, that includes both Picobot and an intro to Python: https://www.cs.hmc.edu/twiki/bin/view/CSforAll/

Week 1

  • Sunday (7/31) — SPIS Orientation Session

  • Monday (8/1)

  • Tuesday (8/2)

  • Wednesday (8/3)

    • Python Identifiers, Variables, Assignments, Expressions, Scope, If - part 1 (Lecture Notes)

    • Python Identifiers, Variables, Assignments, Expressions, Scope, If - part 2 (Lecture Notes)

  • Thursday (8/4)

    • APS Discussion

    • Python while and for (each) loops (Lecture Notes)

    • Facets

  • Friday (8/5)

Week 2

  • Monday (8/8)

    • Turtle, references: pdf

    • Begin Recursion (slides)

  • Tuesday (8/9)

  • Wednesday (8/10)

  • Thursday (8/11)

    • APS Discussion

    • References and mutability (part 1)

  • Friday (8/12)

    • References and mutability (part 2)

    • Breadth/Depth

      • Breadth - TBD

      • Depth - More recursion and references, plus 'Ask me Anything' about FOCS lectures from weeks 1-2 (notes)

Week 3

  • Monday (8/15)

    • Binary numbers: pdf

    • Logic gates and computer architecture: pdf

  • Tuesday (8/16)

  • Wednesday (8/17)

  • Thursday (8/18)

    • APS Discussion

    • Markov Chains, Dictionaries, and Files: slides

  • Friday (8/19)

    • Probability and Naive Bayes classification: slides

    • Breadth/Depth

      • Breadth - Music/Sound in Python (notes)

      • Depth - TBD

Week 4

  • Monday (8/22)

  • Tuesday (8/23)

    • APS: Dynamic Programming: slides

    • Event Handling: pdf

  • Wednesday (8/24) - Introduction to the Project Areas

  • Thursday (8/25)

    • Work on Final Projects

  • Friday (8/26) - Work on Final Projects

Week 5

  • Monday (8/29) — Work on Final Projects

  • Tuesday (8/30) — Work on Final Projects

  • Wednesday (8/31) — Work on Final Projects

  • Thursday (9/1) — Work on Final Projects

  • Friday (9/2) — Work on Final Projects