Week |
Date |
Topics |
1 |
1/16 |
Overview of course and introduction to programming (Chapter 1)
- School closed for MLK birthday observance on 1/15
- 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/23 |
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/30 |
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
|
4 |
2/6 |
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/13 |
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
|
6 |
2/20 |
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/27 |
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/6 |
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
|
|
3/13 |
School closed 3/12 - 3/18 for Spring Break |
9 |
3/20 |
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/27 |
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
- School closed on 3/29 for faculty development
- School closed on 3/30 for Good Friday
|
11 |
4/3 |
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/10 |
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
|
13 |
4/17 |
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
|
14 |
4/24 |
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/1 |
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/8 |
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
|
17 |
5/15 |
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 |