Aug-28 - Sep-03
- Assignments:
- Syllabus Quiz: Assigned on Mon, Aug 28
- Basic Environment Setup Quiz: Assigned on Wed, Aug 30 | Starter Code
- Mon, Aug 28 Lecture: Basic Calculations with Dr Racket
- Topics:
- Course Introduction
- Questions
- Basic moving about
- Basic data types
- Parentheses
- Language documentation and help
- Interactions & definitions windows
- Preparation:
- Wed, Aug 30 Lecture: Manipulating Images
- Topics:
- Images as values
- Definitions
- Designing functions
- Preparation:
- Extra Resources:
Sep-04 - Sep-10
- Assignments:
- HtDP Prologue Rocket Ship LargeSoftwareProject: Assigned on Wed, Sep 06 | Starter Code
- First Functions ProblemSet: Assigned on Wed, Sep 06 | Starter Code
- Mon, Sep 04 Lecture: Labor Day - Class is Cancelled
- Wed, Sep 06 Lecture: Functions & Design
- Topics:
- Designing Functions
- Table method
- Animation
- Purpose statements and prompt engineering
- Preparation:
- Extra Resources:
Sep-11 - Sep-17
- Assignments:
- Aliens Attack 0 LargeSoftware: Assigned on Wed, Sep 13
- Mon, Sep 11 Lecture: Open lab practice session
- Topics:
- Practicing designing functions
- Practicing working in groups
- Practice with the BSL docs and APIs
- Extra Resources:
-
Porpoise (URL provided in class)
- Wed, Sep 13 Lecture: Designing Aliens Attack 0
- Topics:
- The Aliens Attack Project(s)
- Logical coordinates vs image coordinates
- Alien Design
- Using Github, source code version control
- Preparation:
-
๐
Ch. 4 "Animated Problem Solving"
- Extra Resources:
Sep-18 - Sep-24
- Assignments:
- Designing with Conditionals Quiz: Assigned on Mon, Sep 18
- Aliens Attack Version 1 LargeSoftwareProject: Assigned on Wed, Sep 20 | Starter Code
- Mon, Sep 18 Lecture: Making Decisions
- Topics:
- booleans
- intervals
- enumerations
- designing with conditionals
- Preparation:
-
๐
Animated Problem Solving Ch. 5
- Extra Resources:
- Wed, Sep 20 Lecture: Designing Aliens Attack version 1
- Topics:
- interactive simulations
- big-bang library
- WorldState data definitions
- on-key
- on-draw
- Preparation:
- Extra Resources:
Sep-25 - Oct-01
- Assignments:
- Structures ProblemSet: Assigned on Mon, Sep 25 | Starter Code
- Mon, Sep 25 Lecture: Structured Data & Defining structs
- Topics:
- 2D Posns
- Compound datatypes
- Defining structures
- Functions w/structured data
- Preparation:
- Extra Resources:
- Wed, Sep 27 Lecture: Open lab practice session
- Preparation:
-
๐
Ch 8, "Animated Problem Solving"
- Extra Resources:
Oct-02 - Oct-08
- Assignments:
- Mon, Oct 02 Lecture: Aliens Attack v.2
- Topics:
- Refining code
- Subtyping
- Errors and error handling
- format strings
- stop-when? and ending games
- Preparation:
-
๐
Ch 9, "Animated Problem Solving"
- Wed, Oct 04 Lecture: Structures and Variety
- Topics:
- Unions
- Structs and Variety
- Preparation:
- Extra Resources:
Oct-09 - Oct-15
- Assignments:
- Mon, Oct 09 Lecture: NONE - FALL BREAK
- Wed, Oct 11 Lecture: NONE - CLASS CANCELLED
Oct-16 - Oct-22
- Assignments:
- Mon, Oct 16 Lecture: Aliens Attack v.3
- Topics:
- adjusting process-tick
- move-shot
- draw-last-world refinement
- Preparation:
- Extra Resources:
- Wed, Oct 18 Lecture: Arbitrarily-sized Data and Lists
- Topics:
- Arbitrarily-sized Data
- Lists
- Templates for Functions on Lists
- Preparation:
- Extra Resources:
Oct-23 - Oct-29
- Assignments:
- Mon, Oct 23 Lecture: Designing w/Lists
- Topics:
- Searching lists
- operating over lists
- Designing by composition
- Desiging for structured data and recursive structures
- Preparation:
- Extra Resources:
- Wed, Oct 25 Lecture: Aliens Attack v.4
- Topics:
- Adding Lists of aliens
- Refining the world
- Refining the shot data definition
- Adding multiple shots at once
- Refining draw world
- Numbers as structured data
- Preparation:
-
๐
Ch. 14, "Animated Problem Solving"
-
๐
Ch. 15, "Animated Problem Solving"
-
๐
Ch. 16, "Animated Problem Solving"
- Extra Resources:
Oct-30 - Nov-05
- Assignments:
- Higher-order functions ProblemSet: Assigned on Wed, Nov 01 | Starter Code
- Mon, Oct 30 Lecture: Trees, Mutual Recursion, and Cross-product templates
- Topics:
- Preparation:
-
๐
Ch. 16 "Animated Problem Solving"
-
๐
Ch. 17 "Animated Problem Solving"
- Wed, Nov 01 Lecture: Functional Abstraction
- Topics:
- Using data abstraction over functions
- Using function abstraction over functions
- Some built in higher-order functions
- Preparation:
Nov-06 - Nov-12
- Assignments:
- Lambda abstractions ProblemSet: Assigned on Wed, Nov 08 | Starter Code
- Mon, Nov 06 Lecture: Open lab practice session
- Topics:
- Practicing designing higher-order functions
- Practicing working in groups
- Practice with the ISL+ docs and APIs
- Extra Resources:
- Wed, Nov 08 Lecture: Local definitions and lambda abstraction
- Topics:
- Local definitions and internal functions
- functions as values
- anonymous functions
- Preparation:
Nov-13 - Nov-19
- Assignments:
- Mon, Nov 13 Lecture: Big Daily Quiz
- Wed, Nov 15 Lecture: Aliens Attack v.5
- Topics:
- Aliens Ch. 5
- Encapsulation
- Abstraction in context
- Lambda expressions in context
- Refactoring
- Preparation:
-
๐
Ch. 23 "Animated Problem Solving"
Nov-20 - Nov-26
- Assignments:
- Mon, Nov 20 Lecture: Loops and pattern matching
- Topics:
- "Syntax Sugar"
- Loop constructs
- Pattern matching
- Preparation:
- Wed, Nov 22 Lecture: Thanksgiving Break - Class is Cancelled
Nov-27 - Dec-03
- Assignments:
- Mon, Nov 27 Lecture: Interfaces
- Topics:
- Preparation:
-
๐
Ch. 25, "Animated Problem Solving"
- Wed, Nov 29 Lecture: Introduction to Distributed Programming
- Topics:
- What is a distributed program?
- Distributed programming model
- Design recipe for distributed programming
- 2htdp/universe
- Preparation:
-
๐
Ch. 26, "Animated Problem Solving"
Dec-04 - Dec-10
- Assignments:
- Aliens Attack v.6/7: Assigned on Wed, Dec 06
- Mon, Dec 04 Lecture: Aliens Attack v.6
- Topics:
- Protocol diagrams and lifeline diagrams
- Understanding the 2htdp/universe model
- An example distributed programming application
- ping, IP addresses, shell prompt
- Preparing to make a game distributed
- Preparation:
-
๐
Ch. 27, "Animated Problem Solving"
- Extra Resources:
- Wed, Dec 06 Lecture: Aliens Attack v.7
Dec-11 - Dec-17
- Assignments:
- Mon, Dec 11 Lecture: Aliens Attack v.8
- Topics:
- Preparation:
-
๐
Ch. 28, "Animated Problem Solving"
- Extra Resources:
- Wed, Dec 13 Lecture: Mutually Recursive Data
- Topics:
- Preparation:
- Extra Resources: