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


   # 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