Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

HiLCoE

Doc No. CD/HiL/001


Version: 003
School of Computer Science & Technology
Page 1 of 2
Course Outline
Course Code CS222
Course Title Fundamentals of Programming II
Program B. Sc. in Computer Science
Year / Term 2023 / Winter
Instructor Nesredien Suleiman
Course Description This course is a continuation of the course Fundamentals of
Programming I (CS221) that introduced students to basic concepts
programming. It is designed to equip the students with additional
computer programming concepts which were not covered in CS221
and enhance their programming skills. Contents to be covered are
modular programming, user defined data types, dynamic memory
management, and file management. The course will culminate in a
comprehensive programming assignment and/or a team-based project
that integrates the concepts taught in the course. A lecture/lab course
format will be employed to provide hands-on experience and active
learning techniques.
Objectives  At the end of this course students are expected to:
o Understand and explain the principles of Modular
programming, user defined data types, and File
management in C++
o Understand, explain and manage dynamic memory
allocation
o Understand how the visibility of identifiers is limited to
specific regions of programs (Variable Scope)
o Write modular programs using C++
o Differentiate between sequential and random file
access
o Write programs to read/write from/to secondary
storage devices
o Define and manipulate user defined data types in C++
Text Book No text book
Reference  Schildt Herbert, C++ - The Complete Reference (4th ed), USA,
McGraw Hill Inc. 2003
 Walter Savitch, Problem solving with C++ – The Object of
Programming, Menlo Park: Addison-Wesley, 2018
Tentative Assessment  Mid Exam: 30%
 Lab: 20%
 Final Exam: 50%
 Attendance

COURSE CONTENT

1. Modular Programming
1.1. Introduction to Modular Programming
1.2. Definition and use of functions
1.3. Scope and life time of variables
1.4. Inter module communication
1.4.1. Global Variables
1.4.2. Arguments
1.4.3. return statements
1.5. Inline and overloaded functions
1.6. Recursive functions
1.7. Function templates
2. User Defined Data Types
2.1. Enumerations, unions, and type definitions
2.2. Structures
2.2.1. Defining and using structures
2.2.2. Array of structures
2.2.3. Structures as function arguments
3. Working with Files
3.1. Introduction to files
3.2. File Operations
3.2.1. Sequential Vs Random Access Files
3.2.2. Text file manipulation
3.2.3. Binary file manipulation
3.3. Files as arguments to functions

You might also like