Aksum University
Faculty of Computing Technology
Course Title: Computer Programming
Course Code: CoSc1012
Credit Hours: 3 ECTS: 5 Contact hrs: 2 Lab hrs: 3 Tutorial hrs: 1
Prerequisite: None
Course Category: Compulsory
Year: I Semester: II
Course Description
This course teaches problem solving using computers, algorithms, program structure, constants,
types, variables, reserved words, syntax diagram, identifiers, numbers, character strings and
constant declarations; basic data types, statements (assignment, I/O, control), structured data
types, subprograms, file management; recursive functions; overloaded functions; linking
multiple source files; and data structures. Concrete examples enable the students to write
programs and use data structure elements in the programs.
Course objectives
On completion of the course successfully, students will be able to:
Apply programming skills to solve problems
Understand basic concepts in computer science such as Boolean logic and problem
decomposition
Learn data structures (such as strings, matrices and arrays), logic and control structures (such as
‘if’ and ‘for’ statements), data manipulation and presentation (loading data files, computing
simple statistics and graphing data), and proper programming techniques (writing modular, well-
commented code)
Understand programming concepts that will assist in learning other languages (like Java, Perl, or
C#)
Learn about computing resources on campus and online
Analyze simple problems and formulate solutions
Develop computer programs for quality program solving
Practice good programming disciplines and styles
Course outline
Chapter 1: Introduction
1.1. Introduction to programming
1.2. Problem solving techniques (2 hrs)
1.2.1.Flowchart
1.2.2.Pseudo code
1.2.3. Algorithms
Chapter 2: Basics of programming (4 hrs)
2.1. Structure of a Program
2.2. C++ IDE
2.3. Showing Sample program
2.4. Keywords, Identifiers, Inputs, Outputs, Comments, Parts of a program
2.5. Data Types
2.6. Variables
2.7. Constants
2.8. Operators
2.8.1. Assignment Operators
2.8.2. Compound Assignment Operators
2.8.3. Arithmetic Operators
2.8.4. Relational Operators
2.8.5. Increment and Decrement Operators
2.8.6. Infix and postfix types
2.8.7. Precedence of Operators
Chapter 3: Control Statements (4hrs)
3.1. If…. else statement
3.2. If… else if… else statement
3.3. Switch statement
3.4. For loop statement
3.5. While loop statement
3.6. Do…while statement
Chapter 4: Function and Passing argument to function (4hrs)
4.1 Definition of function
4.2 Declaration of function
4.3 Passing value of a function by Value
4.4 Passing value of a function by reference
Chapter 5: Arrays, Pointers & Strings (6hrs)
5.1. One-dimensional array
5.2. Multi-dimensional array
5.3. Address and pointer
5.4. Pointer and array
5.5. Pointer and function
5.6. Pointer and string
Chapter 6: Structure (4hrs)
6.1. Specifying simple structure
6.2. Defining a structure variable
6.3. Accessing structure variable
Chapter 7: File (4hrs)
7.1. File and file management
Teaching-learning methods
Two contact hours of lectures, three contact hours of lab and 1 contact hour of tutorials per week.
Assessment methods
Assignments/quizzes 10%
Lab exams/Project 20%
Mid semester examination 20%
Final examination 50%
References:
1. Ravichandran; “Problem Solving with C++”, Tata Mc. Grew Hill Company
2. Thinking in C++, Volume 2: Practical Programming, Bruce Eckel, President, Mind View, Inc., Chuck
Allison, Utah Valley State College
3. E.Balagurusamy, “Programming with C++”, Tata Mc. Grew Hill Company
Laboratory
Laboratory Course Outline
Week 1
Lab Environment setup
Building blocks of a code
First code “Hello, World”
Week 2
Data types and variables
Using variables and constants
Statements
Week 3
Operators
Basic arithmetic operators
Arithmetic and logical operations
Week 4
If
If…else
If...else if...else
Nested if ...else statements
Switch statement
Week 5
For loop statement
While loop statement
Do…while statement
Nested loops
Week 6
Definition of function
Declaration of function
Week 7
Passing value of a function by Value
Passing value of a function by reference
Week 8
One-dimensional array
Week 9
Multi-dimensional array
Week 10
Pointer and array
Week 11
Pointer and function
Pointer and string
Week 12
Specifying simple structure
Defining a structure variable
Accessing structure variable
Week 13
File and file management