Computer Science 313 (Data Structures) Spring 2018
Handouts and programs from class will be added over
the course of the semester.
- Syllabus
-
The Midterm will be in class on Monday 04-09-18.
The midterm exam will be held in SB C201 instead of the regular classroom.
-
All CS313 final exams will take place in the library in room RO-230.
-
Please note the room change and come to the correct room.
-
The final
is on Monday 05-21-18 from 8.30am to 10.30am for the 9am class
Or there is one alternate exam on Thursday 05-17-18 from 07.00am to 09.00am. You must email me in
advance to get permission to take the alternate test.
- Remember to bring ID to the exam. IDs will be checked.
- Planned class topics and links to code from class (subject to minor change):
- 01-29-18
Introduction: ADTs, Data structures.
Java review: Generic classes in Java.
Example Code on Generics
- 01-31-18
Java Review: Inheritance, abstract classes and interfaces, Java object semantics.
Example Code on Objects, Classes and Interfaces
- 02-05-18
Quiz 1 (On Java review topics).
Nodes and lists of nodes. Chapter 3.
Node Code
- 02-07-18
Linked List data structures (singly and doubly linked).
Chapter 3.
Linked List Code
- Review questions on linked lists.
Solutions.
- 02-14-18
Quiz 2 (On nodes and lists).
CS220 Review: O-analysis and recursion. Chapters 4 and 5.
Good use of Recursion Code
- 02-20-18
The Master theorem for O-analysis of recursion (additional to Chapter 5).
Bad use of Recursion Code
- Review questions on O notation and the Master theorem.
Solutions.
- 02-21-18
Quiz 3 (On O-analysis and the Master Theorem).
The Stack ADT, Stack applications. Chapter 6.
Stack Code
- 02-26-18
Stack implementations. Chapter 6.
Stack Code
- 02-28-18
The Queue ADT, circular array implementation. Chapter 6.
Queue Code
- 03-05-18
The Iterator and Iterable interface in Java. Chapter 7.
Iterator Code
- Review questions on Stacks and Queues.
Solutions.
- 03-07-18
Quiz 4 (On Stacks, Queues, Iterators). postponed to Monday because of expected snow emergency
Tree data structures. An abstract Tree class with some methods. Chapter 8.
Tree Code
General Tree Gui, jar file
- 03-12-18
General Tree implementation. Chapter 8.
General Tree Code
- 03-14-18
Binary Trees, linked implementation. Chapter 8.
Binary Tree Code
Binary Tree Gui, jar file
- 03-19-18
Tree traversals. Chapter 8.
- Review questions on General and Binary Trees.
Solutions.
- 03-21-18
Class canceled due to snow.
All later topics have been reorganized for the remaining classes. There
will not be time to cover the last topic: Graphs, Chapter 14 in class.
This material will now be covered as part of the course project and
the material from Chapter 14 is now a reading assignment as part of that
project.
- 03-26-18
Trees. Chapter 8.
- 03-28-18
Quiz 5 (On Trees, Binary Trees and General Trees). Postponed from 03-26-18.
Catch up and Review
- 04-09-18
Midterm Exam in SB C201
Midterm (Problems and Solutions).
- 04-16-18
Programming Project Discussion
Project --- read and think about this before class on 4/16/18
Updated with comments after Phase 1
Deadline extended to 05/21/18
- 04-18-18
The priority queue ADT. Simple implementations.
Heap implementation of a priority queue. Chapter 9.
Priority Queue Code
Heap Gui, jar file
- Review questions on Heaps and Priority Queues.
Solutions.
- 04-23-18
The Set and Map ADTs. Map as a Set adapter. Map applications. Chapter 10.
Map and Set Code
Map Application Code
- 04-25-18
Chained Hash tables.
Chapter 10.
Chained Hash Table Code
- 04-30-18
Hash tables with open addressing. Chapter 10.
Open Addressing Hash Table Code
- Review questions on Hashing.
Solutions.
- 05-02-18
Quiz 6 (On Hashing).
The TreeSet and TreeMap data structures.
Binary search trees. Section 11.1.
Binary Search Tree Code
Binary Search Tree Gui, jar file
- 05-07-18
AVL trees. Sections 11.2, 11.3.
AVL Tree Code
AVL Tree Gui, jar file
- 05-09-18
AVL trees. Sections 11.2, 11.3.
AVL Tree Code
- Review questions on Search Trees.
Solutions.
- 05-14-18
Quiz 7 (On Binary Search Trees and AVL Trees).
Discussion of Project.
- 05-16-18
Quiz 8 (On Sorting), cancelled.
Catch up. Review.
- Review questions on Data Structures in general.
Solutions.
- 05-21-18
Final Exam 08.30am-10.30am. In room RO-230.