1. Course information
1.1 Course description
Credit: 4 (3 lecture, 1 lab).
This course presents basic programming concepts using the C++ programming language. Standard I/O classes are emphasized. Structured and object oriented
programming techniques are presented and used to design and implement a variety of programming problems.
1.2 Course objectives:
Upon successful completion of this course, the student will be able to:
· Create simple to intermediate level console applications using the standard I/O routines in C++.
· Understand and be able to apply the various data types and structures in C++.
· Understand and use basic object oriented programming techniques.
· Understand and use procedural abstraction and top-down design.
· Create programs that store and access data to and from files.
2. Book and materials:
Required textbook:
Starting Out with C++ - From Control Structures through Objects
by Tony Gaddis. Copyright © 2009, Pearson Education, Inc. ISBN 0-321-40939-6.
3. Course requirements
Programming Assignments: Exercises are in corresponding sections of the required book.
Projects or Team Class Projects: Projects are given by the instructor after finishing a chapter.
Midterm Examinations:
Class attendance/participation: Evaluated by checking in the Attendance Book
4. Grading Procedures
Prograrming assignments: 10%
Quizzes: 10%
Projects or Team Class Projects: 10%
Midterm Examinations: 25%
Class attendance/participation: 5%
Final Examination: 40%
5. Course Topics
These are the topics to be covered in this course (not necessarily in this order)...
1. Introduction to Computers and C++ Programming
2. Introduction to C++
3. Expressions and Interactivity
4. Making Decisions
5. Looping
6. Functions
7. Arrays
8. Sorting and Searching Arrays
9. Pointers
10. Strings
11. Structured Data
12. File I/O
6. Course outline details
CHAPTER 1 Introduction to Computers and C++ Programming
1.1 Introduction to program
1.2 Computer Systems: Hardware and Software
1.3 Programming Languages
1.4 Input, Processing, and Output
1.5 The Programming Process
1.6 Procedural and Object-Oriented Programming
CHAPTER 2 Introduction to C++
2.1 The Parts of a C++ Program
2.2 The cout Object
2.3 The #include Directive
2.4 Standard and Prestandard C++
2.5 Variables, Constants
2.6 Basic Data Types
2.7 Arithmetic Operators
2.8 The cin Object
CHAPTER 3 Expressions and Interactivity
3.1 Mathematical Expressions
3.2 Implicit Type Conversion
3.3 Explicit Type Conversion
3.4 Overflow and Underflow
3.5 Named Constants
3.6 Multiple and Combined Assignment
3.7 Formatting Output
3.8 Working with Characters and String Objects
3.9 More Mathematical Library Functions
3.10 Introduction to Files
CHAPTER 4 Making Decisions
4.1 Relational Operators
4.2 The if Statement
4.3 The if/else Statement
4.4 Logical Operators
4.5 Checking Numeric Ranges with Logical Operators
4.6 The Conditional Operator
4.7 The switch Statement
4.8 Enumerated Data Types
CHAPTER 5 Looping
5.1 Counters
5.2 Introduction to Loops: The while Loop
5.3 Letting the User Control the Loop
5.4 Keeping a Running Total
5.5 Sentinels
5.6 The do-while
5.7 The for Loops
5.8 Deciding Which Loop to Use
5.9 Nested Loops
5.10 Breaking Out of a Loop
5.11 The continue Statement
CHAPTER 6 Functions
6.1 Modular Programming
6.2 Defining and Calling Functions
6.3 Function Prototypes
6.4 Sending Data into a Function
6.5 Passing Data by Value
6.6 The return Statement
6.7 Returning a Value from a Function
6.8 Returning a Boolean Value
6.9 Local and Global Variables
6.10 Static Local Variables
6.11 Default Arguments
6.12 Using Reference Variables as Parameters
6.13 Overloading Functions
6.14 The exit() Function
CHAPTER 7 Arrays
7.1 Arrays Hold Multiple Values
7.2 Accessing Array Elements
7.3 Inputting and Displaying Array Contents
7.4 Array Initialization
7.5 Processing Array Contents
7.6 Using Parallel Arrays
7.7 The typedef Statement
7.8 Arrays as Function Arguments
7.9 Two-Dimensional Arrays
7.10 Arrays with Three or More Dimensions
7.11 Vectors
7.12 Arrays of Structures
CHAPTER 8 Searching and Sorting Arrays
8.1 Introduction to Search Algorithms
8.2 Searching an Array of Objects or Structures
8.3 Introduction to Sorting Algorithms
8.4 Sorting and Searching Vectors
8.5 Introduction to Analysis of Algorithms
CHAPTER 9 Pointers
9.1 Getting the Address of a Variable
9.2 Pointer Variables
9.3 The Relationship Between Arrays and Pointers
9.4 Pointer Arithmetic
9.5 Initializing Pointers
9.7 Pointers as Function Parameters
9.8 Dynamic Memory Allocation
9.9 Returning Pointers from Functions
9.10 Pointers to Structures
CHAPTER 10 Strings
10.1 C-strings
10.2 Library Functions for Working with C-Strings
10.3 String/Numeric Conversion Functions
10.4 Character Testing
10.5 Character Case Conversion
10.6 Writing Your Own C-String Handling Functions
10.7 More About the C++ string Class
10.8 Creating Your Own String Class
CHAPTER 11 Introduction to: Linked List, Stacks, Queues
11.1 Linked list: Introduction, Operations, Template
11.2 Recursive Linked List Operations
11.3 Variations of the Linked List
11.4 Introduction, Dynamic Stacks
11.5 Introduction, Dynamic Queue
11.6 Definition and Applications of Binary Trees
11.7 Binary Search Tree Operations
CHAPTER 12 File and I/O Operations
12.1 Files
12.2 Output Formatting
12.3 Passing File Stream Objects to Functions
12.4 More Detailed Error Testing
13.5 Member Functions for Reading and Writing Files
13.6 Working with Multiple Files
13.7 Binary Files
13.8 Creating Records with Structures
13.9 Random-Access Files
13.10 Opening a File for Both Input and Output
Instructor’s Signature
Nguyễn Đình Thuân



