|
# |
DAY |
DATE |
TOPIC |
READING |
OUT |
DUE |
Week 1 |
1 |
Tu |
9-Sep-25 |
Overview. Info vs. data, von Neumann arch, binary/bits/bytes |
|
HW 1 |
|
|
|
We |
10-Sep-25 |
Lab 1:
Using Linux, Vim, Edit a text file, helloworld.c |
|
|
|
|
2 |
Th |
11-Sep-25 |
Data types. (Un)signed int, floating point, char, string,
datatypes.c
|
C: 1.1-1.5 A: 3.1 |
|
|
|
|
|
|
|
|
|
|
Week 2 |
3 |
Tu |
16-Sep-25 |
Programming. Low-level vs. high, imperative vs. functional |
C: 2.1-2.12 |
HW 2 |
HW 1 |
|
|
We |
17-Sep-25 |
Lab 2: A more complicated C program |
|
|
|
|
4 |
Th |
18-Sep-25 |
Execution semantics. Program execution using binding tables |
C: 3.1-3.7 |
|
|
|
|
|
|
|
|
|
|
Week 3 |
5 |
Tu |
23-Sep-25 |
Functions. Execution semantics, memory usage |
C: 1.6-1.9 A: 3.2 |
HW 3 |
HW 2 |
|
|
We |
24-Sep-25 |
Lab 3:
Functions and arrays |
|
|
|
|
6 |
Th |
25-Sep-25 |
Arrays. Execution semantics, memory usage |
C: 4.1-4.4,4.8 A: 2.1-2.4 |
|
|
|
|
|
|
|
|
|
|
Week 4 |
7 |
Tu |
30-Sep-25 |
Linear search. Cost overview, searching an unsorted array |
A: 2.6-2.7 |
HW 4 |
HW 3 |
|
|
We |
1-Oct-25 |
Lab 4: Header files in C and searching |
|
|
|
|
8 |
Th |
2-Oct-25 |
Binary search. Searching a sorted array |
C: 4.5, 4.6 |
|
|
|
|
|
|
|
|
|
|
Week 5 |
9 |
Tu |
7-Oct-25 |
Recursion. Execution semantics, re-implement binary search
factorial.c,
fibonacci.c,
binsearch_r.c
|
C: 4.10-4.11 A: 5.1-5.2 |
HW 5 |
HW 4 |
|
|
We |
8-Oct-25 |
Lab 5: Recursion |
|
|
|
|
10 |
Th |
9-Oct-25 |
Pointers and Sorting.
Overview, selection sort
ptr_example.c,
Obfuscated C code
|
A: 6.1-6.6 |
|
|
|
|
|
|
|
|
|
|
Week 6 |
11 |
Tu |
14-Oct-25 |
Sorting. Selection sort recap, mergesort
mergesort.c,
interactive |
A: 8.1-8.6 |
HW 6 |
HW 5 |
|
|
We |
15-Oct-25 |
Lab 6: Arrays and code correctness |
|
|
|
|
12 |
Th |
16-Oct-25 |
Quicksort and midterm review. Algorithm, cost
quicksort.c,
AlphaDev discovers faster sorting algorithms |
A: 7.1-7.6 |
|
|
|
|
|
|
|
|
|
|
Week 7 |
|
Tu |
21-Oct-25 |
FALL BREAK. |
|
|
|
|
|
We |
22-Oct-25 |
Lab 7: Review |
|
|
|
|
13 |
Th |
23-Oct-25 |
MIDTERM |
|
|
|
|
|
|
|
|
|
|
|
Week 8 |
14 |
Tu |
28-Oct-25 |
Abstract data types. Structs and pointers (GUEST LECTURE)
|
|
|
HW 6 |
|
|
We |
29-Oct-25 |
Lab 8: Structs and pointers |
|
|
|
|
15 |
Th |
30-Oct-25 |
Abstract data types.
Stacks and queues (GUEST LECTURE) |
C: 5.3-5.6, 6.1-6.4 A: 4.1-4.4, 4.6 |
|
|
|
|
|
|
|
|
|
|
|
Week 9 |
16 |
Tu |
4-Nov-25 |
Linked lists. Overview, singly-linked |
A: 3.3-3.5 |
HW 7 |
|
|
|
We |
5-Nov-25 |
Lab 9: Linked lists |
|
|
|
|
17 |
Th |
6-Nov-25 |
Linked lists. List operations |
|
|
|
|
|
|
|
|
|
|
|
Week 10 |
18 |
Tu |
11-Nov-25 |
Linked lists. Dummy head node, linked list reversal
|
|
HW 8 |
HW 7 |
|
|
We |
12-Nov-25 |
Lab 10: Dummy head/tail nodes and doubly linked-lists |
|
|
|
|
19 |
Th |
13-Nov-25 |
Linked lists. Doubly linked-lists, cost
|
|
|
|
|
|
|
|
|
|
|
|
Week 11 |
20 |
Tu |
18-Nov-25 |
Hash tables. Overview, separate chaining |
A: 14.1-14.3 |
HW 9 |
HW 8 |
|
|
We |
19-Nov-25 |
Lab 11: Hash table using separate chaining |
|
|
|
|
21 |
Th |
20-Nov-25 |
Hash tables. Separate chaining, linear probing |
|
|
|
|
|
|
|
|
|
|
|
Week 12 |
22 |
Tu |
25-Nov-25 |
Graphs and trees. Overview |
|
|
HW 9 |
|
|
We |
26-Nov-25 |
THANKSGIVING BREAK |
|
|
|
|
|
Th |
27-Nov-25 |
THANKSGIVING BREAK |
|
|
|
|
|
|
|
|
|
|
|
Week 13 |
23 |
Tu |
2-Dec-25 |
Binary search trees. Overview |
A: 3.7, 5.3-5.7 |
HW 10 |
|
|
|
|
We |
3-Dec-25 |
Lab 12: Binary search tree implementation |
|
|
|
|
24 |
Th |
4-Dec-25 |
Graphs. Depth-first search |
A: 3.7, 5.3-5.7 |
|
|
|
|
|
|
|
|
|
|
Week 14 |
25 |
Tu |
9-Dec-25 |
Graphs. Breadth-first search |
A: 5.8 |
|
|
|
|
We |
10-Dec-25 |
Lab 13: Review. |
|
|
|
|
26 |
Th |
11-Dec-25 |
Wrap-up. |
|
|
HW 10 |
|
|
|
|
|
|
|
|
Week 15 |
|
|
19-Dec-25 |
Final Exam: 9a-12p in Exley 121 |
|
|
|