Course Objectives
Source: Computing Concepts with C++ Essentials
Author: Cay Horstmann
Publisher: John Wiley & Sons, Inc.
-
Introduction
-
To understand the activity of programming
-
To learn about the architecture of computers
-
To learn about machine languages and higher-level programming languages
-
To become familiar with your compiler
-
To compile and run your first C++ program
-
To recognize syntax and logic errors
Fundamental Data Types
-
To understand integer and floating-point numbers
-
To write arithmetic expressions in C++
-
To appreciate the importance of comments and good code layout
-
To be able to define and initialize variables and constants
-
To recognize the limitations of the int and floattypes
and the overflow and roundoff errors that can result
-
To learn how to read user input and display program output
-
To be able to change the values of variables through assignment
-
To use the ANSI C++ standard string type to define and
manipulate character strings
-
To be able to write simple programs that read numbers and text, process
the input, and display the results
Objects
-
To become familiar with objects
-
To learn about the properties of several sample classes that were designed
for this book
-
To be able to construct objects and supply initial values
-
To understand member functions and the dot notation
-
To be able to modify and query the state of an object through member functions
-
To write simple graphics programs containing points, lines, circles, and
text
-
To be able to select appropriate coordinate systems
-
To learn how to process user input and mouse clicks in graphics programs
-
To develop test cases that validate the correctness of your programs
Basic Control Flow
-
To be able to implement decisions using if statements
-
To understand statement blocks and nesting
-
To learn how to compare integers, floating-point numbers, and strings
-
To develop strategies for processing input and handling input errors
-
To recognize the correct ordering of decisions in multiple branches
-
To program conditions using Boolean operators and variables
-
To avoid infinite loops and off-by-one errors
Functions
-
To be able to program functions and procedures
-
To become familiar with the concept of parameter passing
-
To recognize when to use value and reference parameters
-
To appreciate the importance of function comments
-
To be able to determine the scope of variables
-
To minimize the use of side effects and global variables
-
To develop strategies for decomposing complex tasks into simpler ones
-
To learn how to design programs that solve practical problems
-
To document the responsibilities of functions and their callers with preconditions
-
To be able to program recursive functions
Classes
-
To be able to implement our own classes
-
To master the separation of interface and implementation
-
To understand the concept of encapsulation
-
To design and implement accessor and mutator member functions
-
To understand object construction
-
To learn how to discover new classes and member functions
-
To learn how to use object-oriented design to build complex programs
Advanced Control Flow
-
To be able to program loops with the while, for
and do/while statements
-
To learn how to read input from a file through redirection
-
To learn how to process character, word and line input
-
To implement approximations and simulations
-
To avoid infinite loops and off-by-one errors
-
To understand nested loops and nested variable scopes
Testing and Debugging (self study)
-
To learn how to design test stubs for testing components of your programs
-
To understand the principles of test case selection and evaluation
-
To be able to use assertions to document program assumptions
-
To become familiar with the debugger
-
To learn strategies for effective debugging
Vectors and Arrays
-
To become familiar with using ANSI stand vectors to collect objects
-
To be able to access vector elements and resize vectors
-
To be able to pass vectors to functions
-
To learn about common array algorithms
-
To be able to build classes containing vectors
-
To learn how to use matrices for two-dimensional collections
Pointers
-
To learn how to declare, initialize and use pointers
-
To become familiar with dynamic memory allocation and deallocation
-
To use pointers in common programming situations that involve optional
and shared objects
-
To understand the relationship between arrays and pointers
-
To be able to convert between string objects and character pointers