Spring 2019
- Lecture: Mondays, Wednesdays, and Fridays at 11:15 in Klaus 1456
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.
- PIS means Programming in Scala
- FPIS means Functional Programming in Scala
- SFTI means Scala for the Impatient
- DDD means Domain-Driven Design
- DDDD means Domain Driven Design Distilled
- CA means Clean Architecture
- GoF means Design Patterns: Elements of Reusable Object-Oriented Software
- ES means Essential Scrum
Date | Topics | Reading and Resources | Reminders |
---|---|---|---|
Scala Basics | |||
Week 1 | |||
2019-01-07 | Intro to CS2340 |
Getting Started PIS, Ch 1 |
HW0 Released 2019-01-07 |
2019-01-09 | Intro to Scala |
PIS, Ch 2 |
|
2019-01-11 | Values and Variables |
Primary reading: PIS, Ch 2, 3, 5 Code: Basics |
Registration Deadline (2019-01-11) |
Week 2 | |||
2019-01-14 | Scala Control Structures |
Primary reading: PIS, Ch 7 Code: Basics |
HW0 Due 2019-01-15 Payment Deadline (2019-01-14) |
2019-01-16 | Scala Functions |
Primary reading: PIS, Ch 2.3, 8, 9 Code: Basics |
|
2019-01-18 | Scala Classes and Objects |
Primary reading: PIS, Ch 4, 6 Code: Basics |
|
Software Engineering | |||
Week 3 | |||
2019-01-21 | MLK Day - No Class | HW1 Released 2019-01-22 | |
2019-01-23 | Scala Functions |
Primary reading: PIS, Ch 2.3, 8, 9 Code: Basics |
|
2019-01-25 | Scala OOP |
PIS, Ch 10, 11 |
Verification of Participation (Faculty Only) (2019-01-25) |
Week 4 (Dr. CS will be at AAAI-2019 all week) | |||
2019-01-28 | Project Logistics |
IntelliJ Pro Git SBT |
|
2019-01-30 | Project Logistics |
IntelliJ Pro Git SBT |
HW1 Due 2019-01-31 |
2019-02-01 | Sprint Planning (No Lecture) | M0: Team Formation Due | |
Object-Oriented Design | |||
Week 5 | |||
2019-02-04 | Scala OOP |
PIS, Ch 10, 11 |
|
2019-02-06 |
Software Engineering software-design |
|
|
2019-02-08 | Object-Oriented Design |
CA, Ch 7 - 11 GoF, Ch1 - 2 |
|
Week 6 | |||
2019-02-11 | Project Launch | ||
2019-02-13 | SOLID Design |
CA, Ch 7 - 11 GoF, Ch1 - 2 |
|
2019-02-15 | Scala OOP |
PIS, Ch 10, 11 |
|
Week 7 | |||
2019-02-18 | Scala OOP |
PIS, Ch 10, 11 |
Progress Report Deadline (Faculty Only) (2019-02-18) |
2019-02-20 | Scala Case Classes |
PIS, Ch 15 |
|
2019-02-22 | Scala Implicits |
PIS, Ch 21 |
|
Week 8 | |||
2019-02-25 | Scala Play Framework |
Scala Play Documentation |
|
2019-02-27 | review1 | M1 Due | |
2019-03-01 | Exam 1 |
|
|
Advanced Scala | |||
Week 9 | |||
2019-03-04 | Project Work Day | ||
2019-03-06 | Scala Collections |
PIS, Ch 16, 17, 24, 25 |
|
2019-03-08 | Scala Generics |
PIS, Ch 19 |
|
Week 10 | |||
2019-03-11 | Scala Generics |
PIS, Ch 19 |
M2 Due 2019-03-12 |
2019-03-13 | Testing |
PIS, Ch 14 ScalaTest Testing Play Applications |
Withdrawal Deadline (2019-03-13) |
2019-03-15 | Refactoring |
|
|
Week 11 | |||
2019-03-18 | Spring Break - No Class | ||
2019-03-20 | Spring Break - No Class | ||
2019-03-22 | Spring Break - No Class | ||
Software Architecture | |||
Week 12 | |||
2019-03-25 |
OO Design Patterns Creational Design Patterns |
GoF, Ch GoF, Ch 3 |
|
2019-03-27 |
Structural Design Patterns Behavioral Design Patterns |
GoF, Ch 4 GoF, Ch 5 |
|
2019-03-29 | Clean Code |
CC |
M3 Due |
Functional Design | |||
Week 13 | |||
2019-04-01 | Intro to Functional Programming in Scala |
Functional Programming in Scala, Ch 1, 2 |
|
2019-04-03 | Project Work Day | ||
2019-04-05 | Clean Classes |
CC |
|
Week 14 | |||
2019-04-08 | scala-functional-abstraction | ||
2019-04-10 | Functional Data Structures |
Functional Programming in Scala, Ch 3 FP Scala Code |
|
2019-04-12 | Functional Data Structures |
Functional Programming in Scala, Ch 3 FP Scala Code |
M4 Due |
Week 15 | |||
2019-04-15 | Functional Error Handling |
Functional Programming in Scala, Ch 4 |
|
2019-04-17 | Functional Error Handling |
Functional Programming in Scala, Ch 4 |
|
2019-04-19 | scala-functional-parallelism | ||
Week 16 | |||
2019-04-22 |
Monoids Monads Applicative and Traversable Functors |
Functional Programming in Scala, Ch 10 Functional Programming in Scala, Ch 11 Functional Programming in Scala, Ch 12 Final Instructional Days (2019-04-22) |
|
Finals Week | |||
2019-05-01 | 11:20 AM ‐ 2:10 PM | M5: Final Delivery Due |