COMP 211: Principles of Imperative Computation
Sections 1 and 2, Fall 2022
         Home Schedule Policies Resources         


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