SyllabusComputer Science 111 -- Algorithmic Problem Solving I
Fall 2004Instructors: J. Alayev, J. Levy, D. Nixon
Required Texts:
- Jan Skansholm, C++ From the Beginning, second edition, Addison-Wesley, 2002. (Available at the bookstore.)
- D. Nixon, tutorial material and examples accompanying the homework assignments on this website.
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.