CS 355 - Fall 2022: Schedule

Weekly Schedule

This is a very tentative schedule, and it is subject to change. Listed are specific activities to take place during certain class sessions and the concepts we will be learning.
Refer to the course's Moodle for up-to-date details.

Wk Date Plan
1 08/30 Tue Overview: Language Features, "Paradigms"
09/01 Thu
2 09/06 Tue Syntax, Semantics, Parsing, & Interpretation
09/08 Thu
3 09/13 Tue Functional Programming
  • Recursion
  • First-class functions
  • Lexical scope / closures
  • Callback functions
  • Lambdas / anonymous functions
  • Currying / partial application
09/15 Thu
4 09/20 Tue Exam 0
09/22 Thu Functional Programming (cont.)
5 09/27 Tue
09/29 Thu
6 10/04 Tue
10/06 Thu Exam 1
7 10/11 Tue Types & Typing
  • Static vs Dynamic
  • Type inference
  • Union types
  • Algebraic datatypes
  • Pattern matching
10/13 Thu
8 10/18 Tue
10/20 Thu
9 10/25 Tue Memory Management & Safety
  • Manual
  • Reference counting
  • Tracing garbage collection
  • Rust's ownership model
10/27 Thu
10 11/01 Tue
11/03 Thu
11 11/08 Tue Object Oriented Programming (OOP)
  • Inheritance
  • Interfaces, traits, mixins
  • Generics, polymorphism
11/10 Thu
12 11/15 Tue Exam 2
11/17 Thu Object Oriented Programming (cont.)
13 11/22 Tue
11/24 Thu Thanksgiving Break
14 11/29 Tue Application Styles
  • Asynchronous
  • Reactive
  • Backtracking
  • Lazy
12/01 Thu
15 12/06 Tue Evaluating & Choosing Languages
12/08 Thu
16 12/15 Thu 1:15-3:15pm — Final exam period