We cover Scala for about half the course, then transition to Java. The following schedule is tentative, subject to modification without notice as events warrant.
Date |
Lectures |
Readings, Assignments, etc. |
Aug 28 |
Introduction to CIT 591
Instant Scala |
Install Scala
Read Atomic Scala, pp 35-67 |
Aug 30 |
00-warm-up-exercises.html. Not to be turned in!
Example program: lunar-lander.html
|
01-hammurabi.html |
Sept 2 |
Labor day--no class |
|
Sept 4 |
Numbers
Scripts and programs
Methods |
Read pp 68-82 |
Sept 6 |
|
02-number-personalities.html |
Sept 9 |
Scala API
Classes and objects |
pp 83-100 |
Sept 11 |
Fun with Pair Programming 
Formatting strings |
pp 101-129 |
Sept 13 |
Here are my versions of Card.scala, CardDeck.scala, Bid.scala, and BidTest.scala. |
03-opening-bid-in-bridge.html
Bid.scala |
Sept 16 |
Course selection period ends
Quiz #1
|
|
Sept 18 |
Sequences and for loops
|
pp 130-154
Pig.scala |
Sept 20 |
|
04-play-hand-of-bridge.html |
Sept 23 |
Pattern Matching (Now! With more slides!)
|
pp 156-165 |
Sept 25 |
Parameters (to classes and methods)
Functions
|
pp 166-182 |
Sept 27 |
Here are my versions of Lojban.scala, SentenceGenerator.scala, SentenceRecognizer.scala, SentenceGeneratorTest.scala, and SentenceRecognizerTest.scala |
05-lojban.html
Lojban notes |
Sept 30 |
Scalatest
Style rules
Extreme programming
|
pp 183-201 |
Oct 2 |
Classes and objects
|
pp 202-234 |
Oct 4 |
|
06-cryptograms.html |
Oct 7 |
File I/O
Recursion |
pp 235-261
(Skip Reflections, pp 262-264) |
Oct 9 |
Functions and methods
|
pp 265-293 |
Oct 11 |
Fall break |
|
Oct 14 |
Classes, objects, traits
Miscellany
|
pp 294-317 |
Oct 16 |
A Concise Guide to Scala GUIs |
pp 318-372 |
Oct 18 |
Here's source code for SimpleGui.scala, Dart.scala, and Canvas.scala. |
07-mastermind.html |
Oct 21 |
Quiz #2 |
|
Oct 23 |
Java for Scala Programmers |
|
Oct 25 |
|
08-squarelotron.html |
Oct 28 |
Class structure |
|
Oct 30 |
JUnit testing
Polymorphism
|
|
Nov 1 |
|
09-library.html
Ten Ways to Kill Pair Programming  |
Nov 4 |
Inner classes
Abstract classes |
|
Nov 6 |
Exceptions
Java I/O
|
|
Nov 8 |
|
10-battleship.html |
Nov 11 |
Collections
Generics
|
|
Nov 13 |
Swing
Threads |
|
Nov 15 |
|
11-calculator.html |
Nov 18 |
Animation
MVC |
|
Nov 20 |
Comments
More about classes |
|
Nov 22 |
|
12-frogger.html |
Nov 25 |
Java bits and pieces
Namespaces, Scope, Access
Enums |
|
Nov 27 |
Day before Thanksgiving (No class) |
|
Nov 29 |
Thanksgiving break--No lab |
|
Dec 2 |
Numbers
Strings and StringBuilders |
|
Dec 4 |
Regular Expressions |
|
Dec 6 |
No lab |
|
Dec 9 |
Java O-O summary
Style summary |
|
Dec 16 |
Final Exam, 3pm-5pm
This exam date/time is set by the Registrar and
is non-negotiable. |
|