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