CSCI 125 Fall 2024
Software Design and Implementation
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework

Policies
Advice
College
    Policies

Notes
Programs
Tutorials

Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1MonAug 26
  • Course Introduction
  • BlueJ Introduction
  • BlueJ
  • OFWJ Chapter 1 Code
  • Assignment 0

  • WedAug 28
  • Objects and Classes
  • Read Ch 1
  • Do all Ch 1 Exercises

  • FriAug 30
  • Classes
  • Fields
  • Methods
  • Constructors
  • Read 2.1-2.4
  • Try all 2.1-2.4 Exercises
  • Copy chapter02/naive-ticket-machine to your computer
  • Assignment 0 due
  • Quiz 1

  • 2MonSep 02
  • Parameters
  • Accessor/Mutator Methods
  • Printing
  • Read 2.5-2.11
  • Try all exercises
  • Ticket Exercise
  • HW 1 due

    WedSep 04
  • Conditional Statements
  • Variable Scope
  • Local Variables
  • Comparing Fields/Parameters/Local Variables
  • Read 2.12-2.18
  • Try all exercises
  • Person Exercise
  • Finish Ticket Exercise

    FriSep 06
  • More on Methods
  • Reread 2.15-2.17
  • Read 2.18-2.23
  • Try exercises through 2.82
  • Read 6.11, Appendix I
  • Review More Book Exercises
  • Person code from last class
  • HW 2 due

    3MonSep 09
  • Abstraction
  • Modularization
  • Class Diagrams
  • Read 3.1-3.6
  • Read Appendix F
  • Clock Exercise
  • Read 10 Rules of Studying

  • WedSep 11
  • Ch 1
  • Ch 2
  • Bring:
  • Book.java
  • Person.java
  • TicketMachine.java
  • Project Test 1

    FriSep 13
  • Primitive Types
  • Object Types
  • Logical Operators
  • Concatenating Strings
  • Modulo Operator
  • Constructors & Creating Objects
  • More on Method Calls
  • Reread 3.1-3.6
  • Read 3.7-3.12
  • Try exercises through 3.30

  • 4MonSep 16
  • The this keyword
  • Debuggers
  • Read 3.13-3.16
  • Try all exercises
  • HW 3 due

    WedSep 18
  • Collections
  • Libraries
  • Read 4.1-4.5
  • ClockTest code from last class

  • FriSep 20
  • Generic Classes
  • Read 4.1-4.8
  • Try all exercises
  • Collection Comparisons
  • ArrayList API
  • HW 4 due

    5MonSep 23
  • Working with Collections
  • Iterating/Iterators
  • For-each loop
  • While Loop
  • Read 4.9-4.12
  • Try all exercises
  • ArrayList Exercise

  • WedSep 25No ClassCIS

    FriSep 27
  • More on iterators
  • Read 4.12-4.13
  • Try all exercises

  • 6MonSep 30
  • null
  • Anonymous Objects
  • Chaining Method Calls
  • Read 4.14
  • HW 5 due

    WedOct 02
  • Iterators
  • Read/Reread 4.12-4.15
  • Try all exercises through 4.60
  • Club Code from (last year) today's class
  • Diddy stuff from Mon:
  • MusicOrganizer Code
  • testStuff code

  • FriOct 04
  • Reading Documentation
  • Maps
  • Read 6-6.3 (6 not 5!)
  • Try all exercises
  • Collection Comparisons
  • HashMap API
  • HashSet API

  • 7MonOct 07No ClassFall Recess

    WedOct 09
  • Randomness
  • Random API
  • About Testers
  • Project 1 due

    FriOct 11
  • Packages and Import
  • Maps
  • Die.java (Code from yesterday)
  • RandomNumbers (Code from last year)
  • Read 6.4-6.6
  • Try all exercises
  • Collection Comparisons
  • Phonebook Exercise

  • 8MonOct 14Ch 1-4
  • BigBank Code
  • Project Test 2

    WedOct 16
  • Sets
  • Splitting Strings
  • PhoneBook (Code from last year)
  • Read 6.7-6.9
  • Try all exercises
  • Collection Comparisons

  • FriOct 18
  • More fun with Phonebook

  • 9MonOct 21
  • Mail System Review
  • More with HashMaps
  • PhoneBookBetter (From Friday)
  • TestPhoneBookBetter (just added)
  • Re-read 3.13-3.15
  • Read MailSystem Project (Project 2)
  • HW 6 due

    WedOct 23
  • HashMaps
  • ArrayLists
  • MailSystem
  • Mail System with Test (from last year)

  • FriOct 25
  • Autoboxing
  • Wrapper Classes
  • Class Documentation
  • Public/Private
  • Read 6.10-6.12
  • Try all exercises
  • Work on Project 2

  • 10MonOct 28
  • Interfaces
  • Constants
  • Static fields/methods
  • Votes.java (From Friday)
  • TestVotes.java (From Friday)
  • Read 6.13-6.16

  • WedOct 30
  • Arrays
  • For Loop
  • Read 7-7.4
  • Try all exercises through 7.11
  • Arrays Versus ArrayLists
  • Comparing Collections and Arrays
  • test.txt
  • Project 2 Due

    FriNov 01
  • 2D Arrays
  • Read 7.5-7.6

  • 11MonNov 04
  • Zuul!
  • Coupling (bad!)
  • Cohesion (good!)
  • Code duplication (bad!)
  • Read 8.1-8.5
  • Project 3: Zuul!
  • Zuul Part 1 Design Questions

  • WedNov 06
  • Through Ch 6
  • Mail System Code
  • PhoneBookBetter code
  • Project Test 3

    FriNov 08
  • More on Coupling
  • Read 8.6
  • HW 7 due

    12MonNov 11
  • Design
  • Implicit Coupling (also bad)
  • Read 8.7-8.10

  • WedNov 13
  • More Cohesion
  • Refactoring (necessary evil)
  • Read 8.11-8.15

  • FriNov 15
  • Inheritance
  • Read 10.1-10.5
  • Zuul Past Feedback
  • Zuul Part 2 Design Questions
  • Helpful Zuul Files
  • Project 3 Part 1 (submit if possible)

    13MonNov 18
  • Subtyping
  • Polymorphic variables
  • Casting
  • The Object class
  • Inheritance Exercise
  • Network V1.5 (From Friday's Class)
  • Read 10.6-10.10
  • Project 3 Part 1 due

    WedNov 20
  • Static versus Dynamic types
  • Method Overriding
  • Dynamic Method Lookup
  • super!
  • Method Polymorphism
  • Read 11-11.6
  • Try all exercises
  • Zuul Part 2 Design Questions

  • FriNov 22
  • toString
  • equals
  • hashCode
  • Protected
  • instanceof
  • Abstract Classes
  • Interfaces
  • Read 11.7-11.12
  • Try all exercises
  • Read 12.3.3, 12.6

  • 14MonNov 25
  • Mail Attachments Project
  • Reread 6.14-6.15
  • Project 4
  • Project 3 Part 2 due (Tuesday)

    WedNov 27No ClassThanksgiving Break

    FriNov 29No ClassThanksgiving Break

    15MonDec 02
  • Summary of Inheritance

  • WedDec 04
  • Read Exercise 12.70

  • FriDec 06
  • Review
  • Project 4 due

  • ExMonDec 09Final Exam
    9-11am