DATA STRUCTURES - SECTION 050
Tentative Schedule
| Week | Lecture | Recitation | Deliverables |
|---|---|---|---|
| 1 | Tue. Jan 20 - Intro Thu. Jan 22 - Java Memory - References |
Fri, Jan 23 - Lab 1 Warmup | Thu. Jan 22 - Project 1 Released |
| 2 | Tue. Jan 27 - Overview-1 Thu. Jan 29 - Overview-2 |
Fri, Jan 30 - Lab 2 Validation | Thu. Jan 29 - Syllabus/Integrity Quiz Due |
| Mon. Feb 2 - Add/Drop Deadline | |||
| 3 | Tue. Feb 3 - Overview Thu. Feb 5 - Lists |
Fri, Feb 6 - Lab 3 Java | Thu. Feb 5 - Project 1 Due |
| 4 | Tue. Feb 10 - Lists Thu. Feb 12 - Lists, Quiz 1 |
Fri, Feb 13 - Lab 4 ArrayList | Tue. Feb 10 - Project 2 Released Thu. Feb 12 - Quiz 1 |
| 5 | Tue. Feb 17 - Legislative Monday (no class) Thu. Feb 19 - Stacks, Queues |
Fri, Feb 20 - Lab 5 Iterators | |
| 6 | Tue. Feb 24 - Problems with Stacks, Queues Thu. Feb 26 - Recursion |
Fri, Feb 27 - Lab 6 Stacks/Queues | Tue. Feb 24 - Project 2 Due |
| 7 | Tue. Mar 2 - Recursion Thu. Mar 4 - Quiz 2, Trees |
Fri, Mar 5 - Lab 7 Recursion | Tue. Mar 4 - Project 3 Released Thu. Mar 4 - Quiz 2 |
| 8 | Tue. Mar 9 - Trees Thu. Mar 11 - Quiz 3(P) |
Fri, Mar 12 - Lab 8 Coding Practice | |
| Spring Break - No Classes | |||
| 9 | Tue. Mar 23 - Binary Trees Thu. Mar 25 - BST |
Fri, Mar 26 - Lab 9 BST | Tue. Mar 23 - Project 3 Due Thu. Mar 25 - Project 4 Released |
| 10 | Tue. Mar 30 - Graphs Wed. Apr 1 - Graphs |
Fri, Apr 3 - Lab 10 Graphs | |
| 11 | Tue. Apr 7 - Quiz 4, Searching and Sorting Thu. Apr 9 - Merge and Quick Sort |
Fri, Apr 10 - Quiz 5(P), Lab 11 Sorting | Thu. Apr 9 - Project 4 Due Thu. Apr 9 - Project 5 Released |
| 12 | Tue. Apr 14 - Hash Tables Thu. Apr 16 - Hash Tables Spring 2026 Withdrawal deadline |
Fri, Apr 17 - Lab 12 Hash Tables | |
| 13 | Tue. Apr 21 - Heaps, Quiz 6 Thu. Apr 23 - Priority Queue |
Fri, Apr 24 - Lab 13 Coding Practice | Thu. Apr 23 - Project 5 Due |
| 14 | Tue. Apr 28 - Thu. Apr 30 - |
Fri, May 1 - Final (P) | |
| 15 | Tue. May 5 - Q & A | ||
| Final | Thu. May 7, 2 - 3:50 pm |
Textbooks and Resources
Thanks to Joanna Klukowska for compiling this list of resources.
We do not require you to purchase any particular textbook. But, you should use a textbook to study more in-depth the topics that are discussed in class. The list below contains some recommended titles. You do not need to read every chapter from every book.
Most of the books in this list are accessible through NYU libraries for either download or online access. For the books available through O’Reilly online access, you can either start at the NYU library page or login to the site directly using Single-Sign-On (SSO) option with your NYU credentials. Some books are provided as open books through their publisher’s or author’s websites.
Here is a listing of chapters in different books that discuss different topics covered in this course: reading list.
Data Structures Books
- Open DSA is an open-source project whose goal is to provide online course materials for a wide range of Data Structures and Algorithms courses. It has been funded by two National Science Foundation grants: TUES program grant DUE-1139861 and EAGER program grant IIS-1258571.
- Think Data Structures, Allen B. Downey, Open book. (accessible through NYU libraries, or O’Reilly online access, or download a PDF from Greenteapress website ).
- Codeless Data Structures, Armstrong Subero, (accessible through NYU libraries or O’Reilly online access).
- Open Data Structures An Introduction, Pat. Morin (accessible through NYU libraries or book’s site).
- Guide to data structures: a concise introduction using Java, James T. Streib, Takako Soma (accessible through NYU libraries).
- Data structures & algorithms in Java, Robert Lafore (accessible through NYU libraries or O’Reilly online access).
Java reference books
- Introduction to Java Programming, 11th Herbert Schildt, (accessible through NYU libraries or O’Reilly online access).
- Think Java: How To Think Like a Computer Scientist, Chris Mayfield, Allen Downey, Optional Java resource Open book - available online
- Java, Java, Java: Object Oriented Problem Solving, Ralph Morelli, Ralph Walde, Optional Java resource Open book - available online
- Introduction to Java Programming, any edition Daniel Liang, cs101 textbook. It is a good resource for refreshing the Java material. Some older editions may be available through NYU Libraries.
Other Resources
- Tutoring:
- Assistance with strengthening your writing: NYU Writing Center
- 24/7 technology assistance: IT Help Desk
Acknowledgment
Thanks to Prof. Joanna Klukowska for providing the source material for this course. This content is licensed under a Creative Commons Attribution 4.0 International License.