CS 367 Syllabus

SYLLABUS

Current Week | Midterm

NOTE:

This syllabus will be updated as the semester progresses - make sure to check it regularly.

Week 1:

Course Intro., Interfaces, Java Objects, Generics, (array-based) Lists, Iterators
Readings: Introduction, Lists
Optional Readings: Java Interfaces, Java Generics
Handout: Course Info Sheet
Outlines: Monday, Tuesday, Wednesday, Thursday
Code: BoxObjectsADT.java, BoxGenericADT.java, BoxIterableADT.java, ArrayBoxObjects.java, ArrayBoxGeneric.java, ArrayBoxIterable.java, ArrayBoxIterableIterator.java, BoxItertorTester.java, ListADT.html, ListADT.java
Java: List interface, Iterator interface, Iterable interface
Homeworks: h1 assigned 6/18
Programs: p1 assigned 6/18

Week 2:

Exceptions, Complexity, Linked Lists
Readings: Exceptions, Complexity
Optional Readings: Java Exceptions
Outlines: Monday, Tuesday, Wednesday, Thursday
Code: ExceptionTester.java, BlueException.java, GreenException.java, OrangeException.java, RedException.java, YellowException.java
Homeworks: h2 assigned 6/25

Week 3:

Primitive vs. Reference Types, Linked Lists
Readings: Linked Lists
Optional: Java Variables
Outlines: Monday, Tuesday, Wednesday
Java: Comparable interface
Code: ShadowArray.java
Homeworks: h3 assigned 7/2
Programs: p2 assigned 7/3

Week 4:

Linked Lists (finish), Stacks and Queues, Recursion
Readings: Stacks-and-Queues, Recursion
Outlines: Monday Tuesday Wednesday
Midterm: Practice problems

Week 5:

Recursion, Search, Trees Intro.
Readings: Recursion, Searching, Trees
Outlines: Monday, Tuesday, Wednesday, Thursday
Midterm: Midterm Solutions
Homeworks: h5 due 6:00 pm on Monday, 7/22
Programs: p3 due 11:59pm on Wednesday, 7/31

Week 6:

Binary Search Trees (cont.), Balanced Search Trees, Red-Black Trees, Heaps
Readings: Binary-Search-Trees, Red-Black-Trees, Priority Queues
Outlines: Monday, Tuesday, Wednesday, Thursday
Homeworks: h6 due 6:00 pm on Monday, 7/29

Week 7:

Hashing, Graphs
Readings: Hashing, Graphs
Outlines: Monday, Tuesday, Wednesday, Thursday
Homeworks: h7 due 6:00pm on Monday, 8/5

Week 8:

Sorting, Final Exam
Readings: Sorting
Outlines: Monday, Tuesday, Wednesday
Homeworks: h8 due 6:00 pm on Friday, 8/9
Final: Thursday, Aug 8th, 11:00 AM to 12:15 PM (in class), Practice problems

Week 9:

General Trees, Binary Trees, Binary Search Trees
Readings: Trees, Binary-Search-Trees
Outlines: Tuesday, Thursday
Homeworks: h5 due 10:00 pm on Monday, 3/18
Programs: p3 assigned 3/20

Spring Break 3/23 - 3/31

Week 10:

Binary Search Trees (cont.), Balanced Search Trees, Red-Black Trees
Readings: Binary-Search-Trees, Red-Black-Trees
Outlines: Tuesday, Thursday
Homeworks: h6 due 10:00 pm on Monday, 4/1, h7 assigned 4/1

Week 11:

Red-Black Trees (cont.), Priority Queues, Heaps, Hashing Intro.
Readings: Red-Black-Trees, Priority Queues
Outlines: Tuesday, Thursday
Homeworks: h7 due 10:00 pm on Monday, 4/8, h8 assigned 4/8
Programs: p3 due 10:00 pm on Friday, 4/12

Week 12:

Hashing
Readings: Hashing
Outlines: Tuesday, Thursday
Homeworks: h8 due 10:00 pm on Monday, 4/15; h9 assigned 4/19
Programs: p4 assigned 4/14
Exam: Midterm 2, Tuesday, April 16th, 5:00 PM to 7:00 PM

Week 13:

Hashing, Graphs Intro.
Readings: Hashing, Graphs Intro.
Outlines: Tuesday, Thursday
Programs: p4 due 10:00 pm on Friday, 4/26

Week 14:

Graphs, Sorting
Readings: Graphs, Sorting
Outlines: Tuesday, Thursday
Homeworks: h9 due 10:00 pm on Monday, 4/29; h10 assigned 4/29
Programs: p5 assigned 4/28

Week 15:

Sorting (cont.)
Readings: Sorting
Outlines: Tuesday, Thursday
Homeworks: h10 due 10:00 pm on Monday, 5/6
Programs: p5 due 5/10

Week 16:

Exam: Final, Tuesday, May 14th, 2:45 PM to 4:45 PM