Course Objectives
 
On completion of this course, students should be able to:
understand concepts of modular programming,
design and write modular programs,
describe and implement advanced data structure elements that serve as holding
homogenous data primitives, and
know file manipulation, i.e., I/O operations of files.
Course Description
 
Structures; modular programming (functions, arguments, passing arguments by value and by
reference, life time of variables), recursion, file management (text and binary files, file
manipulation, file accessing modes
).
Course Content
Chapter 1 - Functions
1.1 Introduction to Modular Programming (Functions)
; Declaration of functions;
Definition of functions
1.2 Calling function Scope of Variables
1.3 Function Arguments
; Return Values
1.4 Default Parameters
; Parameters passing
; Call by value
; Call by reference
1.5 Recursive functions
Chapter 2 - Structures
2.1 Overview of Structure; declaring structures
2.2 Defining structure in structure
 
Curriculum for B. SC. In Computer Science
Page 20
2.3 Initializing structure; manipulating structure
2.4 Array of structure
2.5 Nested structure
2.6 Structure, Reference and Pointer
2.7 Passing structure to function
2.8 Passing value of structure to a function
2.9 Passing address of a structure to a function
Chapter 3 - File Management
3.1 Streams and Files
3.2 Text and Binary Files
3.3 Text File processing
3.4 Binary File processing
3.5 Random Access Files
 
Teaching Methods
 
- Lecture, Lab, Project Work
Textbooks
 
-
Dietel &
Dietel, “C How To Program”, Third Edition, Prentice
-Hall, 2003.
-
Robert Lafore, “The Waite Group’s C Programming Using Turbo C++”, Techmedia,
1993.
References
-
Walter Savitch, “Problem solving with C++ –
The Object of Programming”,
Menlo
Park: Addison-Wesley, 1996.
-
John R. Hubrard, “Fundamentals of Computing with C++”, Shuam’s Outline, 1997
.
-
Jess Liberty, “An Introduction to C++”, 1995
.
-
Robert Lafore, “The Wait Group Object Oriented Programming With C++”, 1994
Method of Assessment
 
- Lab:               20%
- Project work:   20%
- Quize      :      30%
- Final exam:     40%