Spring 1998
Schedule
All section references are to the textbook,
C: How To Program, by Deitel and Deitel, Second Edition.
Syllabus: The course will cover the fundamentals of programming in C.
Topics include: Structured program development (Chap 3), program control (Chap 4),
functions (Chap 5), arrays (Chap 6), pointers (Chap 7), characters and strings
(Chap 8), formatted input/output (Chap 9), structures and unions (Chap 10).
Time permitting, we will cover aspects of file processing (Chap 11) and data
structures (Chap 12).
-
98.01.13
-
Goals, methods, overview of entire course, relation to
other courses. Read on your own Preface and, as much as you can,
Chapter 1 (Computing Concepts). Sections 2.1, 2.2 and 2.3
covered in class.
-
98.01.15
-
Sections 2.4 (memory concepts), 2.5 (arithmetic in C), 2.6 (decision making
and conditional statements).
-
98.01.20
-
More on Section 2.5 (arithmetic in C), more on Section 2.6 (decision making
and conditional statements). Begin Chapter 3: Sections 3.1, 3.2, 3.3.
-
98.01.22
-
More on Section 2.6 (decision making and conditional statements).
Continue with Sections 3.4 (control structures), 3.5 ("if" statement)
and 3.6 ("if-else" statements).
-
98.01.27
-
Section 3.7 ("while" statement), parts of Sections 3.8, 3.9 and 3.10
(case studies).
-
98.01.29
-
Section 3.11 (assignment operators), Sections 3.12 (increment and
decrement operators), Sections 4.1, 4.2, 4.3, 4.4 (more on repetition
structures, "for" statement).
-
98.02.03
-
Sections 4.5 and 4.6 (more on the "for" statement),
Section 4.7 ("switch" statement).
-
98.02.05
-
Section 4.8 ("do-while" statement), Section 4.9 ("break" and "continue"
statements), Section 4.10 (logical operators), loose ends in Sections
4.11 and 4.12.
-
98.02.10
-
Sections 5.1 to 5.7 (math library functions, function definitions,
function prototypes, header files).
-
98.02.12
-
Sections 5.8 (parameter passing) and 5.9 (random number generation).
-
98.02.19
-
Sections 5.11 (storage classes) and 5.12 (scoping rules).
-
98.02.24
-
Sections 5.13 (recursion) and 5.14 (examples using recursion).
-
98.02.26
-
More on recursion vs. iteration. Sections 5.14 (the fibonacci function)
and 5.15 (recursion vs. iteration).
-
98.03.03
-
Sections 6.1, 6.2, 6.3 and 6.4 (arrays, declaring arrays, examples using
arrays).
-
98.03.17
-
Sections 6.4 and 6.5 (more on arrays).
-
98.03.19
-
Section 6.5 (passing arrays to functions), Section 6.6 (sorting arrays).
-
98.03.24
-
Section 6.8 (searching arrays), Section 6.9 (multi-dimensional arrays).
-
98.03.31
-
Sections 7.1, 7.2, 7.3 (introductory material on pointers).
-
98.04.02
-
Section 7.4 (call-by-reference), Section 7.5 (const qualifier),
Section 7.8 (relationship between pointers and arrays).
-
98.04.07
-
Once over easy: Sections 8.1, 8.2 and 8.3 (fundamentals of strings and characters).
-
98.04.09
-
Once over easy: Sections 8.4, 8.5, 8.6 and 8.7 (various functions to operate on
characters and strings).
-
98.04.14
-
Concluding examples and comments on Chapter 8. Examples from Sections 8.7, 8.8,
and 8.9.
-
98.04.16
-
Selected topics from Chapter 9: Formatted Input/Output.
-
98.04.21
-
Start with Chapter 10: Structures, Unions.
-
98.04.23
-
More from Chapter 10: Sections 10.2 (structure definitions),
10.3 (initializing structures), 10.4 (accessing members of
structures).
-
98.04.28
-
Section 10.7 (example of card shuffling), Section 10.9 (bitwise
operators).
-
98.04.30
-
Section 10.10 (bit fields), Section 10.11 (enumeration constants).
Assaf Kfoury
Created: 98.01.12
Modified: 98.04.30