Program Outcomes
PO1 Engineering An ability to apply knowledge of mathematics (including probability,
knowledge statistics and discrete mathematics), science, and engineering for
solving Engineering problems and modeling
PO2 Problem analysis An ability to design, simulate and conduct experiments, as well as to
analyze and interpret data including hardware and software components
PO3 Design / An ability to design a complex system or process to meet desired
development of specifications and needs
solutions
PO4 Conduct An ability to identify, formulate, comprehend, analyze, design synthesis
investigations of of the information to solve complex engineering problems and provide
complex valid conclusions.
problems
PO5 Modern tool An ability to use the techniques, skills and modern engineering tools
usage necessary for engineering practice
PO6 The engineer and An understanding of professional, health, safety, legal, cultural and
society social responsibilities
PO7 Environment and The broad education necessary to understand the impact of engineering
sustainability solutions in a global, economic, environmental and demonstrate the
knowledge need for sustainable development.
PO8 Ethics Apply ethical principles, responsibility and norms of the engineering
practice
PO9 Individual and An ability to function on multi-disciplinary teams.
team work
PO10 Communication An ability to communicate and present effectively
PO11 Project An ability to use the modern engineering tools, techniques, skills and
management and management principles to do work as a member and leader in a team, to
finance manage projects in multi-disciplinary environments
PO12 Life-long A recognition of the need for, and an ability to engage in, to resolve
learning contemporary issues and acquire lifelong learning
Course No: ES101 Course Title : Computer Programming
Semester: I L T P C : 2-0-4-4
Instructor In-charge: Dr. Santosh Kumar Sahoo
Instructors: Mr. K Brahmanaidu, Dr. Dilip Kumar Murala and Dr. Srinivasa Rao D
Course Objectives:
To train rigorously in structured programming language concepts – in particular C language
and gear them towards problem solving skills.
To gain exposure on open system UNIX OS.
To code a given problem in c programming language by gaining knowledge on concepts like
Conditional statements, functions, pointers, structures, unions, Low level programming and
Files.
Computer Science a Structured Programming Approach using C, Behrouz A.
Text Book(T1)
Forouzan & Richard F. Gilberg, Cengage Learning Third Edition.
Reference Book(s)
R1 Programming with ANSI C, E. Balaguruswamy TMH, 5th Edition. 2011.
R2 Computer Fundamentals & C Programming, SUMITHABHA DAS, TMH.
R3 The C Programming Language, Kernigham and Richie, PHI 2nd Ed. 2002.
R4 Let us C, Yashwanth Kanethkar, BPB Publications, 8th Edition.
R5 Programming with C Byron Gottfried, Schaum's Outlines Series TMH 3rd Ed.
Lecture-wise plan (Syllabus):
Lecture Learning Reference to
Topics to be covered
No. objectives Text book
1 Unix OS Introduction to Unix Operating system and Class Notes
general-purpose utilities commands
2 Flowcharts & Concept of problem solving and algorithms. Class Notes
Algorithms
3 Overview of C History, Introduction, Basic structures of a C T1(Ch.2)
program, Compilation and Execution, Simple /R1(Ch.1)
Programs Execution with/without Errors
4-5 Introduction to C Identifiers, Keywords, Constants, Variables, , T1(Ch.2)
Language Data Types, Declarations, Assigning Values, /R1(Ch.2)
Input/Output etc.
6-7(L) Operators and Operators (Arithmetic, Relational, Logical, T1(Ch.3)/
Expressions Increment/Decrement, Bitwise etc.), Expressions, /R1(Ch.3)
Precedence and Associatively, Expression
Evaluation, Type Conversions.
8-9(L) Decision making Statements- Selection Statements (making T1(Ch.5)
and Branching decisions) – if, if else, nested if, else if ladder /R1(Ch.5)
and switch statements
10- Repetition for, while, do-while statements, Loop examples, T1(Ch.6)
14(L) Statements(loops) other statements related to looping – break, /R1(Ch.6)
continue, go to, Simple C Program examples.
15- Understanding Functions- Introduction to Structured T1(Ch.4 )
18(L) functions Programming, Functions- basics, user defined /R1(Ch.9)
& User defined functions, inter function communication (call by
function value, call by reference).
19-20 Understanding Standard functions. Storage classes-auto, T1(Ch.4 )
functions register, static, extern, scope rules, arrays to /R1(Ch.9)
& User defined functions, recursive functions, example C
function programs
21- Arrays Arrays– Basic concepts, one-dimensional arrays, T1(Ch.8 )
24(L) two – dimensional arrays, multidimensional /R1(Ch.7)
arrays, C Programming examples
25 Understanding Pointers – Introduction (Basic Concepts), T1(Ch. 9,10)
pointers & pointers to pointers, compatibility, Pointer /R1(Ch.11)
Dynamic memory Applications
allocation
26-28 Programming with Arrays and Pointers, Pointer Arithmetic, memory T1(Ch.10)
pointers allocation functions, array of pointers, pointers to /R1(Ch.11)
void, pointers to functions, command–line
arguments
29 Understanding Introduction to structures and unions. T1(Ch.12 )
Structures and /R1(Ch.10)
unions
30 Characters and Strings – Concepts, C Strings, String Input / T1(Ch.11)
strings Output functions, string manipulation functions, /R1(Ch.8)
string /data conversion.
31- File Management Input and Output – Concept of a file, streams, text T1(Ch.13)
32(L) files and binary files, Differences between text /R1(Ch.12)
and binary files, State of a file, Opening and
Closing files, file input / output functions
(standard library input / output functions for files),
file status functions (error handling), Positioning
functions.
Session plan for lab exercises:
Week No. List of experiments Dates
Week-1 1.1 Understanding of Ubuntu WSL operating system on windows
1.2 Ubuntu Commands: ls with options, cat with options, mkdir, pwd,
(Ubuntu) cd, rm, cp, mv
1.3 Nano editor, Creating a file, Saving the file, Exit the Editor,
Creating your resume file and modifying it by adding some new
achievements, Creating a C-Program File, Compiling using gcc &
Getting Output using ./a.out
Week-2 2.1 Write a C program to display "Welcome to IFHE" on the screen.
2.2 Write a C program to display Your Name, Address and City in
(Data different lines.
Types) 2.3 Write a C program to find the area of a circle. (Hints: Area= PI * r2)
2.4 Write a C program to enter marks of five subjects and calculate
total, average and percentage of marks.
2.5 Write a C program to convert days into years, weeks and days.
Week-3 3.1 Write a C program to convert the temperature in degree Centigrade
into Fahrenheit and vice versa. (Formula: C= (F-32)/1.8)
(Operators) 3.2 You are given total time in seconds. Convert it into Hour: Min:
Second format.
3.3 Write a simple program that prints the results of all the operators
available in C (including pre/post increment, bitwise and/or/not, etc.).
Read required operand values from standard input
3.4 Write a C program to find out whether the character pressed
through the Keyboard is a digit or not (Use conditional operator only).
3.5 Write a C program to swap variable values of two variables using
following techniques.
a) Using a third variable b) Without using third variable
Week-4 4.1 Write a C program to determine whether input number is Odd or
Even. Display appropriate message. (use if else statement)
(if 4.2 Write a C program to find the maximum of given three numbers.
statements) (use if else and nested if statement separately)
4.3 Write a program to read marks from keyboard and your program
should display equivalent grade according to following table (if else
ladder)
Marks Grade
100 – 80 Distinction
79 – 60 First Class
59 – 40 Second Class
< 40 Fail
4.4 Write a C program to input month number and print total number
of days in month using switch...case
4.5 Write a C program for designing a calculator using menu driven
Program?
Week-5 5.1 Write a C program to find the sum of first 100 natural numbers.
5.2 Write a C program to find factorial of a given number
5.3 Write a C program to find the sum of odd numbers and even
(for Loop) numbers between 1 to N (N is a given input number).
5.4 Write a C program to display the first 100 prime numbers.
5.5 Write a C program to construct the following patterns
a) 1 b) *
12 **
123 ***
1234 ****
12345 *****
5.6 Write a C program for calculator to include the following in the
menu
a. To convert decimal to binary.
b. To convert decimal to hexadecimal.
Week-6 6.1 Write a C program to count the frequency of digits in a given
number. (Frequency means number of occurrence of the digit in the
(while given number)
loop) 6.2 Write a C program to find the sum of digits of the accepted
number.
6.3 Write a C program to check whether the given number is
palindrome or not.
6.4 Write a C program to input a number and find sum of first and last
digit of the number using for loop (e.g Input 5642, Output=7)
6.5 Write a C program to print the given number in word form of
digits.
(Ex input : 123, output is ONE TWO THREE )
Week-7 7.1 Write a C program to find sum of two numbers using function
without argument and with return value
(functions) 7.2 Write a program to find square of a number using function with
argument and with return value
7.3 Write a C program to find the Fibonacci numbers using a recursive
function
7.4 Write a C program to find sum and average of n numbers in the
array.
7.5 Write a C program to find both the largest and smallest number in
a list of integers.
7.6 Write a C program to perform addition of two 3 x 3 matrices
Week-8 8.1 Write a C program to perform multiplication of two 3x3 matrices.
8.2 Write a C program to input elements in an array and find the sum
using pointer as well as display array using pointer.
(Array and 8.3 Write a C program to swap values of two variables using pointers.
Pointer) 8.4 Write a C program to allocate a block of memory using Dynamic
Memory Allocation functions and perform the following.
i) accept and store the numbers
ii) find the minimum and maximum of the numbers
iii) find the average of the numbers
Week-9 9.1 Write a C program to store and print the roll no., name, age,
address and marks of n students using structure.
9.2 Write a C Program to enter the marks of 5 students in 3 courses
(Structure Python, DAA, and JAVA (each out of 100) using a structure named
and Marks having elements roll no., name, Python_marks, DAA_marks
Union) and JAVA_marks and then display the percentage of each student.
9.3 Write a C program that uses functions and structures to perform
the followings.
i) Reading a complex number
ii) Displaying the complex number
iii) Addition of two complex numbers
iv) Multiplication of two complex numbers
9.4 Write a program to add two distances in inch-feet using structure.
The values of the distances are to be taken from the user. Display the
sum.
9.5 Implement the above program 9.1 using a union.
Week-10 10.1 Write a C program to perform the following operations without
using string handling functions.
i) length of a given string ii) string copy
(String 10.2 Write a C program to perform the following operations without
Handling) using string handling functions
i) compare two strings ii) concatenate two strings
10.3 Write a C program to perform the following operations using
string handling functions.
i) length of a given string ii) string copy
iii) compare two strings iv) concatenate two strings
10.4 Write a C program to count the number of lines, characters and
words in a given text of a given string without using string handling
functions.
10.5 Write a C program to convert a given string from lowercase to
uppercase without using string handling functions.
Week-11 11.1 Write a C program to read input characters from user and write
it to file. After that read the content of the same file and display on
screen.
(File 11.2 Write a C program to implement copy command with the use of
Handling) Command line arguments. Like “mycopy source.txt destination.txt”
should copy content of source file to destination file.
11.3 Write a C program to write integer numbers to a file. Read them
back and find the average of all numbers.
11.4 Write a program to copy one file to another. While doing so
replace all lowercase characters with their equivalent uppercase
characters.
11.5 Write a C program to merge two files into a third file.
Evaluation Scheme:
Component Duration Weightage Date(s) Syllabus Remarks
Test-I 1 Hour 15% 16th-20th Sept. 1-14(L)
2024*
Test-II 1 Hour 15% 21th -25th Oct. 15-24(L)
2024*
Mid Lab Exam (Lab 1 Hour 10% 30 Sept. - 04th
th
Lab Week 1 – Weightage
Test-1) Oct. 2024* Week 5 15%
End Lab Exam (Lab 1 Hour 10% 18th – 22nd Nov. Lab Week 6 – Weightage
Test-2) 2024* Week 10 15%
NASSCOM 10% Before 4th Nov. Removed
Certification 2024* from date 11th
Sept. 2024
Comprehensive Exam. 3 Hours 40% 9th – 20th Dec* 1-32(L)
2024
*as per the current academic calendar and may be changed later if required
Chamber Consultation Hours:
*To be announced Later
1. A Minimum of 75% attendance is compulsory for both Theory as well as Lab and failing to which
a student will not be allowed to appear for the evaluation components.
2. No MAKE UP will be granted without prior permission from the Instructor in charge. Only in
genuine cases, Makeup will be allowed at the discretion of I/C.
COURSE OUTCOMES:
COURSE OUTCOME EXPLANATION
CO1 : KNOWLEDGE Understand the fundamentals of UNIX operating system and
differentiate among different programming languages for problem
solving.
CO2 : COMPREHENSION Describe the way of execution and debug programs in C language.
CO3 : APPLICATION Define, select, and compare data types, loops, functions to solve
mathematical and scientific problem.
CO4 : ANALYSIS Understand the dynamic behavior of memory by the use of pointers
CO5 : SYNTHESIS Design and develop modular programs using control structure,
selection structure and file.
CO6 : EVALUATION Design programs using various concepts of C programming language
like pointer, functions, dynamic memory allocation etc.
CO-PO MAPPING:
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 3 3 2 1
CO2 3 3 3 2
CO3 3 3 2 2 2
CO4 3 3 2 2
CO5 2 2
CO6 2 2 2 2 2
The various correlation levels are:
● “1” – Slight (Low) Correlation
● “2” – Moderate (Medium) Correlation
● “3” – Substantial (High) Correlation
● “-” indicates there is no correlation.
GAPS IN THE SYLLABUS - TO MEET INDUSTRY/PROFESSION REQUIREMENTS:
SNO DESCRIPTION PROPOSED ACTIONS
1 Competitive Coding and Students are encouraged to register in competitive
NASSCOM Certification coding platforms like code chef, hacker rank and
NASSCOM Certification
TOPICS BEYOND SYLLABUS/ADVANCED TOPICS/DESIGN:
S.No. ADVANCED TOPICS
1 Algorithmic representation of the concepts
2 Foundation for switching over to other programming languages
WEB SOURCE REFERENCES:
S.No. Web links
1 Introduction to programming in C, IIT Kanpur- https://nptel.ac.in/courses/106104128
2 Problem Solving through Programming in C, IIT Kharagpur -
https://nptel.ac.in/courses/106105171
3 Introductory C Programming Specialization
-https://www.coursera.org/specializations/c-programming
DELIVERY/INSTRUCTIONAL METHODOLOGIES:
BOARD STUD. ASSIGNMENT WEB RESOURCES
STUD. SEMINARS ICT ENABLED CLASSES LCD
ASSESSMENT METHODOLOGIES-DIRECT:
TESTS/COMPRE. ASSIGNMENT MINI/MAJOR PROJECTS
EXAMS
STUD. SEMINARS STUD. LAB PRACTICES STUD. VIVA
ASSESSMENT METHODOLOGIES-INDIRECT:
ASSESSMENT OF COURSE OUTCOMES STUDENT FEEDBACK ON FACULTY
(BY FEEDBACK, ONCE) (TWICE)
ASSESSMENT OF MINI/MAJOR OTHERS
PROJECTS
Justification for CO-PO MAPPING:
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Understandi Ability to Ability to Ability to Abilty to
ng various understand understand write communicate
problems the given and programs the solution
solving problem and comprehend with with
techniques writing the given programmin justification
to solve real solution problem and g ethics and
CO1
world using any of writing engineering
problems the problem solution using principles
solving the given
approach programming
language
constructs
Able to Using the Ability to Ability to
derive programmin solve the write
solutions by g language problem programs
understandi constructs with valid with
CO2 ng the they’ll be design like programmin
hardware able to algorithm g ethics and
and software solve simple and engineering
requirement to complex flowchart principles
s problems
Able to Able to Ability to Ability to Ability to
analyze and analyze and develop understand justify the
choose the choose the solutions for sustainable solution
different different the society solutions using provided
CO3 datatypes datatypes, using coding engineering
for the loops and concepts
specific functions for
needs the specific
needs
Understand Able to Ability to Ability to
the use of implement understan understand
pointers and the pointers d the and develop
dynamic and its dynamic the
CO4 memory applications solutions interdiscipli
allocation on nary
varieties of solutions
fields using
pointers
Understand Application of
the concepts structures and
CO5
of advanced unions
datatypes
Design and Solving the Ability to Effectively Lifelong
developmen given write code communicate learning
t of problems with with ethics the solutions capabilit
programs for basic and and designed y
various real advanced principles including
CO6 time data types like latest
problems arrays, problem
functions, s and
pointers etc solving
techniqu
es
Dr. Santosh Kumar Sahoo
Instructor-In-Charge