Computer Science I
CS 13001

Room: MSB 228
Fall 2012
MW 2:15-3:30pm

instructor: Mikhail Nesterenko
office:MSB 356
office hours:MW 1:00-2:15pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lab instructor:Sean Reber
labs:section 001: W, 12:05-2:00pm, MSB 139
section 003: F, 9:55-11:50pm, MSB 139
email:sreber1 AT kent.edu

lab instructor:Saleh Alnaeli
labs:section 002: T, 12:05-2:00pm, MSB 139
section 004: R, 9:55-11:50am, MSB 139
email:salnaeli 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/subscription, archive, previous year's 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 9.2,11.4
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