Computer Science I
CS 23021

Room: MSB 228
Spring 2012
MW 11:00am-12:15pm

instructor: Mikhail Nesterenko
office:MSB 356
office hours:MW 12:30-2:00pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lab instructor:Rizal Nor
office:MSB 134
office hours:M 4:15-5:15pm,
phone:(330) 672-9002
labs:section 001: M, 2:15-4:10pm, MSB 139
section 003: W, 2:15-4:10pm, MSB 139
email:rnor AT cs.kent.edu

lab instructor:Zakiya Tamimi
office:MSB 138
office hours:T 12:30-1:30pm
phone:(330) 672-9004
labs:section 004: T, 9:55-11:50am, MSB 139
section 002: F, 12:05-2:00pm, MSB 139
email:ztamimi AT kent.edu

Textbook: Problem Solving With C++ by Walter J. Savitch, Addison-Wesley, 2011, Eigth Edition, ISBN: 9780132162739. The textbook is required. Older editions may be allowed, check with me for details.

syllabus, tentative schedule, labs final exam, consultation times, revew topics

Mailing list: list info, archive

Slides and Examples
topic examples book chapter
introduction, history of C++, C++ program outline 1.1-1.3
first program, development environment hello world, area 1.3-1.4
variables, identifiers, assignment, input/output 2.1-2.2
types, expressions, more on assignment 2.3
boolean algebra, boolean and relational operators, branching constructs if, switch 2.4, 3.1-3.2
iterative constructs: while, do-while, for while for 2.4, 3.3-3.4
programming style, comments, naming programs
predefined functions (library functions)
doghouse, equation, time and random 2.5, 4.2
programmer-defined functions, local and global variables, call-by-value add1, lawoffice, windchill 4.3,4.5
design, design examples, debugging functions buying pizza 4.1, 4.4, 5.3, 5.4
separate files, independent compilation, header files, using Make and GDB with separate files add1, celsius2fahrenheit 12.1
void-functions and call-by-reference void-functions, call-by-reference 5.1, 5.2
defining arrays, arrays with for-loops, passing arrays as arguments, projects with arrays and functions, constant arrays as parameters, searching and sorting arrays using arrays, plants, searching and sorting 7.1-7.2
strings strings 8.1,8.2
structures, file input/ouput structs i/o 10.1, 6.1
classes classes 10.2
abstract data types implementations of bank account: one two 10.3
friend functions, operator overloading friends, overloading: Bach, US currency 11.1
arrays of objects, objects of arrays basic examples, bank statement day schedule 1 day schedule 2 11.3
pointers pointer usage 9.1
new and delete operations, dynamic memory, dynamic objects, automatic code documentation dynamic memory dynamic objects documentation 11.2,11.3
vectors vectors 8.3, 18.1
lists lists 13.1
class and function templates basic, insertion-sort, linked-list 17.1-17.2
inheritance inheritance 15.1,15.2
exception handling exceptions 16.1,16.2
representing program structure with diagrams OMT, UML
recursion recursion 14.1
bitwise operations, bit fields bit manipulation bit manipulation
parallel computations parallel patterns library anonymous functions, MS parallel algrithms, MS lambda expression syntax