All assignments are due at the start of lecture. Late assignments will not
be accepted. Please check the reading
schedule for reading assignments.
- Assignment 1 - Due Monday, August 31 (6 points)
- Problems from Chapter 1, pages 30-32:
Observations #1, 4, 8
Interpretations #3, 4
Opinions and Applications #1
- Assignment 2 - Due Friday, September 4 (5 Points)
- Problems from Chapter 2, pages 45-46:
Observations #1, 3, 4
Interpretations #2, 3
- Assignment 3 - Due Wednesday, September 9 (6 Points)
- Problems from Chapter 3, page 59:
Interpretations #1, 2
Opinions and Applications #1
Problems from Chapter 4, page 71:
Observations #1, #3
Opinions and Applications #2
- Project Milestone 1 - Due Friday, September 11
- See course project page for
details.
- Project Milestone 2 - Due Friday, September 18
- See course project page for
details.
- Assignment 4 - Due Monday, September 21 (8 Points)
- Problems from Chapter 5, pages 90-91:
Observations #3, 5
Problems from Chapter 6, pages 99-100:
Observations #3, 5
Opinions and Applications #2
Problems from Chapter 7, pages 112-113:
Observations #2, 3
Interpretations #3
- Assignment 5 - Due Wednesday at 8:00am, October 7 - Via WebCT/Blackboard (8 Points)
- With your project group:
On Wednesday, your group will give a demo of your program to the class.
- Project Milestone 3 - Due Monday, October 19
- See course project page for
details.
- Project Milestone 4 - Due Monday, October 26
- See course project page for
details.
- Project Milestone 5 - Due Friday, October 30
- See course project page for
details.
- Project Milestone 6 - Due Friday, November 6
- See course project page for
details.
- Assignment 6 - Due Monday, November 30 (20 Points)
- Exercises 6.0.1, 6.0.2, and 7.2.2 from
Scala
By Example, pages 35 and 50.
You can use one of the machines in the lab, remotely login to main207, or
install Scala on your own machine.
Turn-in will be via WebCT/Backboard
- Project Final Milestone - Due Wednesday, December 2
- See course project page for
details.
- Assignment 7 - Due Friday, December 4 (20 Points)
- Take the
SalesTicket example from Design Patterns
Explained (Example 17-1, starting on page 302) and port it to idiomatic
Scala.
- 10 points: For using mix-in inheritance (traits) instead of the
decorator pattern
- 5 points: For including code that tests your classes. This must test
sufficient detail to be sure you did it right.
- 5 points: For answering: Is the
TicketDecorator class
needed? Why or why not. Explain your answer for full credit.