Schedule: CSE 2231

The assignments shown in the row for a given class meeting should be done before that class meeting: read the readings, complete the homework assignment (to be submitted via Carmen in PDF format before the start of class) and/or the project assignment (to be submitted via Carmen at least one hour before the start of class).

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