CSSE220 – Object-Oriented Software Development

Fall 2016-17 (201710)

Schedule Overview

All assignments are due at 11:55PM on their due dates.
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 Tue Nov 10.

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 2

  • Nothing due before the 1st class. Look at Session 2 to see what's due (at 11:55 PM) on the due date (that's after class so you can ask questions in class).
  • Brief course introduction
  • Getting started with Java (printing, defining and calling static methods, declaring variables, if statements)
  • Eclipse and Subclipse (running a program, checking out and committing a project)
  • Variables/types
  • The String class
TwelveProblems HW1
1

2

Tue Sep 6

  • Big Java, 7.1-7.3, 7.7
  • Loops (for and while)
  • The String class
  • Primitive Types
  • Arrays
  • ArrayLists
  • Enhanced for loop
TwelveProblems  
1

3

Wed Sep 7

  • Big Java, 15.4
  • Maps
  • 2D Arrays
Map and 2D Array Problems  
1

4

Fri Sep 9

  • None
  • Miscellaneous
Map and 2D Array Problems  
2

5

Tue Sep 13

  • Chapter 2.1-2.8
  • Object references
  • Object-Oriented Encapsulation
  • Implementing Classes in Java
Team Gradebook  
2

6

Wed Sep 14

  • Big Java, Ch. 2.9, 2.10
  • Java Graphics
Team Gradebook  
2

7

Fri Sep 16

  • Team Gradebook DUE THURSDAY AT 11:55pm
  • Start working on Scenes
  • BEFORE THIS CLASS: Attempt a previous exam's written portion (201510 is a good one) for review. The old exams can be found here: Exam review.
  • Give yourself 50 minutes to complete the written portion. If you struggle, speak with your professor and/or bring questions to this class period.
  • Bring your completed written exam to class and ask any questions you may have
  • Unit Testing
  • Console input
  • Exam 1 Written Portion Review
Scenes  
3

8

Tue Sep 20

  • Big Java, review Ch. 2 - 7
  • Scenes DUE MONDAY AT 11:55pm
  • BEFORE THIS CLASS: Attempt a previous exam's programming portion (201510 is a good one) for review. The old exams can be found here: Exam review.
  • Give yourself 105 minutes to complete the programming portion. If you struggle, speak with your professor and/or bring questions to this class period.
    Exam 1 Written Portion
    In Class - 1st Hour Only
  • Exam Review - Programming Portion
   
3

9

Wed Sep 21

    • Exam 1 Programming Portion
      In class
       
    3

    10

    Fri Sep 23

    • Big Java Pages 567-569, Special Topics 12.1, 12.2, 12.3 (focus on association, we will not use aggregation/composition in this class)
    • Software Engineering Techniques
    • Class diagrams
    CrazyEights  
    4

    11

    Tue Sep 27

    • Big Java 3.1.3
    • Object-Oriented Design
    CrazyEights  
    4

    12

    Wed Sep 28

    • Big Java, Ch. 8
    • Cohesion and Coupling
    • Scope
       
    4

    13

    Fri Sep 30

    • Big Java, 13.1 - 13.2
    • Recursion
    • Recursive helper methods
    Recursion Practice  
    5

    14

    Tue Oct 4

    • Big Java, 13.3 - 13.5 (13.6 is optional)
    • Big Java, 10.1 - 10.3
    • Interfaces
    Recursion Practice  
    5

    15

    Wed Oct 5

    • Big Java, 10.7, 10.10
    • Swing containers, Layout Managers
    • Event-based programming
    • Listeners, callbacks, and inner classes
    • Buttons and other Swing objects
    Recursion Practice Linear Lights Out
    6

    16

    Tue Oct 11

    • None
    • More Recursion
    • More Interfaces
    Linear Lights Out  
    6

    17

    Wed Oct 12

    • Big Java, 9.1 - 9.3
    • 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
    BallWorlds  
    6

    18

    Fri Oct 14

    • Big Java, 9.4, 9.5 Skip anything about clone().
    • Object
    • Polymorphism
    BallWorlds  
    7

    19

    Tue Oct 18

    • Big Java, Ch. 11, 12,1-2
    • Object-oriented design
    • File I/O
    • Exception handling
       
    7

    20

    Wed Oct 19

    • All previously noted chapters/sections (review)
    • BEFORE THIS CLASS: Attempt a previous exam's programming portion (201520 is a good one) for review. The old exams can be found here: Exam review.
    • Give yourself 105 minutes to complete the programming portion. If you struggle, speak with your professor and/or bring questions to this class period.
      Exam 2 Written Portion
      In Class - 1st Hour Only
    • Exam Review - Programming Portion
       
    7

    21

    Fri Oct 21

    • Exam 2 Programming Portion
      In class
    Arcade Game - Cycle 0  
    8

    22

    Tue Oct 25

    • None
    • Multithreading
    Arcade Game - Cycle 1  
    8

    23

    Wed Oct 26

    • Big Java, 15.1 - 15.2, 16.1
    • Intro. to linked lists
    • Linked list implementation
    Arcade Game - Cycle 1 SinglyLinkedList
    8

    24

    Fri Oct 28

    • None
    • Linked lists part 2
    SinglyLinkedList Arcade Game - Cycle 2
    9

    25

    Tue Nov 1

    • None
    • Testing GUI Applications
    • Writing Testable Code
       
    9

    26

    Wed Nov 2

    • Sorting
    • Algorithm analysis
    Arcade Game - Cycle 3  
    9

    27

    Fri Nov 4

    • Big Java 14.4 - 14.8
    • Merge sort
    • More on Big O
    • Comparable/Comparator
    Arcade Game - Cycle 3  
    10

    28

    Tue Nov 8

    • None
    • Thread Performance
    • Course evaluations
    • ArcadeGame work time
    Arcade Game - Cycle 4  
    10

    29

    Wed Nov 9

    • None
    • More Multithreading and in-class excercise
    • ArcadeGame work time
    Arcade Game - Cycle 4  
    10

    30

    Fri Nov 11

    • Big Java, Ch. 18 (skim)