This introductory course
focuses on computer programming using C++
computer language. Although programming
languages are numerous, C++ has emerged
as the preferred language for object-oriented
programming and is widely used in applications
such as many Microsoft products.
This intensive course introduces the C++
language, its features, its benefits, and
pitfalls to avoid. It emphasizes the application
of programming skills to solve problems
using clear, logical, object-oriented methods.
The course also covers basic C++ techniques
including classes, inheritance, polymorphism,
and templates, and expands to higher-level
functions. Knowledge of C++ provides a solid
foundation for learning other languages,
including Java, PHP, and PERL.
Learning Objectives:
After completing this course, students will
be able to:
• Understand algorithmic thinking
• Simplify a problem and design a
programming solution
• Detail a design and document the
solution
• Program in C++
• Implement a program that compiles
and executes correctly
• Use the debugging tools and techniques
Breadth of Assignments
This course uses a wide range of assignment
activities to teach and reinforce key concepts
for C++ programming, including interactive
online presentations, offline readings,
individual written exercises, collaborative
exercises, and self-assessment. The course
makes active use of online discussions to
deepen students’ understanding of
the key concepts and to encourage active
interaction and collaboration.
Required Resources
Dale, N. et al (2002). Programming and Problem
Solving with C++ (3rd ed). Jones and Bartlett
Publishers. ISBN: 0763721034
Module/Topics
Module 1: Overview
• The terminology of computers
• The essentials of how computers
work
• Preparing individual and collaborative
reports
• Preparing, presenting, and testing
formal algorithms
Module 2: The C++
Development Process
• The language of C++
• Ways of modifying existing program
code
• Editing variables and compiling
source code
• Writing and compiling source code
Module 3: Data Types
• Focusing on integers and floats
• Introducing library function
• Rewriting algebraic expressions
as C++ expressions
• Writing and compiling C++ source
code that converts Celsius temperature to
Fahrenheit
Module 4: Getting
Data In and Out
• Three key concepts: input using
the cin stream, file input/output (I/O),
and object-oriented versus functional decomposition
design
• Collaborating and adding functionality
to a working C++ program
• Writing and compiling C++ programs
that use a value-returning function from
a standard library to solve a problem
Module 5: Control
Structures
• Introducing several C++ expressions
• Upgrading a calculator program written
in C++
• Writing and compiling C++ programs
that query users for input and generate
an answer based on the user input using
logical expressions and control structures
Module 6: The Use
of Loops
• Introducing loops
• Finite state machines and simulation,
nested logic, Big-O notation, and testing
• Refining the logic of a sorting
program written in C++
• Writing and compiling C++ programs
that generate output using control loops
for flow structures based on specific user
input
Module 7: Problems
and Solutions with Functions
• Focusing on functions created by
the programmer
• Appreciating the difference between
the interface and the implementation
• Writing and compiling C++ programs
that include user-defined functions, provide
flow control, and pass data by value and
by reference
Module 8: Additional
Control Structures
• Scope of an identifier, lifetime
of a variable, and value-returning functions
•CompletingthepresentationoftheC++controlstructures:switch-case,
forloop, break, and continue
• Collaborating, modifying, and compiling
a C++ program
• Modifying C++ source code to reflect
good practice in variable scope
Module 9: Data Type
II
• Transitioning from the control structures
orientation to the abstract data type orientation
• Formalizing a look at the built-in
simple types,
• Representation and manipulation
of character data
• Limitations of the computer in performing
arithmetic, user-defined data types, and
type coercion through promotion and demotion
• Built-in simple types and introducing
some formal terminology to characterize
them
• Writing and compiling a C++ program
that reads input from multiple files using
different data types
Module10: Data Type
III
• Examining the concept of structured
data types
• Examining arrays
• Writing data structures in C++ that
include different data types
• Writing and compiling a C++ program
that reads a file containing different data
types using the abstract data type "struct"
• Writing and compiling a C++ program
that stores data in an array
Module 11: Object-Oriented
Programming
• C++ features that enable a programmer
to design software using object-oriented
methods
• Writing a declaration for a class
in C++ and implementing the "Write"
function of the class
• Writing and compiling a C++ program
using an object that you implement and test
Module 12: Introduction
to Advanced Topics
• Encompassing several advanced topic
areas
• Designing effective and efficient
programs
• Writing source code for functions
that use pointers
• Writing, compiling, and testing
C++ functions that make use of dynamic arrays
• Writing and compiling a C++ program
that makes use of a dynamic linked list