CSSE220 – Object-Oriented Software Development

Fall 2013-14 (201410)

Schedule Overview

Written homework (if any), Reading and Moodle quizzes on it, and project milestones are due at the beginning of class. Individual and pair programming assignments are due by 11:59 PM on their due dates. Remember to use the Late Day Bank survey on Moodle if you want to spend or deposit a late day for a programming assignment.
Note that this schedule is initially based on last term's schedule and will be updated as we go along. There may be changes to class activities and HW assignments up until the time of any day's class meetings.

All non-Moodle web pages for the course.

Schedule last updated Mon Nov 4.

Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Week Session Reading HW Due Topics Resources Programs
0

1

Fri Sep 6

Details
  • Nothing due today. See top of page for times that parts of the daily assignments are normally due.
  • Lab assistant schedule (F-217)
  • Brief course introduction
  • Getting started with Java (printing, defining and calling static methods, declaring variables, looping, the summing loop pattern)
  • Eclipse and Subclipse (running a program, checking out and committing a project)
  • Javadoc comments
   
1

2

Tue Sep 10

Details
  • Big Java Chapter 1 (just skim §1.1–1.2 and 1.7), read the rest) – no quiz on this part
  • Big Java, §2.1–2.5
  • Variables. Using and constructing objects. Calling methods, accessor and mutator methods.
  • The String class
  • Primitive types
  • UML Class Diagram for a single class
  • Java API documentation
   
1

3

Wed Sep 11

Details
  • Big Java, §2.6–2.8
  • First two pages of this intro to UML Class Diagrams
  • Big Java, §3.1–3.7, Pay particular attention to §3.7
  • Unit tests with JUnit
  • Object references
  • Object-Oriented Encapsulation
  • Implementing Classes in Java
    • Fields, Constructors, Methods
    • Implementing an Interface
    • Documented Stubs
    • Test-first Programming, JUnit tests
WordGames  
1

4

Fri Sep 13

Details
  • Big Java, §2.9–2.10
  • Big Java, §3.8 and Chapter Summary of Ch.3
  • Reviewing Grader Comments in Eclipse
  • Implementing Classes in Java
    • Continue WordGames
  • Introduction to Java GUIs
    • Swing: JFrame, JComponent, how to draw Shapes in a JComponent
  • Shape classes
WordGames Faces
2

5

Tue Sep 17

Details
  • Big Java, Ch. 4 This is long, but mostly straightforward stuff. Read §4.5 on Strings and Reading Input carefully.
  • More fundamental data types
  • Strings
  • Constants
Faces  
2

6

Wed Sep 18

Details
  • Big Java, Ch. 5
  • Reading console input
  • More text formatting
  • if statements
  • == and equals()
  • Selection operator
  • switch statements and enumerated types
  • Test coverage
   
2

7

Fri Sep 20

Details
  • Big Java, Ch. 6 This should be review
  • while and for loops
  • Debugging
   
3

8

Tue Sep 24

Details
  • Big Java, §7.1–7.3, 7.7
  • Arrays
  • ArrayLists
  • Wrapper classes and auto-boxing
  • Enhanced for loop
   
3

9

Wed Sep 25

Details
  • Big Java, Rest of Chapter 7
  • Two-dimensional arrays
  • Copying arrays (shallow copies)
  • Software engineering techniques:
    • pair programming
    • version control
Conway’s Game of Life  
3

10

Fri Sep 27

Details
  • Game of Life
Conway’s Game of Life  
4

11

Tue Oct 1

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • No regular class due to exam
  • Exam 1
    Crapo Hall G315 7pm
     
4

12

Wed Oct 2

Details
  • Big Java, Ch. 8
  • Cohesion and Coupling
  • Immutable classes
  • Side effects
  • UML class diagrams, relationships
  • Static fields and methods
   
4

13

Fri Oct 4

Details
  • Big Java, §10.1–10.5 (skip section 10.1.3)
  • Scope
  • Packages
  • Interfaces and polymorphism
BigRational  
5

14

Tue Oct 8

Details
  • Big Java, §10.7–10.10
  • Swing containers, Layout Managers
  • Event-based programming
  • Listeners, callbacks, and inner classes
  • Buttons and other Swing objects
BigRational  
5

15

Wed Oct 9

Details
  • Big Java, §9.1–9.4 (10.1-10.7 in ed3)
  • Be sure to read Special Topic 10.1—Abstract Classes on p. 437
  • Skim the remainder of UML Class Diagrams intro
  • Inheritance
  • Polymorphism
  • Access control
   
5

16

Fri Oct 11

Details
  • Big Java, §9.5 Skip anything about clone().
  • HW 15
  • Team preference Survey on Moodle due Monday at noon.
  • Object
  • Polymorphism
BallWorlds  
6

17

Tue Oct 15

Details
  • Big Java, Ch. 12
  • Object-oriented design
  • Case-study
BallWorlds  
6

18

Wed Oct 16

Details
  • Big Java, Ch. 11
  • File I/O
  • Exception handling
  • Team Roles
LodeRunnersee spec. for deliverable due dates  
7

19

Tue Oct 22

Details
  • Big Java, §13.1–13.2
  • Recursion
  • Recursive helper methods
LodeRunnersee spec. for deliverable due dates  
7

20

Wed Oct 23

Details
  • Big Java, §13.3–13.5 (13.6 is optional)
  • Recursion and efficiency
  • Mutual recursion
LodeRunnersee spec. for deliverable due dates  
7

21

Fri Oct 25

Details
  • Review for Exam 2
  • Prepare for exam
  • No regular class due to exam
  • Exam 2
    MONDAY Oct. 28th Place TBA
LodeRunnersee spec. for deliverable due dates  
8

22

Tue Oct 29

Details
  • Big Java, §20.1–§20.3
  • Work on LodeRunner
  • Multithreading
LodeRunnersee spec. for deliverable due dates  
8

23

Wed Oct 30

Details
  • Work on LodeRunner
  • Sorting
  • Algorithm analysis
LodeRunnersee spec. for deliverable due dates  
8

24

Fri Nov 1

Details
  • Another recursion example (Combination generation)
  • Merge sort recap
  • Intro. to function objects, Comparable
  • Intro. to Fork-Join
LodeRunnersee spec. for deliverable due dates  
9

25

Tue Nov 5

Details
  • Function objects revisited
  • Search algorithms
  • Strategy design pattern: pluggable algorithms
LodeRunnersee spec. for deliverable due dates  
9

26

Wed Nov 6

Details
  • Big Java, §15.1–15.2, §16.1 * No Moodle Quiz
  • LodeRunner Cycle 2 Due
  • Intro. to linked lists
  • Linked list implementation
LodeRunnersee spec. for deliverable due dates  
9

27

Fri Nov 8

Details
  • None
  • Work on LodeRunner
  • LodeRunner work time
  LodeRunnersee spec. for deliverable due dates  
10

28

Tue Nov 12

Details
  • Big Java, §15.3–15.4, §16.4
  • No quiz on readings
  • HW 26
  • LodeRunner Cycle 3 due
  • Data-structure-palooza: stacks, queues, sets, and maps
  • Abstract data types
  • Course evaluations
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

29

Wed Nov 13

Details
  • None
  • Work on LodeRunner
  • Generics
  • Exam review
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

30

Fri Nov 15

Details
  • Big Java, Ch. 18 (skim)
  • No Moodle quiz over this reading
  • Final LodeRunner project due (see spec for details)
  • Team Performance Evalutions Friday, Nov 9, 2012
  • Project presentations
    In Class
   
11

31

Tue Nov 19

Details
  • None
 
  • Final Exam Wed. 11/20 at 6:00pm in G317