You are on page 1of 6

University of Gujrat

Faculty of Computer Science and Information Technology

Course Code:
Course Title:
Credit Hours:
Lecture Duration:
Pre-requisite:
Text Books:
Reference Books:

Instructor:

IT-103
Programming fundamental
4
1.5 hours
N/A
Turbo C Programming for the PC By Robert Lafore
1. Let us C by Yashwant Kantaker
2. C++ How to program by DEITEL AND DEITEL
3. Hanly Koffman Problem Solving & Program Design in C Addison Wesley
3rd addition.
Mr. Muhammad Shafiq, Mr. Usman Ali
shafiq@uog.edu.pk
m.usmanali@uog.edu.pk

Course Introduction
& Description:
The course is designed to familiarize students with the basic structured programming skills. It
emphasizes upon problem analysis, algorithm designing, program development and testing.
They will also be exposed to the C programming language commands, syntax and functions in
text based environment. They will learn to define, solve, code, test and document programming
problems using the C language.
Course Objectives:
Upon completing this course, students should be able to:
Prepare programs using top-down structured design.
Perform problem solving skills.
Understand the syntax and concepts of C programming language.
Design, create, test and debug C programs.
Developed programs that are both syntactically and logically correct.
The student will be able to understand basic designing techniques of programming language.
Hands on experience of different c/c++ constructs.
Class/Lab Policies:

Course Outline:

Page

Attendance for lecture/tutorial and lab sessions is compulsory. Attendance for less than 80% of
the lectures/tutorial/labs will result in students being barred from taking the Final Exam.
If you are absent from the lecture due to:
Sickness Medical Certificate is required.
Emergency letter of guardian is required.
There will be no makeup quiz.
Make-up for Mid Term will only be given to those with STRONG VALID reason by the prior
approval of the Head of department.
Cheating and Plagiarism will not be tolerated and will be penalized accordingly.
There will be 5-7 lab assignments besides your lab exercises. Assignments need to be submitted
before the deadline. If you have questions or doubts contact me in office during visiting hours or
use my email address.

02

03

Course Introduction:
Course Policies/Overview/Course Contents/Course Objectives
Introduction to Computer:
Computer hardware components
Computer software components.
Operating systems, compiler, interpreter, editor, application
Source file and object file

01

Introduction to Programming:
Programming languages
C programming environment.
Machine language, assembly, high level programming language
C language
Steps for creating, compiling and executing a C program
Sample C program
Program Life Cycle

02

Problem Solving:
Software development method.
Problem analysis.
Design and algorithm representation flowchart, pseudocode.
Testing and verification & Implementation.
Program documentation.

03

Getting Started with C:


The C character Set
Constants, Variables and Keywords
Types of C constants and variables
C character set and tokens reserved words, identifiers
Constants, string literals.

04

C program structure:
Preprocessor directives.
Types of Preprocessor directives.
Main function and body of the main function.
Statements, compound statements.
Standard Input-Output functions in C.
Comments and types of comments.

05

Concept of Data Types:


Data types causes and reasons.
Classification of data and their supportive types analogy.
Data types supported by C.
Range and Limitations of different data types.
Type casting and conversion.

06

01

Lecture

Page

Week Topics description

07

Standard Input-Output functions in C:


What is standard input and Output?
Input and out functions supported by C.
Syntex of printf() and scanf() and their uses.
getch() and getche()
Format Specifiers.

08

Basic C operators:
Arithmetic operators.
Assignment operators.
Equalities and relational operators.
Logical operators.
Conditional operators.

09

The Decision Control structure using If:


The if statement.
Flow chart of if statement.
Multiple statements within if.
Examples and Exercise.
The goto statement.
06

07

10

The Decision Control structure using if-else:


The if-else statement.
Flow chart of if-else statement.
Multiple if-else Statements.
Nested if-elses.
The break statement.

11

The Decision Control structure using Switch-Case:


Syntax of Switch-case statements.
Difference of switch case with multiple if-else statements.
Benefits and limitations of switch-case statements.
Examples and Exercise.

12

The Repetition control structure using for loop:


What is a loop?
Elements or components of a loop.
Syntax of for loop.
Flow chart of for loop to understand its working.
for loop as counter controlled loop?

13

05

Variables declarations and initialization:


How to declare a variable in C.
How to initialize the variable.
Defining the variables.
Naming conventions and variables description.
Rules for declaring the name of variables.
Escape Sequence characters.

Page

04

14

08

Mid Term Week

09

The Repetition control structure using do-while loop:


Syntax of do-while loop.
Working of do-while loop using Flow chart.
Difference between while and do-while.
An application of do-while loop for data validation.

17

The Nested repetition control structures & continue statements:


What is nested loop?
Working of nested loop using flow chart.
Nested for loop.
Infinite loop.
The continue statement.

18

The Simple Functions:


Why use functions?
Standard functions.
User defined functions.
Signature of the functions.
Function prototype.
Function definition.
Function call.

19

The Fruitful & Parameterized Functions:


Functions that return a value.
Parameters and use of arguments to pass data to a function.
Formal / Actual parameters.
Parameters vs. arguments.
Passing values between functions.

20

The Functions & Simple Recursion:


Using more than one function.
Local and global variables.
What is recursion?
Example using recursion.
Recursion vs. iteration.

21

11

10

15,16

Page

The Repetition control structure using while loop:


Syntax of while loop.
Flow chart of while loop to understand its working.
What is a counter/sentinel controlled loop?
Sentinel value controlled loop vs. counter controlled loop.

14

The Arrays Construct II:


Operation on arrays simple sorting and Searching.
Passing arrays to the functions as argument.
Initializing a two-Dimensional array.
Multidimensional arrays.

23

The String Construct I:


String and String constant.
String variables.
The string I/O functions gets() and puts()
Initializing strings.

24

The String Construct II:


String handling library functions:
strlen()
strcpy()
strcat()
strcmp()

25

The Pointers Construct:


Concept of pointers.
Pointers overview.
Pointer declaration and control.
Pointer operator (& and *).
Parameter passing by pointers.

26

The Structures Construct:


Why use structures.
Structures declaration.
Structure variables declaration.
Initializing structure variables.
Accessing structures elements.
Referencing structure members.

27

The Structures and Union Construct:


Nested structures.
Uses of structures.
Concept of Unions.
Unions vs. structures.
Unions of structures.

28

13

22

Page

12

The Arrays Construct I:


Concept of arrays why, how, advantages.
Array declaration and initialization.
A simple program using array.
Referring to individual elements of the array.

15

16

The file Handling I:


Basic of files.
Types of Disk I/O.
Standard Input/output.
Binary Mode and Text Mode.
File operators.
End-Of-File.

29

The file Handling II:


Opening and closing a file.
Writing to a file.
Reading from a file.
Error condition.
Record input/output.

30

Revisions :
Tying-up loose ends.
Presentations:
Demonstration of students projects.

31
32

Final Examination

Grading Policy:
1

Assignments

10%

Quizzes

5%

Presentations

10%

Mid term

25%

Final Exam

50%

2
3

_______________________________________________________________________________

Page

Plagiarism Policy:
During this course a strict no tolerance plagiarism policy will be adopted. While collaboration in
this course is highly encouraged, you must ensure that you do claim other peoples work/idea as
your own. Plagiarism occurs when the words, ideas, assertion, theories, figures, images,
programming code of others is presented as your own work. Failing to comply with plagiarism
policy will lead to strict penalties including zero marks in assignments.

Important notes:
Quizzes:
4-5 numbers of quizzes will take place in the class to measure the learning progress of the
students. These quizzes will be announced or unannounced.

You might also like