Course materials

CSC 211

Introduction to Data Structures

Spring 2025 · Spring 2026

01 · Syllabus

Course information and policies

InstructorQixin Deng

Email[email protected]

OfficeGoodrich Hall 108

Office hoursM/W/F, 1:00–4:00 PM, or by appointment

Meeting timeT/Th, 9:45–11:00 AM

LocationGoodrich Hall 108

Course Description

This course explores structures for storing and organizing data and the algorithms used to manipulate them. Students connect theoretical foundations with practical implementations, analyze efficiency, compare iterative and recursive approaches, and study searching, sorting, and traversal. Topics include lists, stacks, queues, trees, hash tables, graphs, and related abstract data types.

Platform

PyCharm is the primary programming environment and is available free to students.

Course Goals

  • Understand how data structures store data and implement operations.
  • Justify why data-structure operations are correct.
  • Analyze the running-time performance of operations and algorithms.

Assignments

Weekly assignments require working code and a clear report explaining the solution process, ideas, errors, debugging decisions, and corrections. Both code and report must be submitted; late submissions are not accepted.

Grading

Assignments constitute 40%, the final project 15%, and exams 45% of the course grade. The published letter scale begins with A at 93, A− at 90, B+ at 87, and continues through the syllabus thresholds.

Class Rules

The classroom must remain respectful and free of discrimination, bullying, and other harmful conduct. Violations are addressed through course and college procedures.

Important Dates

Midterm: Thursday, March 5, in class. Final: Tuesday, May 5, beginning at 9:00 AM.

About AI

AI can be a useful assistant when used reasonably, but it must not replace a student’s thinking. Assignments must be completed independently. Students must understand, reproduce, and explain submitted work; significant inconsistencies may require an in-person demonstration and may be reported under academic-integrity procedures.

02 · Contents

Course content

01

Algorithm Analysis

Running time, basic-operation counting, mathematical notation, asymptotic dominance, Big-O, Omega, Theta, and worst-, average-, and amortized-case analysis.

02

Lists, Searching & Sorting

Abstract data types, dynamic arrays, binary search, selection sort, insertion sort, merge sort, quicksort, in-place algorithms, and performance comparisons.

03

Stacks

The stack ADT, Python implementations, public and private attributes, preconditions, recursive merge sort, balanced parentheses, and next-greater-element problems.

04

Queues & Priority Queues

List- and stack-based queues, round-robin scheduling, priority queues, and recursive queue operations.

05

Linked Lists

Node and linked-list classes, traversal, indexed access, mutation, cycle detection, and complexity comparisons with array-backed lists.

06

Trees

Recursive tree definitions, visualization, traversal orders, mutation, and the relationship between recursive structures and recursive algorithms.

07

Binary Search Trees

Search, inorder traversal, insertion, deletion, correctness, and efficiency under balanced and unbalanced shapes.

08

Heaps

Max-heap structure, list representation, build-heap, bubble-up and bubble-down, extraction, insertion, equal priorities, and heap sort.

09

Graphs

Graph representations, recursive connectivity, cycle detection, paths, trees, spanning trees, and visited-set reasoning.

10

Dictionaries & Hash Tables

Hash functions, closed and open addressing, collision handling, linked-list buckets, probing, and implementation tradeoffs.

11

Tries

Node design, insertion, exact and prefix search, deletion, running time, and comparisons with hash tables.

12

Red-Black Trees

Balanced-search-tree invariants, rotations, insertion repair, deletion repair, and logarithmic operation guarantees.

03 · Exam preparation

Shared exam expectations

Gentleman’s Rule

The student is expected to conduct himself, at all times, both on and off the campus, as a gentleman and a responsible citizen.

Exam Rules

  • This is a closed-book exam with only a pen (no pencil) and exam paper on your desk. No calculators allowed. No outside aids or resources are allowed.
  • Final exam will be 2 hours, other exams will be using regular class time. Please arrive on time. Late students will not be compensated for their time.
  • You are responsible for the clarity of your own handwriting. If I cannot recognize your handwriting, you will lose points.
  • All cell phones and other electronic devices must be turned off.
  • If you need to use the bathroom during the exam, you need to put your cell phone on the front desk.
  • You are not allowed to communicate with any other people (other than the professor) while taking this exam.
  • You may not share, disseminate, or discuss these questions with any other student in another section of this course who has not taken the exam yet; doing so is considered academic dishonesty and will lead to nullification of exam grades.
  • There will be no tolerance towards academic dishonesty, and cheating can and will lead to automatic failure from the class as well as a report to the Academic Integrity Committee.

Exam Commitments

I will complete this exam in a fair, honest, respectful, responsible, and trustworthy manner. This means that I will complete the exam as if the professor was watching my every action. I will act according to the professor’s instructions, and I will neither give nor receive any aid or assistance other than what is authorized. I know that the integrity of this exam and this class is up to me, and I pledge not to take any action that would break the trust of my classmates or professor, or undermine the fairness of this class.

Midterm PreparationDate:Location:+
Final Exam PreparationDate:Location:+

04 · Assignments

Practice questions

Open each assignment to work directly from the original questions and code prompts.

Assignment 01+

Loading questions…

Assignment 02+

Loading questions…

Assignment 03+

Loading questions…

Assignment 04+

Loading questions…

Assignment 05+

Loading questions…

Assignment 06+

Loading questions…

Assignment 07+

Loading questions…

Assignment 08+

Loading questions…

Assignment 09+

Loading questions…

Assignment 10+

Loading questions…

05 · Projects

Project materials