Schedule

The below table demonstrates a tentative schedule of the course. In case of any change, the information in the table will be updated before the time of the change. Please keep checking this table for up-to-date information.

Week

Day

Date

Session

Topic

Due Dates

Written

Assignments

1

Sun

8-Jan

---

---

 

 

Mon

9-Jan

Lec 00

Welcome and Course Introduction

 

 

Tue

10-Jan

Lab 01

Setup [handout]

 

 

Wed

11-Jan

Lec 01

Contracts [slides]

 

 

Thu

12-Jan

Rec 01

C0 Basics [solution on Piazza]

 

 

 

 

 

 

 

 

 

2

Sun

15-Jan

---

---

Written 1

 

Mon

16-Jan

Lec 02

Integers [slides]

 

 

Tue

17-Jan

Lab 02

What's the Point

 

 

Wed

18-Jan

Lec 03

Arrays [slides]

 

1 - Scavhunt

Thu

19-Jan

Rec 02

A Bit about Bytes

 

 

 

 

 

 

 

 

 

3

Sun

22-Jan

---

---

Written 2

 

Mon

23-Jan

Lec 04

Searching Arrays [slides]

 

 

Tue

24-Jan

Lab 03

Loopty-Loopty Loop [handout]

 

 

Wed

25-Jan

Lec 05

Big-O [slides]

 

2 - Pixels

Thu

26-Jan

Rec 03

Function Family Reunion [solution on Piazza]

 

 

 

 

 

 

 

 

 

4

Sun

29-Jan

---

---

Written 3

 

Mon

30-Jan

Lec 06

Binary Search [slides]

 

 

Tue

31-Jan

Lab 04

TA Training

 

 

Wed

1-Feb

Lec 07

Sorting [slides]

 

3 - Images

Thu

2-Feb

Rec 04

A Strange Sort of Proof

 

 

 

 

 

 

 

 

 

5

Sun

5-Feb

---

---

Written 4

 

Mon

6-Feb

Lec 08

Libraries [slides]

 

 

Tue

7-Feb

Lab 05

Fibonacci has Bad Internet [handout]

 

 

Wed

8-Feb

Lec 09

Stacks and Queues [slides]

 

4 - Speller

Thu

9-Feb

Rec 05

A queue_t Interface

 

 

 

 

 

 

 

 

 

6

Sun

12-Feb

---

---

Written 5

 

Mon

13-Feb

Lec 10

Linked Lists [slides]

 

 

Tue

14-Feb

NO CLASS

SPORTS DAY

 

 

Wed

15-Feb

EXAM

MIDTERM 1

 

 

Thu

16-Feb

Rec 06

Link it All Together

 

 

 

 

 

 

 

 

 

7

Sun

19-Feb

---

---

Written 6

 

Mon

20-Feb

Lec 11

Amortized Analysis [slides]

 

 

Tue

21-Feb

Lab 06

Misclaculation

 

 

Wed

22-Feb

Lec 12

Unbounded Arrays [slides]

 

5 - Clac

Thu

23-Feb

Rec 07

Array Disarray [solution on Piazza]

 

 

 

 

 

 

 

 

 

 

Sun

26-Feb

Spring Break

Mon

27-Feb

Tue

28-Feb

Wed

1-Mar

Thu

2-Mar

 

 

 

 

 

 

 

8

Sun

5-Mar

Lec 13

Hashing [slides]

 

Mon

6-Mar

Lec 14

Hash Dictionaries [slides]

Written 7;

 

Tue

7-Mar

Lab 07

List(en) Up! [handout]

 

 

Wed

8-Mar

Lec 15

Generic Data Structures [slides]

 

Thu

9-Mar

Rec 08

Generically Speaking

 

6 - Text Buffer

 

 

 

 

 

 

 

9

Sun

12-Mar

---

---

 

Mon

13-Mar

Lec 16

Binary Search Trees [slides]

Written 8

 

Tue

14-Mar

Lab 08

Hash this! [handout]

 

 

Wed

15-Mar

Lec 17

AVL Trees [slides]

 

Thu

16-Mar

Rec 09

Rotating Rotations

 

7 - Bloom

 

 

 

 

 

 

 

10

Sun

19-Mar

---

---

 

Mon

20-Mar

Lec 18

Introduction to C [slides]

Written 9

 

Tue

21-Mar

Lab 09

Legacy of the void* [handout]

 

 

Wed

22-Mar

Lec 19

C's Memory Model [slides]

 

Thu

23-Mar

Rec 10

From C1 to Shining C

 

8 - Generic Queues

 

 

 

 

 

 

 

11

Sun

26-Mar

NO CLASS

Break

 

 

Mon

27-Mar

NO CLASS

Break

 

 

Tue

28-Mar

Lab 10

This One's a Treet [handout]

 

 

Wed

29-Mar

---

Overview Session

 

Thu

30-Mar

EXAM

MIDTERM 2

 

 

 

 

 

 

 

 

 

12

Sun

2-Apr

---

---

 

Mon

3-Apr

Lec 20

Types in C [slides]

Written 10

 

Tue

4-Apr

Lab 12

All sorts of sorts [handout]

 

 

Wed

5-Apr

Lec 21

Virtual Machines [slides]

 

Thu

6-Apr

Rec 12

C-ing is Believing [solution on Piazza]

 

9 - Huffman Compression

 

 

 

 

 

 

 

13

Sun

9-Apr

---

---

 

Mon

10-Apr

Lec 22

Graph Representation [slides]

Written 11

 

Tue

11-Apr

Lab 13

passwordLab [handout]

 

 

Wed

12-Apr

Lec 23

Graph Search [slides]

 

10 - C0VM Checkpoint

Thu

13-Apr

Rec 13

Computing on the Edge

 

 

 

 

 

 

 

 

14

Sun

16-Apr

---

---

 

Mon

17-Apr

Lec 24

Priority Queues [slides]

Written 12

 

Tue

18-Apr

Lab 14

Spend some Cycles Thinking [handout]

 

 11 - C0VM

Wed

19-Apr

Lec 25

Restoring Invariants [slides]

 

Thu

20-Apr

---

---