|
Course Description
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
|