CSSE220 – Object-Oriented Software Development

Spring 2013 (201330)

Schedule Overview

Written homework (if any) and project milestones are due at the beginning of class. Reading and ANGEL quizzes on it (unless otherwise specified) are due at 1:00 PM on the following class day. Individual and pair programming assignments are due by the start of class on their due dates. Remember to use the Late Day Bank survey on ANGEL 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-ANGEL web pages for the course.

Schedule last updated Wed May 1.

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
1

1

Mon Mar 4

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
  • Variables. Using and constructing objects. Calling methods, accessor and mutator methods.
  • The String class
  • Primitive Types
  • UML Class Diagram for a single class
   
1

2

Wed Mar 6

Details
  • Big Java, §2.8–2.10
  • First two pages of this intro to UML Class Diagrams
  • Big Java, §3.1–3.8, Pay particular attention to §3.8
  • Java API documentation
  • 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

3

Fri Mar 8

Details
      WordGames  
2

4

Mon Mar 11

Details
  • Big Java, §2.11–2.13
  • Big Java, §3.9 and Summary of Learning Objectives at the end of ch 3 ("Chapter Summary" in ed3)
  • Big Java, Ch. 4 1) Associated reading quiz due Friday. 2) This is long, but §4.1–5 should be review. Read §4.6–7 on Strings and Reading Input carefully.
  • 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
  • More fundamental data types
WordGames Faces
2

5

Wed Mar 13

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

6

Fri Mar 15

Details
 
  • Reading Assignment for Chapter 4
    Faces  
3

7

Mon Mar 18

Details
  • Big Java, Ch. 6 This should be review
  • Big Java, §7.1–7.6 (7.1-5 in ed3)
  • while and for loops
  • Debugging
  • Arrays
  • ArrayLists
Faces  
3

8

Wed Mar 20

Details
  • HW 5a
  • Reading Assessment on Big Java, Ch. 6 This should be review
  • Wrapper classes and auto-boxing
  • Enhanced for loop
  • Two-dimensional arrays
  • Copying arrays (shallow copies)
  • Software engineering techniques:
    • pair programming
    • version control
Conway’s Game of Life  
3

9

Fri Mar 22

Details
 
  • HW 5b
  • Reading assessment on Big Java, §7.1–7.6 (7.1-5 in ed3)
    Conway’s Game of Life  
4

10

Mon Mar 25

Details
  • Big Java, Ch. 8
  • HW 6
  • Reading assessment on Big Java, §7.7–7.8 (7.6-8 in ed3)
  • Game of Life
  • Cohesion and Coupling
  • Immutable classes
  • Side effects
  • UML class diagrams, relationships
  • Static fields and methods
   
4

11

Wed Mar 27

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • Exam today!!
  • Exam 1
    Normal class period
     
4

12

Fri Mar 29

Details
         
5

13

Mon Apr 8

Details
  • Big Java, §9.1–9.6 (9.1-9.5 in ed3)
  • Big Java, §9.7–9.11 (9.6-9.10 in ed3)
  • Scope
  • Packages
  • Interfaces and polymorphism
  • Listeners, callbacks, and inner classes
  • Swing containers, Layout Managers
  • Event-based programming
BigRational  
5

14

Wed Apr 10

Details
  • Big Java, §10.1–10.6 (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
  • Buttons and other Swing objects
  • Inheritance
  • Polymorphism
  • Access control
BigRational  
5

15

Fri Apr 12

Details
 
  • EventBasedProgramming project of HW 10a
    BigRational  
6

16

Mon Apr 15

Details
  • Big Java, §10.7–10.8 (10.8-10.11 in ed 3). Skip anything about clone().
  • Big Java, Ch. 12
  • BigRational of HW 10a
  • HW 10b
  • Team preference Survey on ANGEL due Monday at noon.
  • Object
  • Polymorphism
  • Object-oriented design
BallWorlds  
6

17

Wed Apr 17

Details
  • Big Java, Ch. 11
  • Case-study
  • File I/O
  • Exception handling
  • Team Roles
BallWorlds  
6

18

Fri Apr 19

Details
        BallWorlds  
7

19

Mon Apr 22

Details
  • Big Java, §20.1–§20.3
  • Big Java, §13.1–13.2 (13.1,13.3 in ed 3)
  • Multithreading
  • Recursion
  • Recursive helper methods
LodeRunnersee spec. for deliverable due dates  
7

20

Wed Apr 24

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
 
  • Exam today!!!
  • Exam 2
    Normal class period
  LodeRunnersee spec. for deliverable due dates  
7

21

Fri Apr 26

Details
        LodeRunnersee spec. for deliverable due dates  
8

22

Mon Apr 29

Details
  • Big Java, §13.3–13.5 (13.2,13.4-5 in ed3)
  • Big Java, §14.1–§14.3
  • Big Java, §14.4–§14.8
  • Selection Sort
  • Recursion and efficiency
  • Mutual recursion
  • Sorting
  • Algorithm analysis
LodeRunnersee spec. for deliverable due dates  
8

23

Wed May 1

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

24

Fri May 3

Details
      LodeRunnersee spec. for deliverable due dates  
9

25

Mon May 6

Details
  • Function objects revisited
  • Search algorithms
  • Strategy design pattern: pluggable algorithms
  • Intro. to linked lists
  • Linked list implementation
LodeRunnersee spec. for deliverable due dates  
9

26

Wed May 8

Details
 
  • LodeRunner work time
  LodeRunnersee spec. for deliverable due dates  
9

27

Fri May 10

Details
  • None
      LodeRunnersee spec. for deliverable due dates  
10

28

Mon May 13

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • Data-structure-palooza: stacks, queues, sets, and maps
  • Abstract data types
  • Generics
  • Exam review
  • Course evaluations
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

29

Wed May 15

Details
  • Big Java, Ch. 17 (skim)
  • No ANGEL quiz over this reading
  • Project presentations
    In Class
LodeRunnersee spec. for deliverable due dates  
10

30

Fri May 17

Details
 
  • Team Performance Evalutions Friday
       
11

31

Mon May 20

Details
  • None
 
  • Final Exam, Wednesday, May 22. 1:00 to 5:00 PM
    in O257 (sect 1), O259 (2)