| 1 |
Mon May 11 |
Course Introduction Configuring Eclipse Sequence Palindromes |
|
 |
| 2 |
Tue May 12 |
Reading Formal Contract Specifications |
  |
|
| 3 |
Wed May 13 |
Implement and Test static method smooth |
 |
 |
| 4 |
Thu May 14 |
Abstract Classes |
 |
|
| 5 |
Fri May 15 |
JUnit Testing Revisited |
 |
 |
| 6 |
Mon May 18 |
Kernel Implementations I Queue1L |
 |
|
| 7 |
Tue May 19 |
Introduction to Version Control and Subversion Queue on Sequence |
 |
 |
| 8 |
Wed May 20 |
Kernel Implementations II NaturalNumber2 |
 |
|
| 9 |
Thu May 21 |
Sequence on Stack |
 |
 |
| 10 |
Fri May 22 |
Kernel Implementations III Two-Level Thinking Commutative Diagrams |
|
|
| Mon May 25 |
No classes |
| |
| 11 |
Tue May 26 |
Set on Queue |
 |
 |
| 12 |
Wed May 27 |
Kernel Implementations IV Representation Invariant (convention) Abstraction Function (correspondence) |
|
|
| 13 |
Thu May 28 |
Map on Queue |
 |
 |
| 14 |
Fri May 29 |
Hashing Set with hashing |
 |
|
| 15 |
Mon Jun 1 |
Hashing Experiments |
 |
 |
| 16 |
Tue Jun 2 |
Mathematical BinaryTree Notation BinaryTree: Formal Contract Specification |
 |
|
| 17 |
Wed Jun 3 |
Recursion on BinaryTree: static methods height, isInTree |
 |
 |
| 18 |
Thu Jun 4 |
Binary Search Trees |
 |
|
| 19 |
Fri Jun 5 |
Binary Search Trees: static methods isInTree, removeSmallest |
  |
 |
| 20 |
Mon Jun 8 |
SortingMachine: Formal Contract Specification Sorting Algorithms |
|
|
| 21 |
Tue Jun 9 |
Queue: secondary method sort (Insertion Sort) |
 |
 |
| 22 |
Wed Jun 10 |
Midterm Exam #1 |
|
|
| 23 |
Thu Jun 11 |
Queue: secondary method sort (QuickSort) |
 |
 |
| 24 |
Fri Jun 12 |
SortingMachine Implementations Heaps and Heapsort |
|
|
| 25 |
Mon Jun 15 |
Heapsort: static method siftDown |
 |
 |
| 26 |
Tue Jun 16 |
Linked Data Structures I: Singly-Linked Lists |
 |
|
| 27 |
Wed Jun 17 |
Stack on Singly-Linked List |
 |
 |
| 28 |
Thu Jun 18 |
Linked Data Structures II: Doubly-Linked Lists Standard Methods |
|
|
| Fri Jun 19 |
No classes |
| |
| 29 |
Mon Jun 22 |
List on Singly-Linked List with Two Smart Nodes Implementing an Iterator |
 |
 |
| 30 |
Tue Jun 23 |
Mathematical Tree Notation Tree: Formal Contract Specification BugsWorld Project Introduction |
 |
|
| 31 |
Wed Jun 24 |
BugsWorld Contest |
  |
|
| 32 |
Thu Jun 25 |
Abstract Syntax Trees Statement: Contract Specification |
 |
|
| 33 |
Fri Jun 26 |
Recursion on Statement: static method countOfPrimitiveCalls |
 |
 |
| 34 |
Mon Jun 29 |
Program: Contract Specification Using Statement and Program |
 |
|
| 35 |
Tue Jun 30 |
Program: secondary method prettyPrint |
 |
 |
| 36 |
Wed Jul 1 |
Program and Statement Practice: static methods renameInstruction |
|
|
| 37 |
Thu Jul 2 |
Recursion on Statement: secondary method prettyPrint |
 |
 |
| Fri Jul 3 |
No classes |
| |
| 38 |
Mon Jul 6 |
Context-Free Grammars |
 |
|
| 39 |
Tue Jul 7 |
Tokenizer |
 |
 |
| 40 |
Wed Jul 8 |
Recursive Descent Parsing |
  |
|
| 41 |
Thu Jul 9 |
Recursive Descent Parser Evaluation of Arithmetic Expressions |
 |
 |
| 42 |
Fri Jul 10 |
Code Generation |
 |
|
| 43 |
Mon Jul 13 |
BugsWorld Virtual Machine Interpreter |
 |
 |
| 44 |
Tue Jul 14 |
Midterm Exam #2 |
|
|
| 45 |
Wed Jul 15 |
Program: secondary method generatedCode |
 |
 |
| 46 |
Thu Jul 16 |
Java Interfaces Kernel Design, Interface Types, Javadoc Tags, Packages |
|
|
| 47 |
Fri Jul 17 |
WaitingLine Family Interface Design |
  |
 |
| 48 |
Mon Jul 20 |
Common Methods: equals, hashCode, toString instanceof, Type Erasure |
|
|
| 49 |
Tue Jul 21 |
WaitingLine Family Class Implementation |
 |
 |
| 50 |
Wed Jul 22 |
Java Collections Framework |
  |
|
| 51 |
Thu Jul 23 |
Practice with Java Collections Framework |
 |
 |
| 52 |
Fri Jul 24 |
Java Collections Framework (continued) Java Input/Output IOException; try-catch |
 |
|
| 53 |
Mon Jul 27 |
Practice with File I/O and Exceptions |
 |
 |
| 54 |
Tue Jul 28 |
Java Loose Ends: Exceptions; Static vs. Instance Members; Nested Classes; Access Modifiers; Final |
|
|
| 55 |
Wed Jul 29 |
Practice with Static Data Members |
 |
 |
| 56 |
Thu Jul 30 |
Review |
 |
|