CMPS12B - Introduction to Data Structures


Course Basics

Class: Tu/Th, 3:20PM - 4:55PM
Location: Earth&MarineB 206

Instructor: C. (Sesh) Seshadhri (sesh@)
Office: E2-347A
Office hours: Tue, 1:30-2:30

Lab01A: Mo, 6-7:30PM (Adit, Baiwen, Michael)
Lab01B: Tu, 5:30-7PM (Adit, Baiwen, Michael)
Lab01C: We, 2-3:30AM (Haofan, Vibin, Tianyi)
Lab01D: We, 3:30-5PM (Haofan, Vibin, Tianyi)
Lab01E: Fr, 3-4:30AM (Haofan, Vibin, Zehui)
Lab01F: Fr, 4:30-6PM (Adit, Baiwen, Zehui)
Location: (For all labs) J Baskin Engr 105

TA 1: Michael Briden (mbriden@)

TA 2: Tianyi Luo (tluo6@)

TA 3: Zehui Cheng (zecheng@)

MSI:
Discussion sessions:

Piazza: https://piazza.com/class/jm6wpp03zsl6ef


Course Description

The primary objective is to learn implementations of common data structures and the algorithms associated with each data structure, through progressively difficult exercises. Topics include big "O" notation; pointers, recursion (induction), and dynamic allocation; linked lists and list processing; stacks, queues, binary trees and binary search trees; simple sorting techniques and simple search techniques. Students will gain a working knowledge of the elements of the Java and C programming languages. Prior experience with Unix is assumed.

Course Textbook

We will follow the book "Data Abstract and Problem Solving with Java: Walls and Mirrors (3rd Edition) by Pritchard and Carrano. For guidance on C, check out the classic Kernighan and Ritchie "The C Programming Language". Course slides and additional handouts are available at the schedule.