Tentative schedule for CIS 343

Week Date Topics Reading Milestones
1 Mon. 29 Aug. Inroduction
Why Study Programming Langauges? (notes)
Sections 1.1 Assign First Day Survey
Assign In-Class 1: Ice Breaker
Wed. 31 Aug. Tradeoffs in Programming Languages (notes)
Intro to Connect 4 project
Sections 1.3 - 1.7
Connect 4
Assign In-Class 2: Tradeoffs
Assign Project 1: Connect 4 in C
Fri. 2 Sep. Functional Programming
Motivation and Installation of Kawa
Scheme Expressions and Functions
Scheme binding ("let") and debugging
Sections 15.1-15.5
Video 01
Video 02
Video 03
Assign In-Class 3: Intro to Kawa Scheme
Due Homework 1: Tests for Connect 4
2 Mon. 5 Sep. No Class
Wed. 7 Sep. More tradeoffs
Fri. 9 Sep. More functional programming intro
3 Mon. 12 Sep. Functional Programming
Kawa conditionals
Kawa recursion
Video 04 Assign Project 2: Connect 4 in Scheme
Due Project 1: Connect 4 in C
Wed. 14 Sep. Using Symbols as Data
Functional Programming Lists
 
Names, Bindings, and Scopes
Video 05
Video 06
Video 07
Sections 5.1-5.3
Assign Project 2: Connect 4 in Scheme
Fri. 16 Sep. First class functions
4 Mon. 19 Sep. First-class functions Video 08
Wed. 21 Sep. First-class functions Sections 5.4-5.8 Assign In-Class 4: Names and Bindings
Fri. 23 Sep. Project work day
5 Mon. 26 Sep. Names, Bindings, and Scopes (notes) Assign In-Class 5: Scope
Wed. 28 Sep. Names, Bindings, and Scopes (notes)
Closures
Due Project 2: Connect 4 in Scheme
Fri. 30 Sep. Data Types (notes) Sections 6.3, 6.4, 6.14
6 Mon. 3 Oct. Data Types (notes)
Wed. 5 Oct. Data Types (notes) Due Project 2: Connect 4 in Scheme
Assign Project 3: Connect 4 in JavaScript
Fri. 7 Oct. Quiz 1
7 Mon. 10 Oct. JavaScript (notes) Sample Code
Wed. 12 Oct. JavaScript (notes) Deconstructring objects
Fri. 14 Oct. Quiz 2
8 Mon. 17 Oct. Review Scheme reduce/fold
JavaScript decnstruction
JavaScript method calling (call, bind)
Wed. 19 Oct. JavaScript Promises
Fri. 21 Oct. Quiz 3 Due Project 3: Connect 4 in JavaScript
9 Mon. 24 Oct. Fall Break, No Class
Wed. 26 Oct. Promises
JavaScript unit testing with Jest
| Sample Code Assign Term Paper : Term Paper
Fri. 28 Oct. Abstract Data Types (notes) Sections 11.1, 11.2, 11.3, 11.5, 11.6, 11.7
10 Mon. 31 Oct. Object-Oriented (notes) Sections 12.1, 12.2, 12.3
Wed. 2 Nov. More OO Assign Project 4: Connect 4 in Ruby
Fri. 4 Nov. Ruby (notes)
Ruby Assign In-Class 6: Ruby
11 Mon. 7 Nov. Ruby
Wed. 9 Nov. Ruby  
Fri. 11 Nov. Quiz 4 JavaScript and make-up Scheme
12 Mon. 14 Nov. More OO
Reflection (notes)
Wed. 16 Nov. TBD
Fri. 18 Nov. Quiz 5 binding, ADT, OO, and Polymorphism
13 Mon. 21 Nov. Syntax and Semantics Sections 3.1, 3.2, 3.3, 3.5.0
Wed. 23 Nov. Thanksgiving Break. No Class
Fri. 25 Nov. Thanksgiving Break. No Class
14 Mon. 28 Nov. Syntax and Semantics Sections 3.5
Wed. 30 Nov. TBD
Fri. 2 Dec.
15 Mon. 5 Dec. TBD
Wed. 7 Dec.
Fri. 9 Dec.
16 Mon. 12 Dec.
Wed. 14 Dec. Final Exam: 10:00 a.m. or noon

Assignment List

Due Name Details
Fri. 2 Sep. Homework 1: Tests for Connect 4
Mon. 12 Sep. Project 1: Connect 4 in C
Wed. 5 Oct. Project 2: Connect 4 in Scheme
Fri. 21 Oct. Project 3: Connect 4 in JavaScript

Labs

Date Name Details

Updated Sunday, 27 November 2022, 8:48 PM

W3c Validation