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