Schedule

Week Days Date Lecture Topic / Slides Lecture Notes Worksheets Reading (CPL) Reading (PS) Assignment
1 Tue

Thu

Apr 01

Apr 03

Overview [pdf]
Scala Pragmatics [pdf]
Scala Introduction [pdf]

Scala 3 Book
Scala
Collected Summaries
Week 1 Snippets
Scala
Ch 1 Ch 1,2,4 Assignment 1
(due Apr 11)
2 Tue

Thu


Apr 08

Apr 10


Scala Classes [pdf]
Statements and Expressions [pdf]
Strict and Nonstrict Evaluation [pdf]
Contracts [pdf]
Formal Semantics [pdf]
Expressions
Week 2 Snippets
Java and C Ch 4 Ch 3,5,13 Assignment 2
(due Apr 18)
3 Tue

Thu
Apr 15

Apr 17
Pattern Matching [pdf]
Functions on Lists [pdf]
Methods and Functions [pdf]
Functional Programming
Functional Programming
Ch 3 Ch 7,14 Assignment 3
(due Apr 25)
4 Tue

Thu

Apr 22

Apr 24

Folds [pdf]
Examples: Map, Filter, and Fold [pdf]
Static/Dynamic Types [pdf]
Safety [pdf]
Static and Dynamic Types
- Ch 6 Ch 9,24 Assignment 4
(due May 02)
5 Tue


Thu
Apr 29


May 01
Undefined Behavior [pdf]
Option Types [pdf]
Tail Recursion [pdf]
Midterm Exam (May 01)
Undefined Behavior
Option Types
- Ch 6 - -
6 Tue

Thu
May 06

May 08
L-Values [pdf]
Argument Passing [pdf]
Algebraic Data Types [pdf]
Tail Recursion
Algebraic Data Types
Algebraic Data Types
Argument Passing
Ch 7 Ch 19 Assignment 5
(due May 16)
7 Tue
Thu
May 13
May 15
Scope and Lifetime [pdf]
Closures [pdf]
Language Interpreter
Runtime Storage
Closures
Ch 7 Ch 8 Assignment 6
(due May 23)
8 Tue

Thu
May 20

May 22
Nested Classes [pdf]
Dynamic Dispatch and Inheritance [pdf]
Delegation-based OOP [pdf]
OOP
Ch 10,13 Ch 10,11,20 Assignment 7
(due May 30)
9 Tue
Thu
May 27
May 29
Parametric Polymorphism [pdf]
Subtyping [pdf]
Subtyping
- Ch 17,18 Assignment 8
(due Jun 06)
10 Tue
Thu
Jun 03
Jun 05
Surprising Design Decisions [pdf]
Exam Review [pdf]
JavaScript
- -
11 Tue Jun 10 Final Exam (11:30am-1:45pm) - - - -


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.

Weekly checklist: