Computer Science I
CS 13001
Spring 2013

instructor: Mikhail Nesterenko
office:MSB 356
office hours:MW 1:00-2:00pm, M 7:00-8:00pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lectures sections 001,002,003,004 MSB 228 MW 2:15-3:30pm
sections 005,006 MSB 120 MW 5:30-6:45pm

lab instructor:Saleh Alnaeli
labs:section 001: F 9:55-11:50am, MSB 139 (Sean)
labs:section 002: R 9:55-11:50am, MSB 139 (Zhi)
email:salnaeli AT kent.edu

lab instructor:Zhi Yuan
labs:section 003: F 12:05-2:00pm, MSB 139 (Sean)
section 004: W 9:55-11:50am, MSB 139 (Saleh)
email:zyuan AT cs.kent.edu

lab instructor:Sean Reber
labs:section 005: T 5:30-7:25pm, MSB 139 (Zhi)
email:sreber1 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
report on the course

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 add1, celsius2fahrenheit 12.1
void-functions and call-by-reference void-functions, program stack, call-by-reference 5.1, 5.2, 14.1
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
multidimenstional arrays, vectors of vectors example usage 7.4
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
namespaces namespaces 12.2
bitwise operations, bit fields bit manipulation bit manipulation
parallel computations parallel patterns library anonymous functions, MS parallel algrithms, MS lambda expression syntax