CS 222

Logo

Programming Languages

This schedule is subject to change. Check back frequently for new assignments and deadlines. Readings (⚐) are due on the day listed and assignments (☆) are announced on the day listed. Additional materials include lecture notes (◄) and related readings (⚑).

Date Day Topic Resources Assignments
8/19 W Intro & syllabus Semicolon Wars
A History of Languages
An Introduction to Swift
Welcome
Teams Intro
8/21 F Small group discussion on Tucker & Noonan; due: Teams Intro Tucker & Noonan Ch1
[discussion in Teams]
Intro
Lab 1
SOLUTION
8/24 M Writing assignment Mead 1 - 2.2.2
How a translator works
Writing Project
8/26 W Syntactic analysis: regular expressions, regular grammars Mead 2.2.3 - 2.3
Syntactic analysis
In-Teams: REs and RGs
[additional Git/GitHub resources]
Environment setup
8/28 F Syntactic analysis: context free grammars; due: Lab 1 Lab 2
SOLUTION
8/31 M Library liason Zach Sharrow; In-Teams: CFGS
9/2 W Semantic analysis Mead 2.4
Semantic Analysis
9/4 F FSM; due: Environment Setup Mead 3 - 5
FSM
In-class: FSMs
SOLUTION
9/7 M PDef language; due: Lab 2 Mead 11-12
PDef & Java
Java in 21 Minutes
Oracle: Java Tutorial
☆ Project 1 - PDef Tokenizer (on GitHub)
9/9 W Work on Project 1
9/11 F Review; due: Team, Topic, and Sources
9/14 M Review; Notes
9/16 W Values, type, and type equivalence Types
9/18 F Values, type, and type equivalence; due: Project 1 Mead 6
9/21 M Top-down parsing Top-down parsing
9/23 W Top-down parsing (continued)
9/25 F EXAM, due: Revised Description Studyguide and instructions
9/28 M Library liason Zach Sharrow In-class: LL(1)
SOLUTION
Lab 3
SOLUTION
9/30 W Work on Project 2 Mead 13
☆ Project 2 - PDef Parser (GitHub)
SOLUTION
10/2 F Work on Project 2
10/5 M Work on assignments
10/7 W Fall Break - no class
10/9 F Bottom up parsers; due: Annotated Bibliography, due: Lab 3 Bottom up parsing
In-class: Shift-reduce
10/12 M Outlining Writing Center Workshop by Lynette Mattson
10/14 W ASTs & Java Abstract Classes; Mead 7
Java Abstract Classes
ASTs
10/16 F More on ASTs; srcML
ASTs for source code analysis
10/19 M Work day with open office hours
10/21 W due: Elevator Speeches; due: 10/22 11:59pm Project 2 (no tokens)
10/23 F Start project 3 Mead 14
Project 3
10/26 M Work on Project 3
10/28 W FP concepts; due: Draft Chapter FP Concepts
Optional Extra Credit
In-class: FP
10/30 F Haskell - Literate Programming Install Haskell
Haskell 1-2
Peer Review
In-class: Haskell 1
11/2 M Haskell - Functions; Note: Daylight Savings Haskell 3
In-class: Haskell 2
11/4 W No class
11/6 F Haskell - Lists; due: Peer Review In-class: Haskell 3
11/9 M Concision Writing Center Workshop by Gillian Lee
11/11 W Haskell - Pattern Matching and Functional Loops Haskell 4
In-class: Haskell 4
11/13 F Haskell - List Mapping and Folding; due: Project 3 In-class: Haskell 5
11/16 M Haskell 5
In-class: Haskell 6
11/18 W Presentations; due: Final chapter & presentation Instructions
In-class: Presentations Round 1
11/20 F Presentations In-class: Presentations Round 2
11/23 M Presentations In-class: Presentations Round 3
11/25 W Thanksgiving - no class
11/27 F Thanksgiving - no class
12/7 M [Exam Day] Final project presentations overflow @ 12:00pm - 2:30pm