CSC263 Fall 2025 Syllabus

The details in this document are preliminary and subject to change until September 15, 2025. After this date, the details will be finalized and changes will require a vote from the class.


Course Information

The course is CSC263: Data Structures and Analysis at the University of Toronto. You can find more information about the course here. Below is the general syllabus for Fall 2025.

Section Tutorial Lecture A Lecture B
Section 1 Mondays
13:00 - 14:00
KP108
Wednesdays
13:00 - 14:00
RW117
Fridays
13:00 - 14:00
MP102
Section 2 Mondays
15:00 - 16:00
RW110
Wednesdays
15:00 - 16:00
RW110
Fridays
15:00 - 16:00
MP203

Learning Objectives

By the end of this course, you will be able to:

  1. Understand and implement fundamental data structures and algorithms.
  2. Analyze algorithmic efficiency, including worst-case and amortized performance.
  3. Apply data structures and algorithms to solve real-world problems.

Teaching Team

Instructors

There is one (1) course instructor (CI) for this course.

Chandra Gummaluru
Assistant Professor, Computer Science

Office: BA4201A
Website: chandra.gummaluru@github.io
Email: chandra@cs.toronto.edu (for personal matters only)
Office Hours:

Teaching Assistants

There are nine (9) teaching assistants (TAs) for this course.


Lecture Schedule

All lectures and tutorials are offered in both sections. Quizzes take place during tutorials.

All dates are tentative and subject to change. Extra time has been reserved at the end of the course to account for needing to use a slower pace than originally planned, revisiting previously covered material, or students asking many questions (which is a good thing). If this happens, the schedule (and quiz dates) will be adjusted accordingly. Quizzes will never be moved to an earlier date (only later). You will be given at least one (1) week advance notice if a quiz date is changing. If extra time remains after all required material has been covered, the remaining few lectures will be used to introduce additional data structures. These topics will not be tested but are intended to support your preparation for future courses in data structures.

Week Monday (Tutorial) Wednesday (Lecture) Friday (Lecture)
1 Syllabus & Prologue Complexity Analysis
2 Graphs Shortest Path Problems: BFS
3 Tutorial Shortest Path Problems: DFS Shortest Path Problems: UCS
4 Quiz 1 Smallest Connected Network Problems:
Kruskal's Algorithm
Union-Find
5 Tutorial Smallest Connected Network Problems:
Prim's Algorithm
Guest Lecture 1
6 Tutorial Unsorted Dictionaries
(Part 1)
Unsorted Dictionaries
(Part 2)
7 Tutorial Sorted Dictionaries
(Part 1)
Sorted Dictionaries
(Part 2)
8 Quiz 2 Queues
(Part 1)
Queues
(Part 2)
9
10 Tutorial Amortized Analysis Guest Lecture 2
11 Tutorial TBD TBD
12 Quiz 3 TBD Guest Lecture 3
13 Tutorial Review / Wrap-up Review / Wrap-up

Evaluations

There are three (3) types of evaluations in this course.

Assignments

Each assignment involves writing some code in Python which will be graded using an auto-grader.

Quizzes

Final Exam


Tips

This course is designed around a cycle of preparation, engagement, review, and practice. Each step builds on the previous one to help you understand the material deeply rather than just memorize it.

1. Prime (Before Lecture)

2. Participate (During Lecture)

3. Process (After Lecture)

4. Practice (Before Tutorial)

5. Prove (In Tutorial)

By following this cycle each week, you’ll not only keep up with the course but also build lasting understanding of the material.


Academic Integrity

Your work in this course should reflect your own understanding. To keep expectations clear, here is the policy for different types of evaluations:

Supervised Evaluations

Quizzes and exams

Unsupervised Evaluations

Worksheets and auto-graded assignments

Guidelines

You are encouraged to engage in conceptual discussions with classmates, utilize online resources, and employ AI tools to brainstorm or clarify ideas. It is also acceptable to use online tools or AI to assist with small portions of an assignment. The guiding principle is that all submitted work must reflect your own understanding, and directly copying solutions from others or from AI is strictly prohibited.

A useful guideline is: if you cannot explain a solution independently—without referring to another student, an AI tool, or online resource—it likely does not meet the standards of academic integrity.

Specifically:

In cases of suspected academic integrity violations, the teaching team may conduct an interview to assess your understanding of the material, using the principle above. Confirmed violations will be addressed in accordance with University of Toronto academic integrity policies. For additional strategies and guidance, see Academic Integrity at U of T.