Jan-15 - Jan-21
- Assignments:
- Wed, Jan 17 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-22 - Jan-28
- Assignments:
- HtDP Prologue Rocket Ship LargeSoftwareProject: Assigned on Wed, Jan 24 | Starter Code
- First Functions ProblemSet: Assigned on Wed, Jan 24 | Starter Code
- Mon, Jan 22 Lecture: Manipulating Images
- Topics:
- Images as values
- Definitions
- Designing functions
- Preparation:
- Extra Resources:
- Wed, Jan 24 Lecture: Functions & Design
- Topics:
- Designing Functions
- Table method
- Animation
- Purpose statements and prompt engineering
- Preparation:
- Extra Resources:
Jan-29 - Feb-04
- Assignments:
- Aliens Attack 0 LargeSoftware: Assigned on Wed, Jan 31 | Starter Code
- Mon, Jan 29 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, Jan 31 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:
Feb-05 - Feb-11
- Assignments:
- Designing with Conditionals Quiz: Assigned on Mon, Feb 05
- Aliens Attack Version 1 LargeSoftwareProject: Assigned on Wed, Feb 07 | Starter Code
- Mon, Feb 05 Lecture: Making Decisions
- Topics:
- booleans
- intervals
- enumerations
- designing with conditionals
- Preparation:
-
๐
Animated Problem Solving Ch. 5
- Extra Resources:
- Wed, Feb 07 Lecture: Designing Aliens Attack version 1
- Topics:
- interactive simulations
- big-bang library
- WorldState data definitions
- on-key
- on-draw
- Preparation:
- Extra Resources:
Feb-12 - Feb-18
- Assignments:
- Structures ProblemSet: Assigned on Mon, Feb 12 | Starter Code
- Mon, Feb 12 Lecture: Structured Data & Defining structs
- Topics:
- 2D Posns
- Compound datatypes
- Defining structures
- Functions w/structured data
- Preparation:
- Extra Resources:
- Wed, Feb 14 Lecture: Open lab practice session
- Preparation:
-
๐
Ch 8, "Animated Problem Solving"
- Extra Resources:
Feb-19 - Feb-25
- Assignments:
- Aliens Attack Version 2 LargeSoftwareProject: Assigned on Mon, Feb 19 | Starter Code
- Mon, Feb 19 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 21 Lecture: Structures and Variety
- Topics:
- Unions
- Structs and Variety
- Preparation:
- Extra Resources:
Feb-26 - Mar-03
- Assignments:
- Mon, Feb 26 Lecture: Aliens Attack v.3
- Topics:
- adjusting process-tick
- move-shot
- draw-last-world refinement
- Preparation:
- Extra Resources:
- Wed, Feb 28 Lecture: Arbitrarily-sized Data and Lists
- Topics:
- Arbitrarily-sized Data
- Lists
- Templates for Functions on Lists
- Preparation:
- Extra Resources:
Mar-04 - Mar-10
- Assignments:
- Mon, Mar 04 Lecture: NONE - SPRING BREAK
- Wed, Mar 06 Lecture: NONE - SPRING BREAK
Mar-11 - Mar-17
- Assignments:
- Mon, Mar 11 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 13 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-18 - Mar-24
- Assignments:
- Higher-order functions ProblemSet: Assigned on Wed, Mar 20 | Starter Code
- Mon, Mar 18 Lecture: Trees, Mutual Recursion, and Cross-product templates
- Topics:
- Preparation:
-
๐
Ch. 16 "Animated Problem Solving"
-
๐
Ch. 17 "Animated Problem Solving"
- Wed, Mar 20 Lecture: Functional Abstraction
- Topics:
- Using data abstraction over functions
- Using function abstraction over functions
- Some built in higher-order functions
- Preparation:
Mar-25 - Mar-31
- Assignments:
- Lambda abstractions ProblemSet: Assigned on Wed, Mar 27 | Starter Code
- Mon, Mar 25 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 27 Lecture: Local definitions and lambda abstraction
- Topics:
- Local definitions and internal functions
- functions as values
- anonymous functions
- Preparation:
Apr-01 - Apr-07
- Assignments:
- Mon, Apr 01 Lecture: Big Daily Quiz
- Wed, Apr 03 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-08 - Apr-14
- Assignments:
- Mon, Apr 08 Lecture: Loops and pattern matching
- Topics:
- "Syntax Sugar"
- Loop constructs
- Pattern matching
- Preparation:
- Wed, Apr 10 Lecture: Thanksgiving Break - Class is Cancelled
Apr-15 - Apr-21
- Assignments:
- Mon, Apr 15 Lecture: Interfaces
- Topics:
- Preparation:
-
๐
Ch. 25, "Animated Problem Solving"
- Wed, Apr 17 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-22 - Apr-28
- Assignments:
- Aliens Attack v.6/7: Assigned on Wed, Apr 24
- Mon, Apr 22 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 24 Lecture: Aliens Attack v.7
Apr-29 - May-05
- Assignments:
- Mon, Apr 29 Lecture: Aliens Attack v.8
- Topics:
- Preparation:
-
๐
Ch. 28, "Animated Problem Solving"
- Extra Resources:
- Wed, May 01 Lecture: Mutually Recursive Data
- Topics:
- Preparation:
- Extra Resources: