CSCI 1320 (Principles of Algorithm Design I):
Lecture Topics and Assignments

The table below shows what we will be discussing in each class meeting, readings, dates of exams, and due dates for homeworks. Dates of exams are fixed; other items are subject to change. Readings are from the textbook unless otherwise indicated.

Date Topics Reading Due dates
August 23 (Th) About the course (Notes) 1  
August 28 (T) Introduction to Linux and C (Notes) 2.1 through 2.3; Unix/Linux hints and tips (skim), vi hints and tips (skim)  
August 30 (Th) More about Linux and C (Notes) Unix/Linux files, Unix/Linux file security  
September 4 (T) Binary numbers (Notes) D.1  
September 6 (Th) No class    
September 11 (T) No class    
September 13 (Th) No class    
September 18 (T) Variables, types, and I/O (Notes) 2.4 through 2.7 Homework 1: HTML, PDF
September 20 (Th) Expressions and statements (Notes) 3.1 through 3.11 Quiz 1
September 25 (T) Machine arithmetic, floating-point numbers, and type conversions (Notes) D.2, D.3  
September 27 (Th) Boolean expressions and if (Notes) 5.1, 5.2 Quiz 2; Homework 2: HTML, PDF
October 2 (T) More about conditional execution; functions (Notes) 5.3 through 5.9, 4  
October 4 (Th) More about functions; review for exam (Notes)   Quiz 3; Homework 3: HTML, PDF
October 9 (T) Midterm exam (Review in HTML, PDF)    
October 11 (Th) More about functions (Notes)    
October 16 (T) Loops (Notes) 6.1 through 6.8  
October 18 (Th) Repetition and recursion (Notes) 6.9 through 6.14 Homework 4: HTML, PDF
October 23 (T) Testing; I/O redirection; more repetition and recursion (Notes)   Quiz 4
October 25 (Th) Character I/O and files (Notes) 7.1 through 7.9  
October 30 (T) No class    
November 1 (Th) 1D arrays (Notes) 8.1 through 8.4 Homework 5: HTML, PDF
November 6 (T) 1D arrays, continued; sorting and searching (Notes) 8.5, 8.6  
November 8 (Th) Sorting and searching, continued (Notes)    
November 13 (T) Sorting and searching, continued (Notes)   Quiz 5; Homework 6: HTML, PDF
November 15 (Th) Multidimensional arrays; pointers and pass by reference; a little about strings (Notes) 8.7 through 8.13 (skim); 9  
November 20 (T) No class    
November 22 (Th) No class (holiday)    
November 27 (T) More about pointers; dynamic memory; strings (Notes) 10, 11 Quiz 6
November 29 (Th) A little more about strings; user-defined types (Notes) 12  
December 4 (T) Course wrap-up and evaluations (Notes)   Homework 7: HTML, PDF
December 10 (2pm) Final exam (Review in HTML, PDF)    
December 12     Optional Homework X: HTML, PDF