C++ Programming Outline
Problem Solving and Programming |
Department of Computer Science
and I.T. |
Fall 2019 Morning |
Course Description
Course Code |
CS-105 |
|||||||||||||||||||
Course
Title |
Problem Solving and Programming |
|||||||||||||||||||
Credit
Hours |
2+1 |
|||||||||||||||||||
Prerequisites
by Course(s) and Topics |
|
|||||||||||||||||||
Follow
Up |
Object Oriented Programing |
|||||||||||||||||||
Assessment
Instruments with Weights (Homework, quizzes,
midterm, final, programming assignments, lab work, etc.) |
|
|||||||||||||||||||
Course
coordinator |
|
|||||||||||||||||||
URL
(if any) |
|
|||||||||||||||||||
Current
Catalog Description |
||||||||||||||||||||
Textbook
(or Laboratory Manual for Laboratory
Courses) |
A. starting out with C++ from control structures through Objects (sixth edition) By Tony Gaddis B. Maureen Sprankle et al, Problem Solving and Programming Concepts, 9th Ed. Prentice Hall, 2012 |
|||||||||||||||||||
Reference
Material |
Gary J. Bronson, Program Development and Design Using C++, 2nd Edition |
|||||||||||||||||||
Course
Goals |
The course is aimed to develop problem
solving strategies, techniques and skills that can be applied to computers
and problems in other areas. The course focuses on thinking, with a
particular emphasis on logic, structure and clarity. Students will be able to
develop problem solving skills and strategies for analyzing a problem,
designing and programming (in C++) a solution to the stated problem, and
documenting and testing the solution. |
|||||||||||||||||||
Course
Contents |
Introduction to Problem Solving:
Understanding the Problem; Problem Solving Concepts; Analysis of the
Problem; Problem Description; Computer
Based Problem Solving; Programing Environment: Introduction to Programming
Languages. Editors, Compilers, Linkers, Debuggers Introduction to Programming; Programming
Structures: Sequence Structure,
Selection Structure, Repetition Structure. Problem Solving with Sequence
Structure, Problem Solving with Selection Structure Problem Solving with
Repetition Structure. C++ Programming Basics: Variables and Data
Types. Input/Output Statements. Assignment Statement. Operators and their
Precedence. Control Structures: Decision Statements. If and Switch
Statements. Repetition Structure (Loops):
For Loop, While Loop, Do-While Loop. Arrays and Strings; Functions; Pointers;
Pointers and Arrays; Pointers and Strings; Pointers and Functions.
Structures; Arrays of Structures; Pointers and Structures; File Processing |
|||||||||||||||||||
Topics Covered in the Course, with Number of
Lecturer on Each Topic (assume 16-week instructions and five lecture per
week. |
||||||||||||||||||||
Week No. |
Class Topic |
Source + Help Session (Book-Chapter No.,
Section No., Page No.) |
Recommendations |
|||||||||||||||||
1 |
Problem Solving in
Everyday Life, Types of Problems |
B- Ch:01 pg# 2-6 |
Distribution
of course outline, Evaluation prerequisite knowledge |
|||||||||||||||||
Problem
Solving with Computers, Difficulties with Problem Solving |
B- Ch:01 pg# 6-7 |
|
||||||||||||||||||
Problem
Solving Exercise |
B- Ch:01 pg# 8-9 |
B- Ch:01 pg#
8-9 |
||||||||||||||||||
Organizing the Solution,
Analyzing the Problem, Developing the Interactivity Chart, Developing the IPO
Chart, The IPO Chart for the Payroll Problem |
B- Ch:03 pg# 43-48 |
B- Ch:03 pg#
63 Problem: 1
and 2 |
||||||||||||||||||
Writing the Algorithms,
Drawing the Flowcharts, Pseudocode, The Algorithms and Flowcharts for the
Payroll Problem |
B- Ch:03 pg# 48-53 |
B- Ch:03 pg# 63-64 Problem: 3-6 |
||||||||||||||||||
2 |
Introduction
to Computers and Programming, Why Program? Computer Systems: Hardware and
Software |
A- 1.1, 1.2 |
|
|||||||||||||||||
Programs and Programming Languages, What Is a
Program Made of? |
A- 1.3, 1.4 |
A-
Ch:01 Algorithm Workbench: (30-32) |
||||||||||||||||||
Input, Processing, and
Output The Programming Process |
A- 1.5, 1.6 |
A- Ch:01 Predict the Result and Find the error (33-36) |
||||||||||||||||||
The Parts of a C++
Program, The cout Object |
A- 2.1, 2.2 |
|
||||||||||||||||||
The #include Directive,
Variables and Literals, Identifiers |
A- 2.3, 2.4, 2.5 |
|
||||||||||||||||||
3 |
Lab: 01 |
Lab Manual 01 |
Lab Manual 01 |
|||||||||||||||||
Integer Data Types ,The
char Data Type, Floating-Point Data Types, The bool Data Type |
A- 2.6, 2.7,
2.8, 2.9 |
A- Ch:02 Programming Challenges (1-6) |
||||||||||||||||||
Determining the Size, of
a Data Type, Variable Assignments and Initialization, Scope |
A- 2.10,
2.11, 2.12 |
A- Ch:02 Programming Challenges (7-8) |
||||||||||||||||||
Arithmetic Operators,
Comments |
A- 2.13, 2.14 |
A- Ch:02 Programming Challenges (9-18) |
||||||||||||||||||
The cin Object,
Mathematical Expressions |
A- 3.1, 3.2 |
A- Ch:03 Programming Challenges (1-05) |
||||||||||||||||||
4 |
Lab: 02 |
Lab Manual 02 |
Lab Manual 02 |
|||||||||||||||||
Overflow and Underflow,
Type Casting, Named Constants |
A- 3.4, 3.5,
3.6 |
A- Ch:03 Programming Challenges (05-10) |
||||||||||||||||||
Multiple Assignment and
Combined Assignment |
A- 3.7 |
A- Ch:03 Programming Challenges (10-15) |
||||||||||||||||||
More Mathematical Library
Functions, Focus on Debugging: Hand Tracing a Program |
A- 3.11, 3.12 |
A- Ch:03 Programming Challenges (15-20) |
||||||||||||||||||
Quiz 01: A- Chapter 01,
B- Chapter 01 |
|
Quiz: 01 |
||||||||||||||||||
5 |
Lab: 03 |
Lab Manual 03 |
Lab Manual 03 |
|||||||||||||||||
Relational Operators, The
if Statement, Flags |
A- 4.1, 4.2, 4.3 |
A- Ch:04 Programming Challenges (1-5) |
||||||||||||||||||
Expanding the if
Statement, The if/else Statement, Nested if Statements |
A- 4.4, 4.5, 4.6 |
A- Ch:04 Programming Challenges (6-10) |
||||||||||||||||||
The if/else if Statement,
Menus, Logical Operators, Checking Numeric Ranges with Logical Operators |
A- 4.7, 4.8,
4.9, 4.10 |
A- Ch:04 Programming Challenges (10-15) |
||||||||||||||||||
The Conditional Operator, The switch Statement |
A- 4.14, 4.15 |
Assignment 01: Complete Mark
sheet based on user input subject marks, calculate percentage and grade. |
||||||||||||||||||
6 |
Lab: 04 |
Lab Manual 04 |
Lab Manual 04 |
|||||||||||||||||
The Increment and
Decrement Operators, Introduction to Loops: The while Loop |
A- 5.1, 5.2 |
A- Ch:05 Programming Challenges (1-04) |
||||||||||||||||||
Using the while Loop for
Input Validation, Counters |
A- 5.3, 5.4 |
A- Ch:05 Programming Challenges (05-08) |
||||||||||||||||||
The do-while Loop, The
for Loop, Keeping a Running Total |
A- 5.5, 5.6,
5.7 |
A- Ch:05 Programming Challenges (08-12) |
||||||||||||||||||
Quiz 02: A- Chapter 02,
A-Chapter 03 |
|
Quiz: 02 |
||||||||||||||||||
7 |
Lab: 05 |
Lab Manual 05 |
Lab Manual 05 |
|||||||||||||||||
Nested Loop |
A- 5.11 |
A- Ch:05 Programming Challenges (12-17) |
||||||||||||||||||
Breaking Out of a Loop,
The continue Statement |
A- 5.12, 5.13 |
Assignment
02: Command Line Calculator, operation perform according to user choice.
Switching windows (menu) concept. |
||||||||||||||||||
Modular Programming, Defining and Calling
Functions |
A- 6.1, 6.2 |
|
||||||||||||||||||
Function Prototypes,
Sending Data into a Function, Passing Data by Value |
A- 6.3, 6.4,
6.5 |
A- Ch:06 Programming Challenges (1-5) |
||||||||||||||||||
8 |
Lab: 06 |
Lab Manual 06 |
Lab Manual 06 |
|||||||||||||||||
The return Statement,
Returning a Value from a Function, Returning a Boolean Value |
A- 6.7, 6.8,
6.9 |
A- Ch:06 Programming Challenges (6-11) |
||||||||||||||||||
Local and Global
Variables, Static Local Variables |
A- 6.10, 6.11 |
A- Ch:06 Programming Challenges (12-17) |
||||||||||||||||||
Default Arguments |
A- 6.12 |
Assignment
03: Travel Expenses Write a
program that calculates and displays the total travel expenses of a
businessperson on a trip. The program should have functions as directed in
class. |
||||||||||||||||||
Quiz 03: A- Chapter 04,
A-Chapter 05 |
|
Quiz: 03 |
||||||||||||||||||
MID-TERM EXAMINATION |
||||||||||||||||||||
9 |
Lab: 07 |
Lab
Manual 07 |
Lab Manual 07 |
|||||||||||||||||
Array
Concepts, Accessing Array Elements |
A- 7.1,
7.2 |
Checkpoints 7.1 to 7.7 |
||||||||||||||||||
No Bounds
Checking in C++ Array
Initialization Processing
Array Contents |
A- 7.3,
7.4, 7.5 |
Checkpoints 7.8 to 7.13 |
||||||||||||||||||
Arrays as
Function Arguments |
A- 7.7 |
Checkpoints 7.9 to 7.18 |
||||||||||||||||||
Two-Dimensional
Arrays |
A- 7.8 |
Summing all
the elements, Columns and rows of a Two-Dimensional Array |
||||||||||||||||||
10 |
Lab: 08 |
Lab
Manual 08 |
Lab Manual 08 |
|||||||||||||||||
Arrays of
Strings |
A- 7.9 |
Checkpoints 7.19 to 7.26 Assignment of
Array |
||||||||||||||||||
Getting the Address of a
Variable Pointer Variables |
A- 9.1,
9.2 |
Program Exercise 9-1 to 9-4 |
||||||||||||||||||
The Relationship Between
Arrays and Pointers Pointer Arithmetic Initializing Pointers |
A- 9.3,
9.4, 9.5 |
Checkpoints 9.1 to 9.8 |
||||||||||||||||||
Comparing Pointers Pointers as Function
Parameters |
A- 9.6,
9.7 |
Program Exercise 9-11 to 9-12 |
||||||||||||||||||
11 |
Lab: 09 |
Lab
Manual 09 |
Lab Manual 09 |
|||||||||||||||||
Constant Pointers |
A- 9 Page: 513-517 |
Program
Exercise 9-13 |
||||||||||||||||||
Dynamic Memory Allocation |
A- 9.8 |
Program
Exercise 9-14 |
||||||||||||||||||
Character Strings,
Character case conversion |
A- 10.1,
10.2 |
Program
Exercise 10-3 |
||||||||||||||||||
Library Functions for
Working with C-Strings |
A- 10.4 |
Strcpy,
strlen, strcat exercise |
||||||||||||||||||
12 |
Lab: 10 |
Lab
Manual 10 |
|
|||||||||||||||||
Abstract Data Types Combining Data into
Structures |
A- 11.1,
11.2 |
struct
PayRoll Example |
||||||||||||||||||
Accessing Structure
Members |
A- 11.3 |
Program
Exercise 11-1 to 11-3 |
||||||||||||||||||
Initializing a Structure |
A- 11.4 |
Program
Exercise 11-4 Checkpoints 11.1 to 11.3 |
||||||||||||||||||
Arrays of Structures |
A- 11.5 |
Program
Exercise 11-5 |
||||||||||||||||||
13 |
Lab: 11 |
Lab
Manual 11 |
|
|||||||||||||||||
Nested Structures |
A-
11.6 |
Program
Exercise 11-6 Checkpoints 11.4 to 11.10 |
||||||||||||||||||
Structures as Function
Arguments |
A-
11.7 |
Program
Exercise 11-7 |
||||||||||||||||||
Returning a Structure
from a Function |
A- 11.8 |
Program
Exercise 11-8 |
||||||||||||||||||
Problem
Solving of Structure |
A- 11 |
A- Ch:11 Programming Challenges (1-05) |
||||||||||||||||||
14 |
Lab: 11 |
Lab
Manual 11 |
|
|||||||||||||||||
File Operations |
A- 12.1 |
|
||||||||||||||||||
File
Operations |
A- 12.1 |
12.1-12.6
(Checkpoints) |
||||||||||||||||||
File Output
Formatting |
A- 12.2 |
Program
12-3,12-4 |
||||||||||||||||||
File Output
Formatting |
A- 12.2 |
Program
12-5,12-6 |
||||||||||||||||||
15 |
Lab: 12 |
Lab Manual 12 |
|
|||||||||||||||||
Passing File
Stream Objects to Functions |
A-12.3 |
Program
12-5 |
||||||||||||||||||
Passing File
Stream Objects to Functions |
A-12.3 |
Program
12-6 |
||||||||||||||||||
Member
Functions for Reading and Writing
Files |
A-12.5 |
Program
12-7,12-9 |
||||||||||||||||||
Member
Functions for Reading and Writing
Files |
A-12.5 |
Program
12-10,12-11 12.7-2.9
(Checkpoints) |
||||||||||||||||||
16 |
Revision |
|
|
|||||||||||||||||
Final-Term Examination |
||||||||||||||||||||
Comments
Post a Comment