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


   # DAY DATE TOPIC READING OUT DUE
Week 1 1 Th 24-Jan-19 Overview. Info vs. data, von Neumann arch, binary/bits/bytes
               
Week 2 2 Tu 29-Jan-19 Data types. (Un)signed int, floating point, char, string datatypes.c, C datatypes C: 1.1-1.5
A: 3.1
HW 1
We 30-Jan-19 Lab 1: Using Linux, Vim, Edit a text file, helloworld.c 
3 Th 31-Jan-19 Programming. Low-level vs. high, imperative vs. functional C: 2.1-2.12
               
Week 3 4 Tu 5-Feb-19 Execution semantics. Program execution using binding tables C: 3.1-3.7 HW 2 HW 1
We 6-Feb-19 Lab 2: A more complicated C program
5 Th 7-Feb-19 Functions. Execution semantics, memory usage C: 4.1-4.4,4.8
A: 3.2
               
Week 4 6 Tu 12-Feb-19 Arrays. Execution semantics, memory usage C: 1.6-1.9
A: 2.1-2.4
HW 3 HW 2
We 13-Feb-19 Lab 3: Functions and arrays
7 Th 14-Feb-19 Linear search. Cost overview, searching an unsorted array A: 2.6-2.7
               
Week 5 8 Tu 19-Feb-19 Binary search. Searching a sorted array C: 4.5, 4.6 HW 4 HW 3
We 20-Feb-19 Lab 4: Header files in C and searching
9 Th 21-Feb-19 Recursion. Overview and execution semantics
factorial.c, fibonacci.c
C: 4.10-4.11
A: 5.1-5.2
               
Week 6 10 Tu 26-Feb-19 Recursion.  recap, re-implement binary search
binsearch_r.c, malloc-func.c
A: 6.1-6.6 HW 5 HW 4
We 27-Feb-19 Lab 5: Recursion
11 Th 28-Feb-19 Pointers, Sorting.  Overview, selection sort
ptr_example.c, interactive
A: 8.1-8.6
               
Week 7 12 Tu 5-Mar-19 Sorting. Selection sort, mergesort
mergesort.c
A: 7.1-7.6 HW 5
We 6-Mar-19 Lab 6: Arrays and code correctness
13 Th 7-Mar-19 Mergesort. Algorithm, cost
Obfuscated C code
               
Week 8 Tu 12-Mar-19 MARCH BREAK
We 13-Mar-19 MARCH BREAK
Th 14-Mar-19 MARCH BREAK
               
Week 9 Tu 19-Mar-19 MARCH BREAK
We 20-Mar-19 MARCH BREAK
Th 21-Mar-19 MARCH BREAK
               
Week 10 14 Tu 26-Mar-19 Quicksort, Data structures. Structs and pointers
quicksort.c
C: 5.3-5.6, 6.1-6.4
A: 4.1-4.4, 4.6
HW 6
We 27-Mar-19 Lab 7: Structs and pointers
15 Th 28-Mar-19 Abstract data types. Overview
               
Week 11 16 Tu 2-Apr-19 Abstract data types. Sequences, queues, stacks HW 6
We 3-Apr-19 Lab 8: Review
17 Th 4-Apr-19 MIDTERM
               
Week 12 18 Tu 9-Apr-19 Linked lists. Overview, singly-linked A: 3.3-3.5 HW 7
We 10-Apr-19 Lab 9: Linked lists
19 Th 11-Apr-19 Linked lists. List operations, dummy head node
               
Week 13 20 Tu 16-Apr-19 Linked Lists. Reversal, doubly linked, cost  A: 14.1-14.3 HW 8 HW 7
We 17-Apr-19 Lab 10:  Dummy head/tail nodes and doubly linked-lists
21 Th 18-Apr-19 Hash tables. Overview, cost
               
Week 14 22 Tu 23-Apr-19 No class HW 8
We 24-Apr-19 Help session during lab
23 Th 25-Apr-19 No class
               
Week 15 24 Tu 30-Apr-19 Hash tables. Separate chaining implementation HW 9
We 1-May-19 Lab 11: Hash tables
25 Th 2-May-19 Hash tables. Linear probing implementation
               
Week 16 26 Tu 7-May-19 Wrap-up. HW9
We 8-May-19 Lab 12: Review. 
               
Week 17 Th 16-May-19 Final Exam: 7-10p in Exley 121