Syllabus

Computer Science 111 -- Algorithmic Problem Solving I
Fall 2004

Instructors: J. Alayev, J. Levy, D. Nixon

Required Texts:


Topics to be covered in lecture:

Target dates Topics
Mon 8/30
(0.5 week)



General intro, including
source code vs. machine language,
compiling and running a program.
(Skansholm, § 1.1 to 1.3,
and Assignment 1 tutorials.)
Wed 9/01
(0.5 week)
Elementary C++ syntax.
("Hello world" example.)
Wed 9/08
(0.5 week)



Variables, data types, and arithmetic.
Declaration and assignment.
Memory vs. secondary storage,
(Skansholm, § 2.1, 2.2,
and Assignment 1 tutorials.)
Mon 9/13
(0.5 week)


Library functions.
More about the preprocessor,
the compiler, and the linker.
More about data types.
Mon. 9/20 Quiz 1 (in lab)
Mon 9/20
(0.5 week)


Characters and strings, brief intro.
C-strings vs. string class objects.
Escape sequences.
(Assignment 2 tutorials.)
Wed. 9/22.
to Wed. 9/29
(1.5 week)






if, if/else, nested if/else.
Algorithm development.
Testing and debugging.
Indentation.
Initialization vs. garbage values.
Comparison of characters and strings.
Boolean expressions.
(Skansholm, § 1.4, 1.5, 2.3, 2.4, 3.1,
and Assignment 3 tutorials.)
Mon. 10/04 Quiz 2 (in lab)
Mon. 10/04
to Mon. 10/18)
(2 weeks)












while loops.
Processing characters in a C-string.
Testing and debugging loops.
Input error handling.
Signalling end of input.
Scope of variables, brief intro.
break statements.
Text file I/O (as example of use of
both loops and C++ library classes).
Increment/decrement operators.
Arithmetic assignment operators.
The get and getline
functions of an input stream.
(Skansholm, § 2.5, 3.2, 3.4,
and Assignment 4 tutorials.)
Wed. 10/20 Exam 1 (lecture)
Mon. 10/25
to Mon. 11/01.
(1.5 week)






Arrays (other than C-strings).
Partially-filled arrays.
for loops.
Various kinds of repetition (e.g.
count-controlled vs. event-controlled).
Nested loops and efficiency.
Command-line arguments (brief).
(Skansholm, §2.6, 2.7,
and Assignment 5 tutorials.)
Wed. 11/03 Quiz 3 (in lab)
Wed. 11/03
to Mon. 11/15.
(2 weeks)






Programmer-defined functions.
Value-returning vs. void functions.
Value vs. reference parameters.
Boolean functions.
Scope and duration of variables.
Program development using functions
Function comments.
Objects (e.g. strings) as parameters.
(Skansholm, § 4.1 to 4.7,
and Assignment 6 tutorials.)
Wed. 11/17 Quiz 4 (in lab)
Wed. 11/17
to Mon. 12/01
(2 weeks)

Arrays as parameters.
Very brief intro to pointers.
Two-dimensional arrays.
(Assignment 7 tutorials.)
Mon. 12/06 Exam 2 (lecture)
Wed. 12/08
(0.5 week)

switch
(Skansholm, § 15.7,
and "Assignment 8" tutorials.)
Mon. 12/13
(0.5 week)

do/while Appropriate
use of various loops.
("Assignment 8" tutorials.)
Tue. 12/14
(Wed. schedule)
(0.5 week)
Review for final exam.