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

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.