Summer 2019 Berlin

Lecture Schedule

Topics link to slides, where available. Topics noted with (Recitation) are covered in recitation that week, not in lecture. You're responsible for everything listed on this schedule, some of which may not be covered in lecture or recitation.

Date Topics Reading and Resources Reminders
Week 1
Scala Basics
2019-05-13 Orientation Day
2019-05-15 Intro to CS2340
Install Fest
Intro to Scala
Getting Started
PIS, Ch 1
PIS, Ch 2
HW0 Released 2019-05-15
2019-05-16 Values and Variables
Scala Control Structures
Primary reading: PIS, Ch 2, 3, 5
Code: Basics
Primary reading: PIS, Ch 7
Code: Basics
Week 2
2019-05-20 Values and Variables
Scala Control Structures
Primary reading: PIS, Ch 2, 3, 5
Code: Basics
Primary reading: PIS, Ch 7
Code: Basics
2019-05-22 Scala Classes and Objects Primary reading: PIS, Ch 4, 6
Code: Basics
HW0 Due 2019-05-22
2019-05-23 Scala Functions
Scala OOP
Primary reading: PIS, Ch 2.3, 8, 9
Code: Basics
PIS, Ch 10, 11
M0: Team Formation Due
Week 3
2019-05-27 Scala Case Classes PIS, Ch 15
HW1 Released 2019-05-27
2019-05-29 Scala Generics
Scala Collections
PIS, Ch 19
PIS, Ch 16, 17, 24, 25
HW2 Released 2019-05-29
2019-05-30 Himmelfahrt - No Class
Practical Software Development
Week 4
2019-06-03 Intro to Functional Programming in Scala Functional Programming in Scala, Ch 1, 2
2019-06-05 Functional Data Structures
Scala Collections
Functional Programming in Scala, Ch 3
FP Scala Code
PIS, Ch 16, 17, 24, 25
2019-06-06 Version Control Systems
Build Automation
Scala Play Framework
Pro Git
Git branching
Topic branches
Integreation manager workflow
GitHub Workflow
SBT
Scala Play Documentation
HW1 Due 2019-06-04
Advanced Scala
Week 5
2019-06-10 Pfingsten - No Class
2019-06-12 Software Engineering
Agile Software Development

ES
2019-06-13 Scala Implicits
Scala Generics
PIS, Ch 21
PIS, Ch 19
Week 6
2019-06-17 Functional Error Handling
Scala Monads
Functional Programming in Scala, Ch 4
Functional Programming in Scala, Ch 10-11
2019-06-19 Review 1 Review 1 Notes
M1 Due
2019-06-20 Exam 1
Object-Oriented Design
Week 7
2019-06-24 Object-Oriented Design CA, Ch 7 - 11
GoF, Ch1 - 2
2019-06-26 OO Design Patterns GoF, Ch
2019-06-27 Project Work Day
Reactive Software Architecture
Week 8
2019-07-01 Scala Generics PIS, Ch 19
M2 Due 2019-07-02
2019-07-03 Project Demos
2019-07-04 Functional Error Handling
Testing
Functional Programming in Scala, Ch 4
PIS, Ch 14
ScalaTest
Testing Play Applications
Week 9
2019-07-08 Project Work Day
2019-07-10 Clean Code CC
2019-07-11 Scala Monads Functional Programming in Scala, Ch 10-11
Week 10
2019-07-15 Scala Concurrency
Project Demos
LCPS 4,8; RAD 2-3; PIS, Ch 32
M3 Due
Final Exam
2019-07-18 Take-home final exam M4 (Optional Extra Credit) Due 2019-07-19