Computer Science 313 (Data Structures) Fall 2019
- Course grades have been added to CUNYfirst, 12-22-2019.
- Syllabus
-
The Midterms will be in class on
Thursday 10-03-19 and Tuesday 11-26-19.
-
The final exam will be
on Tuesday 12-17-19 from 8.30am to 10.30am.
-
The final exam will be in the library in room Ro 230. Please note the the change
of room.
- No make up exams or quizzes will be given. If you miss a midterm, your final exam score will be used in its place.
If you miss the final you will get a WU for the course, or only in the case of good, sufficient and unforeseen reasons you might qualify for an incomplete grade for the course.
Remember to bring ID to the exams. IDs may be checked in all exams.
-
Departmental tutors are available in SB A135-G.
They can help students with all aspects of CS313.
- Planned class topics and links to code from class (subject to minor change):
- 08-27-19
Introduction: ADTs, Data structures.
Java review: Interfaces, Classes, Generics, Reference Semantics in Java.
Code
More Code
- 08-29-19
Nodes and lists of nodes. Chapter 3.
Node Code
- 09-03-19
Linked List data structures (singly and doubly linked). Chapter 3.
Linked List Code
- Review questions on linked lists.
Solutions.
- 09-10-19
Quiz 1 (On Java review topics and linked lists).
The Stack, Queue and Deque ADTs, applications. Chapter 6.
Stack Application Code
- 09-12-19
Stack implementations. Chapter 6.
Stack Code
- 09-17-19
The circular array implementation for Queues and Deques. Chapter 6.
Queue Code
- Review questions on Stacks and Queues.
Solutions.
- 09-19-19
Quiz 2 (On Stacks, Queues and Deques).
The Iterator and Iterable interface in Java. Chapter 7.
Iterator Code
- 09-24-19
Tree data structures. An abstract Tree class with some methods. Chapter 8.
Tree Code
(Multiway) general Tree Gui, jar file
- 09-26-19
Multiway Tree implementation. Chapter 8.
Multiway Tree Code
- Review questions on Trees and Multiway Trees.
Solutions.
- 10-03-19
Midterm Exam 1
Solutions.
- 10-10-19
Discussion of problems from Midterm Exam 1.
- 10-15-19
CS220 Review: O-analysis and recursion. Chapters 4 and 5.
Good use of Recursion Code
- 10-17-19
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.
- 10-22-19
Quiz 3 (On O-analysis and the Master theorem).
Binary Trees, linked implementation. Chapter 8.
Binary Tree Code
Binary Tree Gui, jar file
- 10-24-19
Applications of Binary Trees. Chapter 8.
- Homework project 1, due 11/07/19.
- Review questions on Binary Trees.
Solutions.
- 10-29-19
The priority queue ADT. Simple implementations. Chapter 9.
Priority Queue Code
- 10-31-19
Heap implementation of a priority queue. Chapter 9.
Heap Gui, jar file
Priority Queue Code
- Review questions on Heaps and Priority Queues.
Solutions.
- 11-05-19
Quiz 4 (On Binary Trees and Priority Queues).
The Set and Map ADTs. Map as a Set adapter. Map applications. Chapter 10.
Map and Set Code
Map Application Code
- Homework project 2, due 11/21/19.
- 11-07-19
Chained Hash tables.
Chained Hash Table Code
- 11-12-19
Hash tables with open addressing. Chapter 10.
Open Addressing Hash Table Code
-
The last homework: Project 3, will be due 12/05/19.
- Review questions on Hashing.
Solutions.
- 11-14-19
Quiz 5 (On Hashing).
Binary search trees. Section 11.1.
Binary Search Tree Code
Binary Search Tree Gui, jar file
- 11-19-19
AVL trees. Sections 11.2, 11.3. Chapter 10.
AVL Tree Code
AVL Tree Gui, jar file
- 11-21-19
Quiz 6 (On Binary Search Trees).
AVL trees. Sections 11.2, 11.3.
AVL Tree Code
Another AVL Tree Gui, jar file
- Review questions on Search Trees.
Solutions.
- 11-26-19
Midterm Exam 2.
The second midterm will be in the library in room Ro 230.
Please note the change of room and make sure to come to the right room.
Solutions.
- 12-03-19
AVL tree code. Sections 11.2, 11.3. Chapter 10.
AVL Tree Code
AVL Tree Gui, jar file
- 12-05-19
Graphs. Chapter 14.
Graphs Code
- 12-10-19
Graphs. Chapter 14.
Graphs Code
- 12-12-19
Makeup Quiz. (Can replace 1 missing quiz.)
Sorting. Chapter 12.
Sorting Code
- Review questions on Data Structures in general.
Solutions.
- 12-17-19
Final Exam 08.30am-10.30am.
The final exam will be in the library in room Ro 230.
Please note the change of room and make sure to come to the right room.
Solutions.