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 27 (Th) No class    
September 2 (T) About the course (Notes) 1  
September 4 (Th) Introduction to Linux and C (Notes) 2.1 through 2.3; UNIX/Linux hints and tips (skim), , Dr. Zhang's learn-by-doing tutorial  
September 9 (T) More about Linux and C (Notes) UNIX/Linux files, UNIX/Linux file security  
September 11 (Th) Binary numbers (Notes) D.1  
September 16 (T) Variables, types, and I/O (Notes) 2.4 through 2.7  
September 18 (Th) Expressions and statements (Notes) 3.1 through 3.11 Homework 1: HTML, PDF
September 23 (T) Machine arithmetic, floating-point numbers, and type conversions (Notes) D.2, D.3 Quiz 1
September 25 (Th) Boolean expressions and if (Notes) 5.1, 5.2 Homework 2: HTML, PDF
September 30 (T) No class    
October 2 (Th) No class    
October 7 (T) More about conditional execution; functions (Notes) 5.3 through 5.9, 4 Quiz 2; Homework 3: HTML, PDF
October 9 (Th) More about functions; review for midterm (Notes)    
October 14 (T) Midterm exam (Review in HTML, PDF)    
October 16 (Th) More about functions (Notes)    
October 21 (T) No class    
October 23 (Th) No class    
October 28 (T) Loops (Notes) 6.1 through 6.8  
October 30 (Th) Repetition and recursion (Notes) 6.9 through 6.14 Quiz 3; Homework 4: HTML, PDF
November 4 (T) Repetition and recursion, continued (Notes)    
November 6 (Th) Character I/O and files (Notes) 7.1 through 7.9 Quiz 4; Homework 5: HTML, PDF
November 11 (T) Character I/O and files, continued; introduction to 1D arrays (Notes) 8.1 through 8.4  
November 13 (Th) 1D arrays, continued (Notes) 8.5, 8.6  
November 18 (T) Sorting and searching (Notes)    
November 20 (Th) No class    
November 25 (T) Multidimensional arrays; pointers and pass by reference; a little about strings (Notes) 8.7 through 8.13 (skim); 9 Quiz 5; Homework 6: HTML, PDF
November 27 (Th) Holiday    
December 2 (T) More about pointers; strings (Notes) 10, 11  
December 4 (Th) Dynamic memory; user-defined types (Notes) 12 Quiz 6
December 9 (T) Course wrap-up and evaluations (Notes)   Homework 7: HTML, PDF
December 15 (M), 2pm Final exam (Review in HTML, PDF)    
December 17 (W), 5pm     Optional extra-credit problems: HTML, PDF