CSCI 1312 (Introduction to Programming for Engineering):
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. The dates of the final exams is fixed; other items are subject to change. Readings are from the textbook unless otherwise indicated.

 
Date Topics Reading Due dates
August 26 (W) No class    
August 28 (F) About the course (Notes)    
August 31 (M) A little more about the course; introduction to Linux (Notes)    
September 2 (W) Command-line basics and text editors (Notes) My notes on CLI commands; my notes on vi; Dr. Lewis's video lectures on Linux and the command line    
September 4 (F) Command-line basics and text editors, continued (Notes) My notes on gcc    
September 7 (M) Holiday    
September 9 (W) Binary numbers (Notes) 1, D.1, D.2, D.3   Homework 1: HTML, PDF  
September 11 (F) Introduction to C; variables, types, and I/O (Notes) 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7  
September 14 (M) Introduction to C, continued (Notes) 3.1, 3.2, 3.3, 3.4, 3.5, 3.6  
September 16 (W) Binary numbers, continued (Notes)    
September 18 (F) Conditional execution (Notes) 5.1, 5.2, 5.3, 5.7, 5.9  
September 21 (M) No class    
September 23 (M) Conditional execution, continued (Notes)   Homework 2: HTML, PDF  
September 25 (F) No class    
September 28 (M) Functions (Notes) 4.1, 4.2, 4.3, 4.5, 4.6  
September 30 (W) Functions, continued (Notes)   Quiz 1
October 2 (F) Functions, continued (optional class)    
October 5 (M) No class    
October 7 (W) No class    
October 9 (F) Repetition through recursion (guest lecturer Dr. Zhang) (Notes) 6.9  
October 12 (M) Recursion, continued; loops (Notes) 6.1, 6.2, 6.3, 6.4, 6.5, 6.7, 6.8 Homework 3: HTML, PDF  
October 14 (W) Loops, continued (Notes)    
October 16 (F) Class recess    
October 19 (M) Loops, continued (Notes)   Quiz 2
October 21 (W) More loops (Notes)    
October 23 (F) No class   Homework 4: HTML, PDF  
October 26 (M) Midterm exam (Review in HTML, PDF)    
October 28 (W) No class    
October 30 (F) No class    
November 2 (M) Arrays (Notes) 8.1, 8.2, 8.3, 8.4, 8.7, 8.8  
November 4 (W) Floating point revisited; ``random'' numbers (Notes)    
November 6 (F) Arrays, continued; sorting and searching (Notes) 8.5, 8.6  
November 9 (M) Text data (Notes)    
November 11 (W) No class    
November 13 (F) No class    
November 16 (M) Text data, continued; command-line arguments (Notes) 11.1, 11.2, 11.3, 11.4, H.1, H.2 Quiz 3; Homework 5: HTML, PDF  
November 18 (W) Files (Notes) 7.1, 7.2, 7.3, 7.4, 7.5  
November 20 (F) (Notes) Pointers 9.1, 9.2, 9.3, 9.4, 11.5, 10.1, 10.2, 10.3  
November 23 (M) No class    
November 25 (W) Holiday    
November 27 (F) Holiday    
November 30 (M) No class    
December 2 (W) Pointers revisited; dynamic memory allocation (Notes) 10.5 Quiz 4  
December 4 (F) A little about user-defined types and linked data structures (Notes) 12.1, 12.3, 15.1, 15.2  
December 7 (M) Course wrap-up and evaluations (Notes)   Homework 6: HTML, PDF  
December 11 (F), noon Final exam (Review in HTML, PDF)    
December 16 (W) (Not a class day)   Homework X (extra credit): HTML, PDF