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


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