CPSC 221: Basic Algorithms and Data Structures
2016 Winter Term 2 (January-April 2017)
Schedule


Home Learning Goals Schedule Administration Readings Lab/Lecture Notes Assignments (Theory/Programming) Computing

The midterm is scheduled from 5:00-6:30 pm on Wednesday, March 1, 2017. The three sections will be divided among multiple rooms. See Piazza for details.

The final exam will be held on Tuesday, April 18, 2017 (the day after the Easter long weekend) at 19:00-21:30 (i.e., 7:00-9:30 PM) in SRC A, B, and C. There is some construction in the area, so give yourselves a little extra time to get there. Unless they've changed things in the last few months, enter from the north side.


Labs begin on Monday, January 9, 2017.

Lab sessions are listed underneath the calendar below.

Office hours will be posted on the schedule here.

Unless otherwise specified, all TA office hours are in the Demco Learning Centre (ICCS X150), which is near the Reboot Café on the bottom floor of the X-wing of the Computer Science building.

The office hour schedule is subject to change, and the office hour schedule for a week might not be finalized until the week before. Use the arrows below to change what week you're viewing.


Lecture Schedule

Section Days Time Place Instructor
201 MWF 09:00–09:50 SWNG 121 Ed Knorr
202 MWF 16:00–16:50 DMP 310 Anthony Estey
203 MW 17:00–18:20 DMP 310 Mehrdad Oveisi

Lab Session Times and Locations (lab enrolment figures are as of Feb. 10, 2017)

Section Day Time Place ~Enrolment TAs
L2D M 10:00-11:50 ICCS 015 18 Anthony Chen and Michael Zhang
L2P M 12:00-13:50 ICCS 015 18 Calvin Cheng and Arabelle Hou
L2R M 13:00-14:50 ICCS 014 8 Bibek Kaur and May Young
L2E M 14:00-15:50 ICCS 015 22 Vincent Tang and Patience Shyu
L2Q T 09:00-10:50 ICCS 015 12 Itrat Akhter and Harman Gakhal
L2G T 11:00-12:50 ICCS 015 24 Xing Zeng and David Zheng
L2AT 13:00-14:50 ICCS 015 24 Qian Luo and Edward Zhou
L2MT 15:00-16:50 ICCS 015 22 Bryan Tai and David Yin
L2F W 10:00-11:50 ICCS 015 24 Michael Zhang and Dejan Posavljak
L2S W 12:00-13:50 ICCS 015 25 May Young and Dejan Posavljak
L2B W 14:00-15:50 ICCS 015 23 Vincent Tang and Patience Shyu
L2L R 09:00-10:50 ICCS 015 18 Itrat Akhter and Arabelle Hou
L2K R 14:00-15:50 ICCS 015 22 Calvin Cheng and Nancy Chen
L2C R 16:00-17:50 ICCS 015 25 Harman Gakhal and Bryan Tai
L2N F 10:00-11:50 ICCS 015 25 Anthony Chen and Nancy Chen
L2H F 12:00-13:50 ICCS 015 22 Shahriar Noroozi Zadeh and Qian Luo
L2W F 13:00-14:50 ICCS 014 22 Xing Zeng and Finn Hackett
L2J F 14:00-15:50 ICCS 015 26 Nasim Zolaktaf and Shahriar Noroozi Zadeh
L2X F 17:00-18:50 ICCS 014 18 Nasim Zolaktaf and Finn Hackett


Is the Course Full?

Lecture Sections. As of January 11, 2017, there are about 70 seats empty in Lecture Sections 203, and a small number in Sections 201 and 202.

Full Lab Sections, or if there is a wait list for the lectures: If you're trying to enroll in this course, or audit it, or change into a lab or lecture section that's actually full, please go to the Computer Science main office (ICCS Room 201). They control all wait lists, and except for unusual circumstances, they follow a queue based on when a student registered according to the following priorities: (a) Computer Science degree students first, (b) students from other degree programs needing CPSC 221 as part of their graduation requirements (this includes Computer Engineering (CPEN) students), and (c) all others. In each case, you need to have the prerequisites (or equivalent); if not, you will be dropped from the course. If you want more information about how wait lists work in the Department of Computer Science, check the following link.

In the past, when we had multiple sections, we encouraged students to attend any or all sections, if they found it helpful. Similarly, if someone missed his/her lab section, we would recommend attending any other lab section that week. Please do not do so this term. We expect to be fairly full, with wait lists, and we need to give the officially enrolled students priority in their lab sections. Later in the term, after people drop, we might be able to allow some flexibility, but unless/until your instructor announces it, please attend only your registered lecture and lab sections.

Note that help with your current lab-work is available from TAs during their scheduled Office Hours, as will be posted on the Course Calendar.

If you do miss one of your scheduled lab sessions, see Missed Lab for how to get the work graded that was due in that session.


Approximate Reading Schedule

Epp Sections (4th ed.)
Koffman Sections
Approximate Week
Description
n/a Chapters P and 1 On your own/labs Getting Familiar with C++
n/a 4.5-4.7, 5, 6.1-6.3, 6.5 1 Linked Lists; Stacks; Queues
11.2 2.6 2 Big-O, Big-Omega, Big-Theta
11.3 3 Time and Space Complexity; Memory Layout
n/a 8.5 4 Priority Queues and Heaps
6.1-6.2
7.1-7.2
5.2-5.3, 5.5
Chapter 7 5 Induction and Recursion. Loop Invariants and Program Correctness
11.5 10.1, 10.4, 10.7-10.10 6 Mergesort, Insertion Sort, Quicksort, Heapsort
9.4 Chapter 9 7 Hashing and Hash Tables
10.6 8.1-8.4, 11.1-11.2, 11.5 8-9 Tree traversal, Self-Balancing Search Trees
Sophomoric Parallelism and Concurrency 10-11 Parallelism & Concurrency Intro
10.1-10.4 12.1-12.4 12-13 Graphs & Counting

 

Last Modified: April 9, 2017