Lecture, Reading, Homework and Exam schedule
Homework and programming assignments are posted on the dates shown.
Wk |
Date |
Lecture Topic |
Recommended Reading |
Homework |
Exam |
1 |
01/23/18 Tu |
Course overview, Syllabus, Introduction, vi Editor |
G&A ch. 1, 2 K&R ch. 1.1 |
Homework #1 |
|
01/25/18 Th |
Unix System Fundamentals, and Homework 1 Breakdown slides |
G&A ch. 1, 2 K&R ch. 1.1 |
|
|
2 |
01/30/18 Tu |
Program Breakdown, Variables, Types, Control Flow, and Input/Output slides |
|
Homework #2 |
|
02/01/18 Th |
Bases and Representations, Memory, Pointers, Arrays, For-Loops slides |
|
|
|
3 |
02/06/18 Tu |
Strings, Line-by-line I/O, Functions, Call-by-Reference, Call-by-Value, Casting and Negative Numbers slides |
|
Homework #3 |
|
02/08/18 Th |
Scope of Variables, The Stack, Automatic Variables, Global Variables slides |
|
|
|
4 |
02/13/18 Tu |
Files I/O, Streams, I/O Redirection, Reading with fscanf slides |
|
Homework #4 |
|
02/15/18 Th |
Boolean Operations, Increment and Decrement Operators, Constant Types, enum Types, Precedence slides |
|
|
|
5 |
02/20/18 Tu |
Bitwise Operations, Bit Manipulation, Type Conversion, Conditional Expression slides |
|
|
|
02/22/18 Th |
Bit Shift Operations, Assignment Expressions, Modulo Operator, Converting Numeric Types to Strings slides |
|
|
|
6 |
02/27/18 Tu |
Common C Programming Errors, GDB Debugging slides |
|
Homework #5 |
|
03/01/18 Th |
Pseudocode slides in-class example |
|
|
|
7 |
03/06/18 Tu |
Exam Review Session for Exam #1 |
|
|
Practice Exam #1 |
03/08/18 Th |
EXAM #1 Cancelled |
|
|
|
8 |
03/13/18 Tu |
Spring Break |
|
|
|
03/15/18 Th |
|
|
|
9 |
03/20/18 Tu |
Cancelled |
|
|
|
03/22/18 Th |
EXAM #1 |
|
|
|
10 |
03/27/18 Tu |
Switch Statements, Do While, Break, Continue, Goto, Comma Operator first set of slides
Register Variables, Macros, Conditional Inclusion second set of slides |
|
Homework #6 |
|
03/29/18 Th |
Recursion, Tail Recursion slides |
|
|
|
11 |
04/03/18 Tu |
Larger Projects, Object Files, Prototyping, Header Files, Make Files slides |
|
|
|
04/05/18 Th |
Stack Data Structure, Reverse Polish Notation, Homework 7 slides |
|
Homework #7 |
|
12 |
04/10/18 Tu |
Structs, Struct Arrays, Struct Pointers, sizeof, malloc, free, void pointer slides |
|
|
|
04/12/18 Th |
Circular Buffers, Linked Lists slides |
|
|
|
13 |
04/17/18 Tu |
Command-line Arguments, Typedef, Union, Bit Fields slides |
|
|
|
04/19/18 Th |
Going over Exam #1 and Course Evaluations |
|
|
Practice Exam #2 |
14 |
04/24/18 Tu |
Exam Review Session for Exam #2 |
|
|
|
04/26/18 Th |
EXAM #2 |
|
|
|
15 |
05/01/18 Tu |
Serialization, Pointers to Arrays, Arrays of Arrays, Floating Point Numbers slides |
|
Homework #8 |
|
05/03/18 Th |
System function, Math Library, Function Pointers, Random Number Generators, Built-in qsort and binary search with Function Pointers, Variable Length Variables slides |
|
|
|
16 |
05/08/18 Tu |
Malloc Implementation slides projector |
|
Homework #9 |
Practice Final |
05/10/18 Th |
Study Period: No Class |
|
|
|
Past Lectures by Professor Cheung
Professor Cheung, Lecture 1
Professor Cheung, Lecture 2
Professor Cheung, Lecture 3
Professor Cheung, Lecture 4
Professor Cheung, Lecture 5
Professor Cheung, Lecture 6
Professor Cheung, Lecture 7
Professor Cheung, Lecture 8
Professor Cheung, Lecture 9
Professor Cheung, Lecture 10
Professor Cheung, Lecture 11
Professor Cheung, Lecture 12
Professor Cheung, Lecture 13
Professor Cheung, Lecture 14
Professor Cheung, Lecture 15
Professor Cheung, Lecture 16
Professor Cheung, Lecture 17
Professor Cheung, Lecture 18
|
|
Recommended Texts
|
The C Programming Language, 2nd Edition, Kernighan & Ritchie, Prentice Hall
LINUX for Programmers and Users, 1st Edition, Graham Glass & King Ables, Prentice Hall
For reference:
C Programming for Scientists and Engineers with Applications, 1st Edition, Rama Reddy and Carol Ziegler, Jones and Bartlett
|
|
|