Computer Science I: Programming and Problem Solving
CS 13001
Fall 2014

lecture instructor: Mikhail Nesterenko
office:MSB 356
office hours:MW 12:30-2:00pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lectures: MW 9:15am-10:30am, LCI 101
.
lab instructor:Shamal Al-Dohuki
labs:section 002: R 2:15-4:10pm, MSB 139, (backup: Dianne)
section 004: F 7:45-9:40am, MSB 139, (Saleh)
email:saldohuk AT kent.edu
.
lab instructor:Saleh Alnaeli
labs:section 003: T 9:55-11:50am, MSB 139, (Salem)
section 005: T 6:35-8:30pm, MSB 139, (Salem)
email:salnaeli AT kent.edu
.
lab instructor:Salem Othman
labs:section 001: T 2:15-4:10pm, MSB 139, (Shamal)
section 007: M 12:05-2:00pm, MSB 139, (Shamal)
email:sothman AT kent.edu
.
lab instructor:Rahul Sehgal
labs:section 006: F 2:15-4:10pm, MSB 162 (Saleh),
email:rsehgal AT cs.kent.edu
.
lab instructor:Dianne Foreback
labs:section 008: R 5:30-7:25pm, MSB 139 (Rahul),
email: dforebac 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

example midterm exam example final exam final exam, consultation times, revew topics

Mailing list: list info/subscription, archive, previous year's archive

Slides and Examples
topic examples book chapters
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 order, toll 2.4, 3.1-3.2
iterative constructs: while, do-while, for max, odometer 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, boolean functions 4.3,4.5
separate files, independent compilation, header files add1 in separate files 12.1
void-functions and call-by-reference stack example, swap'em, valueVSreference 5.1, 5.2, 14.1
defining arrays, arrays with for-loops, passing arrays as arguments, initialize array, pass as parameter 7.1-7.2
strings finding in/updating/passing as parameters/etc. 8.1,8.2
file input/ouput sum of three numbers, setw, cerr, to_string, stoi 6.1
structures simple, complex, passing as parameters, using with arrays 10.1
classes simple, constructors, inline functions, friend functions 10.2
pointers pointer usage 9.1
new and delete operations, dynamic memory, dynamic objects dynamic memory dynamic objects 9.2,11.4
vectors elementary operations, size change, use with functions, iterators 8.3, 18.1
multidimenstional arrays, vectors of vectors index counting, multiplication table 7.4
recursion write vertical, sum, referse 14.1
namespaces defining, std 12.2
representing program structure with diagrams OMT, UML
automatic code documentation battleship, XML parser documented with Doxygen doxygen main page