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