CSE 2231 – Schedule

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