Kishwaukee College Schedule
CIS 150 - 5H02
C++ Programming I - Honors
Tentative Weekly Schedule

Please note that this schedule and the topics covered are likely to change. Changes will be announced in class. If you are not able to attend class, it is your responsibility to find out what was covered. A more detailed schedule is provided on the course website. Assignment descriptions and due dates will also be posted on the course web site.

Week Date   Topics
1 1/17 Overview of course and introduction to programming (Chapter 1)
  • School closed for MLK birthday observance on 1/16/17
  • syllabus
  • C++ compilers, MSDNAA downloads
  • intro to zybooks.com
  • writing a simple program, using Visual Studio
  • program structure, basic input and output, comments, errors
  • basic programming concepts
2 1/24 Variables, expressions, and assignment statements (Chapters 1 and 2)
  • identifiers, variables, and constants
  • assignment statements and arithmetic expressions
  • data types in C++
  • the binary number system
  • output formatting
  • Chapter 1 challenge activities due
  • Chapter 2 challenge activities due
  • In-class lab: Input, output, expressions, calculations
3 1/31 More variables and basics (Chapter 3)
  • characters and strings
  • overflow
  • number types and unsigned numbers
  • type conversions
  • math functions
  • random numbers
  • debugging
  • style guidelines
  • Chapter 3 challenge activities due
  • Program due: Input, output, calculations
  • Honors project: Initial proposal due
4 2/7 Selection (Chapter 4)
  • the Boolean (bool) data type
  • logical operators
  • relational operators
  • using "if" and "if/else" selection statements
  • using the "switch" selection statement
  • the conditional (?) operator
  • Chapter 4 challenge activities due
  • In-class lab: Selection, calculation, output formatting
5 2/14 Repetition (Chapter 5)
  • using the "while" statement
  • using the "do/while" statement
  • using the "for" statement
  • nested loops
  • increment and decrement operators
  • the "break" and "continue" statements
  • loop counters and sentinel values
  • accumulators
  • Chapter 5 challenge activities due
  • In-class lab: Repetition, input validation
  • Program due: Selection, output formatting
  • Honors project: User/project requirements due
6 2/21 Functions (Chapter 6)
  • breaking a program into simpler, modular pieces
  • creating and using simple functions
  • declaring and defining functions
  • calling functions
  • passing values to functions
  • returning values from functions
  • how functions work
  • In-class lab: Functions, input validation
  • Program due: Repetition
7 2/28 Functions continued (Chapter 6)
  • common errors in functions
  • passing references to functions
  • variable scope and lifetime in functions
  • default parameter values
  • overloading functions
  • unit testing for functions
  • Chapter 6 challenge activities due
  • Program due: Functions, input validation
8 3/7 Application of concepts so far and Midterm exam
  • In-class demonstration of concepts covered so far
  • Midterm exam #1: input, output, variables, calculations, selection, repetition
  • Program due: Functions
  • Honors project: Basic design document due
  3/14 School closed 3/13/17 - 3/19/17 for Spring Break
9 3/21 File I/O (Chapter 7), Arrays (Chapter 8)
  • declaring arrays
  • initializing arrays
  • array bounds
  • accessing array values
  • processing arrays
  • In-class lab: Sequential (text) file input/output
10 3/28 Arrays (Chapter 8)
  • creating and using arrays of strings
  • passing arrays to functions
  • Chapter 8 challenge activities due
  • In-class lab: Creating and using arrays
  • In-class lab: Pointers and arrays
  • Program due: Sequential (text) file I/O
  • Honors project: Detailed design document due
11 4/4 Searching and sorting arrays (notes on course website)
String and character operations (Chapter 9)
  • char data type operations
  • C++ string access and modification operations
  • C-style strings (char arrays) and associated operations
  • Chapter 9 challenge activities due
  • In-class lab: Sorting
  • Program due: Arrays
12 4/11 Pointers and reference variables (chapter 10)
  • declaring pointer variables
  • initializing pointer variables
  • the address-of operator (&)
  • using pointer variables, de-referencing (*)
  • dynamic memory allocation
  • releasing dynamic memory
  • working with pointers
  • using reference variables instead of pointers
  • types of memory: heap vs. stack
  • memory leaks
  • functions: passing by value vs. passing by reference
  • functions: passing pointers
  • functions: passing reference variables
  • Chapter 10 challenge activities due
  • Midterm exam #2: functions, arrays, sequential (text) file I/O
  • School closed on 4/13/17 for faculty development
  • School closed on 4/14/17 for Good Friday
13 4/18 Enumerations and structured data (Chapter 11)
  • defining and accessing structures
  • passing structures to functions
  • arrays and pointers to structures
  • Chapter 11 challenge activities due
  • Program due: Pointers, arrays, sorting
  • Honors project: Pleliminary implementation due
14 4/25 Advanced file operations (notes on course website)
  • reading and writing binary file data
  • implementing random access files using C++
  • In-class lab: Random access (binary) file input/output
15 5/2 Introduction to classes (Chapter 12)
  • introduction to objects
  • introduction to classes
  • defining class members
  • defining access: private and public
  • the difference between a class and a struct
  • constructors and member initialization
  • overloading
  • destructors
  • accessors
  • mutators
  • Chapter 12 challenge activities due
  • In-class lab: Classes and objects
  • Program due: Random access (binary) file I/O, structs
16 5/9 Exceptions (Chapter 13)
  • exception basics
  • using exceptions with functions
  • multi-file programs
  • separating header and implementation files for classes
  • preprocessor directives: include, define
  • namespaces
  • Program due: Classes, objects
  • Honors project: Final implementation due
  • Honors project: Reflection report due
17 5/16 Final exam: 6:00 P.M. - 7:50 P.M., Rm. A-1374
comprehensive with emphasis on classes, objects, random access (binary) file I/O