syllabus

subject to change!
last updated: 07-jan-2009

unit I: displaying simple information and remembering it (output and data)
daystopic(s)readings/resources
mon-26-jan course intro: it's all about CONTROL! lecture notes
lab
wed-28-jan first program: displaying simple information
(output and coding cycle)
lecture notes
lab
overland p1-19
mon-02-feb remembering information
(data storage, variables and constants)
lecture notes
lab
overland p20-23
wed-04-feb manipulating information
(assignment and mathematical operators)
lab
overland p23-30
mon-09-feb unit I project lab project I (due FEB 16)
wed-11-feb extra time on unit I project lab
mon-16-febpresident's day (no classes)
unit II: reading simple information and making decisions about it (input and control structures)
daystopic(s)readings/resources
wed-18-feb reading simple information and making decisions
(input; relational operators and if/else control structure)
lecture notes
lab
overland p37-44
mon-23-feb "go around again!"
(while loops; logical operators)
lecture notes
lab
roomba.cpp
overland p44-50 and p65-73
wed-25-feb being random
(random numbers; switch control structures; for loops)
lecture notes
lab
overland p50-57 and p106-109
mon-02-mar extra time on labs II.1 through II.3
wed-04-mar unit II project lab project II (due MAR 16)
unit III: behaving efficiently (functions)
daystopic(s)readings/resources
mon-09-mar what are functions and why to use them
(built-in/library functions, math, cctype, formatted output)
lecture notes
overland p57-61
wed-11-mar writing your own functions
(arguments, return values, prototypes, headers)
lecture notes
lab
overland p81-88
mon-16-mar changing information, or not
(reference parameters)
lecture notes
lab
overland p302-304
wed-18-mar unit III project lab project III (due APR 1)

mon-23-marMIDTERM EXAM

unit IV: dealing with complex information (arrays and strings)
daystopic(s)readings/resources
wed-25-mar what are arrays and why to use them
(integer arrays)
lecture notes
lab
overland p111-116
mon-30-mar midterm discussion
robotics lab
robotics lab
wed-01-apr what are strings and why to use them
(strings)
lecture notes
lab
overland p122-130
mon-06-apr doing things with arrays and strings
(passing arrays/strings to/from functions and 2D arrays)
unit IV project lab
lecture notes
project IV (due APR 24)
overland p130-137
examples from class:
array0.cpp array1.cpp array2.cpp string0.cpp string1.cpp string2.cpp string3.cpp arrayString.cpp array2D.cpp
wed-08-aprspring break
mon-13-aprspring break
wed-15-aprspring break
unit V: doing interesting things with all kinds of information (searching and sorting)
daystopic(s)readings/resources
mon-20-apr saving information
(file operations)
lecture notes
overland p197-205
examples from class:
file1.cpp file2.cpp
wed-22-apr sorting information
(sorting algorithms: blort, selection, insertion, bubble)
lecture notes
examples from class:
blortsort.cpp bubblesort.cpp insertionsort.cpp selectionsort.cpp
mon-27-apr finding a needle in a haystack
(searching algorithms; comparing algorithms)
lecture notes
project V (due MAY 11)
wed-29-apr IN-CLASS QUIZ
unit V project lab
unit VI: organizing programs (simple classes)
daystopic(s)readings/resources
mon-04-may getting organized
(simple classes with only data members)
lecture notes
examples from notes:
p1.cpp p2.cpp p3.cpp p4.cpp
overland p261-271
wed-06-may binary search
catch-up lab time
mon-11-may quizzes returned and review
begin final exam review
project VI (due MAY 20)
wed-13-may end final exam review
unit VI project lab

thu-21-mayFINAL EXAM
1.00pm-3.00pm
ROOM 4428N