Schedule
Dates | Topic |
---|---|
Week 1 8/25 β 8/31 |
1. Imperative programming.
Assigned: |
Week 2 9/1 β 9/7 |
2. Variables and functions.
Discussion on set up experience. Turtle lab recap. Introduction to functions in two metaphors: decomposing tasks and learning new words. Getting comfortable with the Terminal. Reminders. Assigned: |
Week 3 9/8 β 9/15 |
3. Control structures.
Writing more complex programs using control structures. Program tracing and debugging. Using external libraries, reading documentation. Introduction to Superturtle. Assigned: |
Week 4 9/15 β 9/21 |
4. Planning.
Planning with drawings, pseudocode, and other diagrams. Decomposition and code reuse. Types as contract between functions. Discuss statically- and dynamically-typed languages. Drawing project proposal due. Assigned: |
Week 5 9/22 β 9/28 |
5. Functional programming.
Recap of Unit 1 Drawing, onto Unit 2 Data Science. Assigned: |
Week 6 9/29 β 10/5 |
6. Processing data.
Updated schedule. Updates on Drawing Project. Walkthrough of Scatter Lab. Assigned: |
Week 7 10/6 β 10/12 |
7. Distributed computing.
Dictionaries. Interaction with remote APIs, distributed computing. Comparing functional programming within a program (functions), on one computer (pipes), and across computers (APIs). Assigned: Project Due on 10/6: 1.6 Drawing project |
Week 8 10/13 β 10/19 |
8. Data science tools.
Introduction to Pandas and Jupyter notebooks. Assigned: |
Week 9 10/20 β 10/27 |
9. Debugging and testing.
Work on number words problem set. Assigned: |
Week 10 10/27 β 11/2 |
10. Object-oriented programming.
Introduction to object-oriented programming. Classes and instances. Contrast with imperative and functional programming. Assigned: Project Due on 10/27: 2.6 Argument project |
Week 11 11/3 β 11/9 |
11. Strategy.
Modeling state, game strategy, discuss the study of algorithms. Assigned: |
Week 12 11/10 β 11/16 |
12. Frameworks.
Design patterns, managing complexity through abstractions. Assigned: |
Week 13 11/17 β 11/23 |
13. Games project.
Working on our game projects. A livecoding example Assigned: |
Week 14 11/24 β 11/30 |
14. Games Project Progress.
Working on our game projects. A livecoding example |
Week 15 12/1 β 12/7 |
15. Wrap-up.
Course wrap-up, games showcase. Next steps in computer science. Project Due on 12/7: 3.5 Game project |