Course Outline: CE112 - Computer Programming: Air University
Course Outline: CE112 - Computer Programming: Air University
AIR UNIVERSITY
Term: Spring 2019
Faculty of Engineering
l Department of Mechatronic Engineering
Instructor(s):
Name: Zain Ul Abideen Tariq
Email: zain.tariq@mail.au.edu.pk
Office: Faculty Office, Faculty Offices, 1st floor A Block
Office Hours: 8:30 AM to 4:30 PM
Prerequisite(s):
None
Dependent Course(s):
CS 162 - Object Oriented Programming
Course Description:
This course provides a basic introduction to computers and fundamental programming concepts. The
emphasis will be on problem solving rather than just learning the programming language. Programming
topics include control structures, functions, arrays, pointers, structures. Designed to be a first course for
students with little or no prior programming experience.
Lab Engineer(s):
Ms. Hurriat Ali
Mr. Mohsin Ali
Course Learning
Measurable statement from exams, project and etc.
Outcomes (CLOs)
Understand basic concepts of Computer Hardware, Software, Programming Languages,
Programming Environment and Concepts.
CLO1 Understand and Design algorithms and program flow using pseudo code and visual
modeling.
Divide a problem into its logical set of components.
Understand basics of C++ Procedural Programming, structure, elements, expressions,
interactivity and control structures.
Create entry-level programs from models.
CLO2 Understand how and when to apply Decisions and Repetition Loops.
Get Familiarity with Debugging Process.
Design and implement a simple C++ Program using basic elements, interactivity and
Control Structures with accurate documentation.
CLO3 Understand and implement the concept of functions and its different applications.
Understand and use the concept of basic data structures like arrays, pointers, structures
and understand their relationships
CLO4 Design and implement solutions to problems using basic data structures with
understanding as to where and when to use which
Analyze, Design, Develop and Implement solutions to the range of problems using
CLO5 variety of programming skills and strategies.
Relationship between Course Learning Outcomes (CLOs) and Program Learning Outcomes (PLOs) is shown
as follows.
Course Program
Learning
Learning Evaluation Learning
Unit of Syllabus Domain and
Outcomes Methods Outcomes
Level
(CLOs) (PLOs)
Quiz 1,
CLO1 1-2 Assignment 1, Cognitive (C5) PLO2
Mid-Term, Final
Quiz 2,
CLO2 3-5 Assignment 2, Cognitive (C3) PLO3
Mid-Term, Final
Quiz 3,
CLO3 6 Assignment 3, Cognitive (C5) PLO3, PLO5
Mid-Term, Final
Quiz 4,
PLO3, PLO4,
CLO4 7-9 Assignment 4, Cognitive (C5)
PLO5
Final
CLO5 9 Project, Final Cognitive (C4) PLO2,3,4,5,9,11
Data Types
Data Hierarchy
Syntax / Logic errors
Output Statements
3 Week 3. C++ Basics 2 CLO1
Constants & Variables
Arithmetic Operators
Operator precedence
Input Statement
Relational Operators
Logical Operators
Control Structure-
Week 4. Part I (Conditional
if statement
2 CLO2
Statements)
if-else statement
4 Nested if-else statement
Loops
Control Structure- while Loop
Week 6. Part III 2 CLO2
(Repetition) do-while Loop
Examples
5 for Loop
Control Structure-
Nested for Loop
Week 7. Part IV 2 CLO2
break statement
(Repetition)
continue statement
Examples
Function Prototype, Function
Call, Function Definition
User-Defined
Week 8. Arguments vs. Parameters 2 CLO3
Functions – Part I
Scope Rule
Call by Value
Call by Reference
6
Exam Week Mid Term Examinations 20 Hours
Static variables
Arguments
User-Defined Default arguments
Week 9. 2 CLO3
Functions – Part II
Return Value
Function Overloading
Declaration
Initialization
Week 10. Arrays – Part I: 2 CLO4
One-Dimensional Arrays:
Accessing and processing
List Processing
Arrays – Part II
Searching
Week 11. (Applications and 2 CLO4
Extensions)
7 Sorting
Multidimensional Arrays
Declaration
Initialization
Accessing & Processing
Week 12. Arrays – Part III: 2 CLO4
Two-Dimensional Character
Arrays
Using getche, getch,
Using ASCII values
Pointer Declaration
Dereferencing
Week 13. Pointers – Part I 2 CLO4
Initializing Pointer variables
8 Functions and Pointers
Pointer expressions
Week 14. Pointers – Part II 2 CLO4
Pointer arithmetic
Accessing
Assignment
Week 15. Structures 2 CLO4
Input/ Output
OOP Concepts
9 Abstraction
Polymorphism
CLO4,
Week 16. Classes Platform-independence 2
CLO5
Revision
Project
Resources:
Textbook:
o Deitel and Deitel, “C++ How to Program” (8th or 9th Edition or onwards), Available as e-
book and paper book
Reference Books
o Gaddis, Walters & Muganda, “Starting Out with C++: Early Objects”, 7th Edition or onwards
o Stephen R Davis, “C++ for Dummies”, 7th Edition or onwards
o Robert Lafore, “Object-Oriented Programming in C++”, 3rd or 4th Edition
o Tonny Gaddis, “Introduction to C++ from Control Structures through Objects”, 7th Edition
or onwards
Useful Links
o http://scratch.mit.edu
o http://studio.code.org
o https://snap.berkeley.edu
o http://www.cplusplus.com
o http://ide.geeksforgeeks.org
Grading Policy:
Theory (75) Lab (25)
Evaluation
Evaluation Method Distributio
Marks Method Distribution Marks
n
Quizzes (4) 13.33 % 10 Quizzes (4) 24 % 5 Total
Assignments (4) 6.67 % 5 Assignments (4) 16 % 4
Midterm Exam 26.67 % 20 Lab Tasks (15) 20 % 8
Final Exam 53.33 % 40 Project 40 % 8
Total 100 % 75 Total 100 % 25 100
if-else statement
5 CLO2
Nested if-else statement
Control Structures II- Selection
switch-case statement.
Examples
6 CLO2
Control Structures III- Repetition
Loops
for Loop
User-Defined Functions I
Function Prototype
Function Call,
Function Definition
8 CLO3
Arguments vs. Parameters
Scope Rule
Call by Value
Call by Reference
User-Defined Functions II
Static variables
Arguments
9 Default arguments CLO3
Return Value
Function Overloading
Sorting
Arrays III:
Multidimensional Arrays
Declaration
Initialization
12 Accessing & Processing CLO4
Pointers I
Pointer Declaration
Dereferencing
13 CLO4
Initializing Pointer variables
Functions and Pointers
Pointers II
Pointer expressions
14 CLO4
Pointer arithmetic
Structures
Declaration
Accessing
15 CLO4
Assignment
Input/ Output