Syllabus
Lab 1: 9/5 text
Data definitions in Java; Eclipse IDE; WebCAT homework server
Lab 2: 9/12 text
Designing methods in Java: classes, containment, unions, self-reference
Lecture 7: 9/19
Abstracting over common fields and methods: Abstract classes
Lab 3: 9/19 text
Designing methods for complex data and for collections of data
Lecture 9: 9/23
Review for Exam 1: Designing classes, designing methods
Lecture 10: 9/25
Exam 1 Designing classes, designing methods
Lecture 11: 9/26
Designing interactive games; Using libraries, Extending abstract class; Deriving subclass
Lab 4: 9/26 text
Abstract classes; Designing interactive games
Lecture 12: 9/30
Abstracting over the behavior; designing and using function objects.
Boston Marathon
Lecture 12a: 10/2
Abstracting over the behavior; designing and using function objects.
Three Questions
Lecture 13: 10/3
Constructors - books
Constructors - temperature
Constructors - time
Constructors - rats
Integrity of data - Exception - version 1
Designing constructors; Exceptions
Lab 5: 10/3 Lab5
Lab5a Lab5b
Function objects; Constructors; Exceptions; Equality
Lecture 14: 10/7
Understanding equality (part 1)
Lecture 15: 10/9 Circular lists
Circularly-referential data; Methods for circularly referential data
Circularity; Methods with side effects: design and testing
Lecture 16: 10/10 Phone lists
Phone lists - code
Circularity; Methods with side effects: design and testing
Lab 6: 10/10 Lab6
Circularly-referential data and Methods for Circularly-referential data
Lecture 17: 10/16
Direct-access data structures: ArrayList; Binary search
Lecture 18: 10/17
Parametrized data types: Generics
Lab 7: 10/17 Lab 7a
Design and test void methods
Lab 7: 10/17 Lab 7b
Parametrized Types; Mutating ArrayList
Lecture 19: 10/21
Exam 2 Abstract classes; function objects; void methods; equality
Lecture 20: 10/23
Java loop control statements: for and for-each
Lecture 21: 10/24
Loop practice; counted loops
Lab 8: 10/24 Lab 8
Java for-each and for loop; Selection sort
Lecture 22: 10/28
Java while loop; Sorting: selection
Lecture 23: 10/30 Loops
Iterator, Iterable, Sorting: insertion
Lecture 24: 10/31
Iterator, Iterable, Sorting: mergesort, quicksort
Lab 9: 10/31 Lab 9
Loops, Iterators, sorting
Lecture 25: 11/4
HashMap, equals; Java Collections Framework
Lecture 25: 11/6
Extending unions: visitors
Lecture 26: 11/7
Imperative games, sound
Lab 10: 11/7
Visitors, HashMap, equals
Lecture 28: 11/13
Graph algorithms: representation, DFS, BFS, Shortest path; Priority queue, heapsort
Lecture 29: 11/14
Algorithm complexity: seraching, sorting
Lab 11: 11/14
GUI, Images, Array
Lecture 30: 11/18
Algorithm complexity: exponential algorithms
Exam 3: 11/18 Evening exam: 6:00 - 9:00 pm, room TBA
Loops, parametrized data types, sorting, equals, Java Collections
Lecture 31: 11/20
GUI Design
Lecture 32: 11/21
Java I/O: text, files, streams
Lab 12: 11/21
Heapsort, stress tests
Lecture 33: 11/25
Code Reviews
Lecture 34: 12/2
Code Reviews
Lecture 35: 12/4
Code Reviews