BU CLA CS 111: Introduction to Computer Science I

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