Skip to content Skip to navigation

C/C++ PROGRAMMING - CS 2433 Syllabus

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.6 Comparing 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