| Week |
Days |
Date |
Lecture Topic / Slides |
Lecture Notes |
Worksheets |
Reading (CPL) |
Reading (PS) |
Assignment |
| 1 |
Wed
Mon
|
Sep 10
Sep 15
|
Overview [pdf]
Scala Pragmatics [pdf]
Scala Introduction [pdf]
|
Scala 3 Book
Scala
Week 1 Snippets
|
Java and C
Scala
|
-
|
Ch 1,2,4
|
Assignment 1 (due Sep 19)
Section 401/410
Section 402/411
|
| 2 |
Wed
Mon
|
Sep 17
Sep 22
|
Scala Classes [pdf]
Algebraic Data Types [pdf]
Pattern Matching [pdf]
Contracts [pdf]
|
Algebraic Data Types
Week 2 Snippets
|
Algebraic Data Types
|
Ch 9.1,9.2
|
Ch 3,13,19,24
|
Assignment 2 (due Sep 26)
Section 401/410
Section 402/411
|
| 3 |
Wed Mon
|
Sep 24 Sep 29
|
Formal Semantics [pdf]
Statements and Expressions [pdf]
Strict and Nonstrict Evaluation [pdf]
|
Expressions
|
Language Interpreter
|
Ch 4
|
Ch 5,7
|
Assignment 3 (due Oct 03)
Section 401/410
Section 402/411
|
| 4 |
Wed
Mon
|
Oct 01
Oct 06
|
Functions on Lists [pdf]
Methods and Functions [pdf]
Folds [pdf]
|
Functional Programming
|
Functional Programming
|
Ch 3.4.7, 5.6
|
Ch 9, 14, 15
|
Assignment 4 (due Oct 17)
Section 401/410
Section 402/411
|
| 5 |
Wed
Mon |
Oct 08
Oct 13 |
Tail Recursion [pdf]
Static/Dynamic Types [pdf]
Midterm Exam (Oct 13)
|
Tail Recursion
Static and Dynamic Types
|
Tail Recursion
|
Ch 6
|
Ch 8.10
|
- |
| 6 |
Wed
Mon
|
Oct 15
Oct 20
|
Undefined Behavior [pdf]
Safety [pdf]
Option Types [pdf]
L-Values [pdf]
Argument Passing [pdf]
|
Undefined Behavior
Option Types
|
Option Types
Argument Passing
|
Ch 13
|
-
|
Assignment 5 (due Oct 24)
Section 401/410
Section 402/411
|
| 7 |
Wed Mon
|
Oct 22 Oct 27
|
Scope and Lifetime [pdf]
Closures [pdf]
|
|
Scope and Pointers
Closures
|
Ch 7
|
Ch 8
|
Assignment 6 (due Oct 31)
Section 401/410
Section 402/411
|
| 8 |
Wed
Mon
|
Oct 29
Nov 03
|
Nested Classes [pdf]
Dynamic Dispatch and Inheritance [pdf]
Delegation-based OOP [pdf]
|
|
OOP
|
Ch 10, 12
|
Ch 10, 11, 20
|
Assignment 7 (due Nov 07)
Section 401/410
Section 402/411
|
| 9 |
Wed Mon |
Nov 05 Nov 10 |
Parametric Polymorphism [pdf]
Subtyping [pdf]
|
|
Subtyping
|
Ch 6.4
|
Ch 17,18
|
Assignment 8 (due Nov 14)
Section 401/410
Section 402/411
|
| 10 |
Wed Mon |
Nov 12 Nov 17 |
Surprising Design Decisions [pdf]
Exam Review [pdf]
|
|
JavaScript
|
- |
- |
- |
| 11 |
|
|
Final Exam, in-person students: for day and time see Final Exam Schedule; online students: please register through D2L
|
This course requires worksheets to be completed each week.
The purpose is to provide support structure for your study and to provide better coverage of routine introductory exercises prior to completing more challenging homework assignments.
You are welcome to ask questions about the worksheets on the D2L forum.