Jan-13 - Jan-19
- Assignments:
- Wed, Jan 15 Lecture: Class Cancelled
Jan-20 - Jan-26
- Assignments:
- Mon, Jan 20 Lecture: Class cancelled for MLK Day
- Wed, Jan 22 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:
Jan-27 - Feb-02
- Assignments:
- HtDP Prologue Rocket Ship LargeSoftwareProject: Assigned on Wed, Jan 29 | Starter Code
- First Functions ProblemSet: Assigned on Wed, Jan 29 | Starter Code
- Mon, Jan 27 Lecture: Designing Functions I
- Wed, Jan 29 Lecture: Functions, Design, and Manipulating Images
- Topics:
- Images as values
- Definitions
- Table method
- Animation
- Preparation:
- Extra Resources:
Feb-03 - Feb-09
- Assignments:
- Designing with Conditionals Quiz: Assigned on Wed, Feb 05
- Mon, Feb 03 Lecture: Aliens Coordinates; Making Decisions
- Topics:
- The Aliens Attack Project(s)
- Logical coordinates vs image coordinates
- Alien Design
- booleans
- intervals
- enumerations
- designing with conditionals
- Preparation:
-
๐
Ch. 4 "Animated Problem Solving"
-
๐
Ch. 5 "Animated Problem Solving"
- Extra Resources:
- Wed, Feb 05 Lecture: Designing Aliens Attack version 1
- Topics:
- interactive simulations
- big-bang library
- WorldState data definitions
- on-key
- on-draw
- Preparation:
- Extra Resources:
Feb-10 - Feb-16
- Assignments:
- Aliens Attack Version 1 LargeSoftwareProject: Assigned on Wed, Feb 12 | Starter Code
- Mon, Feb 10 Lecture: Structured Data & Defining structs
- Topics:
- 2D Posns
- Compound datatypes
- Defining structures
- Functions w/structured data
- Preparation:
- Extra Resources:
- Wed, Feb 12 Lecture: Open lab practice session
- Preparation:
-
๐
Ch 8, "Animated Problem Solving"
- Extra Resources:
Feb-17 - Feb-23
- Assignments:
- Aliens Attack Version 2 LargeSoftwareProject: Assigned on Mon, Feb 17 | Starter Code
- Mon, Feb 17 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, Feb 19 Lecture: Structures and Variety
- Topics:
- Unions
- Structs and Variety
- Preparation:
- Extra Resources:
Feb-24 - Mar-02
- Assignments:
- Mon, Feb 24 Lecture: Aliens Attack v.3
- Topics:
- adjusting process-tick
- move-shot
- draw-last-world refinement
- Preparation:
- Extra Resources:
- Wed, Feb 26 Lecture: Arbitrarily-sized Data and Lists
- Topics:
- Arbitrarily-sized Data
- Lists
- Templates for Functions on Lists
- Preparation:
- Extra Resources:
Mar-03 - Mar-09
- Assignments:
- Mon, Mar 03 Lecture: NONE - SPRING BREAK
- Wed, Mar 05 Lecture: NONE - SPRING BREAK
Mar-10 - Mar-16
- Assignments:
- Mon, Mar 10 Lecture: Designing w/Lists
- Topics:
- Searching lists
- operating over lists
- Designing by composition
- Desiging for structured data and recursive structures
- Preparation:
- Extra Resources:
- Wed, Mar 12 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:
Mar-17 - Mar-23
- Assignments:
- Mon, Mar 17 Lecture: Trees, Mutual Recursion, and Cross-product templates
- Topics:
- Preparation:
-
๐
Ch. 16 "Animated Problem Solving"
-
๐
Ch. 17 "Animated Problem Solving"
- Wed, Mar 19 Lecture: Functional Abstraction
- Topics:
- Using data abstraction over functions
- Using function abstraction over functions
- Some built in higher-order functions
- Preparation:
Mar-24 - Mar-30
- Assignments:
- Lists ProblemSet: Assigned on Mon, Mar 24 | Starter Code
- Higher-order functions ProblemSet: Assigned on Mon, Mar 24 | Starter Code
- Aliens Attack v.4: Assigned on Wed, Mar 26 | Starter Code
- Mon, Mar 24 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, Mar 26 Lecture: Local definitions and lambda abstraction
- Topics:
- Local definitions and internal functions
- functions as values
- anonymous functions
- Preparation:
Mar-31 - Apr-06
- Assignments:
- Mon, Mar 31 Lecture: Big Daily Quiz
- Wed, Apr 02 Lecture: Aliens Attack v.5
- Topics:
- Aliens Ch. 5
- Encapsulation
- Abstraction in context
- Lambda expressions in context
- Refactoring
- Preparation:
-
๐
Ch. 23 "Animated Problem Solving"
Apr-07 - Apr-13
- Assignments:
- Lambda abstractions ProblemSet: Assigned on Wed, Apr 09 | Starter Code
- Aliens Attack v.4 Resubmit: Assigned on Wed, Apr 09 | Starter Code
- Mon, Apr 07 Lecture: Objects, object-oriented programming
- Topics:
- local blocks
- multiple behaviors
- selecting multiple behaviors
- local values, constructors
- object-oriented style programming
- Wed, Apr 09 Lecture: Loops and pattern matching
- Topics:
- "Syntax Sugar"
- Loop constructs
- Pattern matching
- Preparation:
Apr-14 - Apr-20
- Assignments:
- Mon, Apr 14 Lecture: Mutually Recursive Data
- Topics:
- Preparation:
- Extra Resources:
- Wed, Apr 16 Lecture: Interfaces
- Topics:
- Preparation:
-
๐
Ch. 25, "Animated Problem Solving"
Apr-21 - Apr-27
- Assignments:
- Aliens Attack v.6/7: Assigned on Wed, Apr 23
- Mon, Apr 21 Lecture: Class cancelled - school closed
- Wed, Apr 23 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"
Apr-28 - May-04
- Assignments:
- Aliens Attack v.6/7: Assigned on Wed, Apr 30
- Mon, Apr 28 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, Apr 30 Lecture: Aliens Attack v.7
May-05 - May-11
- Assignments:
- Mon, May 05 Lecture: Aliens Attack v.8
- Topics:
- Preparation:
-
๐
Ch. 28, "Animated Problem Solving"
- Extra Resources: