Course Code
A1501
Course Title
COMPUTER PROGRAMMING
Course Structure
Lectures
Tutorials
Practicals
Credits
Course Coordinator
Prof L V Narasimha Prasad, Professor
Team of Instructors
Mr. E. Krishna Rao Patro, Ms. B. Padmaja
I. Course Overview:
The course helps the students to solve Engineering problems and implementation of projects through computer programming. The course
also helps the students to write selection test and face interviews for software jobs. The Course is important because most of the application
and system software are developed and are being developed in C programming language. Thorough knowledge of the language is essential
for software professional career. The learning approach of the course is each feature and syntax of the language will be explained through
one or more examples. This is implemented by making the student write the programs to solve Mathematical, Engineering and simple data
processing problems. The course is implemented through lecture, tutorial and laboratory sessions
II. Prerequisite(s):
Level
Credits
UG
Periods / Week
Prerequisites
Mathematical background and Logical Thinking
III. Marks Distribution:
Sessional Marks
University End
Total
Exam Marks
Marks
Continuous Assessment Tests
There will be two Continuous Assessment Tests in theory courses having a weight age of
10 marks to be answered in two hours duration each. The first Continuous Assessment
Test will be held in the 7 th week with the announced schedule in the first two units of
syllabus. The second Continuous Assessment Test will be held at the end of the semester
with the announced schedule in the fourth and fifth units of syllabus. Marks shall be
awarded considering the average of two Continuous Assessment Tests in each course. In
75
case a student does not appear in the Continuous Assessment Tests due to any reason
100
whatsoever, will get zero marks(s).
Mid Semester Test
There will be one Mid Semester Test in theory courses for a maximum of 15 marks to be
answered in two hours duration. The Mid Semester Test will be held in the 10 thweek with
the announced schedule in the first three units of syllabus. In case a student does not
appear in the Mid Semester Test due to any reason whatsoever, will get zero marks(s).
IV. Evaluation Scheme:
Continuous Assessment Test
10 marks
Mid Semester Test
15 marks
End Semester Examination
75 marks
V. Course Objectives:
The course presents basics of C programming including Data representation, Control Structures, Functions, Arrays, Pointers, Strings, and
Files that aims to:
I.
Learn the basic components of computing environment.
II.
Design and develop algorithms and flowcharts for solving a problem.
III.
Understand the importance of control flow statements in programming.
IV.
Understand structured programming approach to solve real time applications.
V.
Recognize the importance of dynamic memory allocation over static memory allocation.
VI.
Demonstrate how to handle the persistent storage area.
VI. Course Outcomes:
Upon completion of this course, students will acquire knowledge about:
1.
Apply the principles of structured programming in problem solving.
2.
List out the salient features and applications of C programming language.
3.
Demonstrate the techniques for implementing applications using C programming.
4.
Apply basic data structure like array in simple data processing applications.
5.
Explain the importance of user defined functions to implement real time applications.
6.
Distinguish user defined data types like structures and unions.
7.
List out the difference between iteration and recursion.
8.
Predict the behavior of variables using different types of storage classes.
9.
Use file concept to read/write data in secondary storage area.
10.
Apply C programming to do variety of tasks like low level programming, networking, OS related operations and so on.
VII. How Course Outcomes are assessed:
Program Outcomes
An ability to apply knowledge of computing, mathematical foundations, algorithmic
Level
principles, and computer science and engineering theory in the modeling and design of
Proficiency
assessed by
Assignments, mini
projects.
computer-based systems to real-world problems (fundamental engineering analysis skills)
b
An ability to design and conduct experiments, as well as to analyze and interpret data
--
Assignments, mini
(information retrieval skills)
c
An ability to design , implement, and evaluate a computer-based system, process,
component, or program to meet desired needs, within realistic constraints such as
projects,
economic, environmental, social, political, health and safety, manufacturability, and
seminars.
sustainability (Creative Skills)
d
An ability to function effectively on multi-disciplinary teams (team work)
--
An ability to analyze a problem, identify, formulate and use the appropriate computing and
Assignments, mini
engineering requirements for obtaining its solution (engineering problem solving skills)
f
An understanding of professional, ethical, legal, security and social issues and
projects.
N
--
responsibilities (professional integrity)
g
An ability to communicate effectively both in writing and orally (speaking / writing skills)
--
The broad education necessary to analyze the local and global impact of computing and
--
Assignments, mini
engineering solutions on individuals, organizations, and society (engineering impact
assessment skills)
i
Recognition of the need for, and an ability to engage in continuing professional
projects,
development and life-long learning (continuing education awareness)
seminars.
A Knowledge of contemporary issues (social awareness)
--
An ability to use current techniques, skills, and tools necessary for computing and
Assignments, mini
engineering practice (practical engineering analysis skills)
l
An ability to apply design and development principles in the construction of software and
projects.
N
--
Assignments, mini
hardware systems of varying complexity (software hardware interface)
m An ability to recognize the importance of professional development by pursuing
postgraduate studies or face competitive examinations that offer challenging and
projects,
rewarding careers in computing (successful career and immediate employment).
N = None
S = Supportive
seminars.
H = Highly Related
VIII. Syllabus:
UNIT - I
INTRODUCTION TO COMPUTERS: Introduction to computers, computer systems, computingenvironments, computer languages, creating
and running programmes, software development method, algorithms, pseudo code, flow charts, applying the software development method.
INTRODUCTION TO C LANGUAGE: Basic structures of C language, C tokens, data types and sizes,declaration of variables, assigning
values
OPERATORS AND EXPRESSIONS: Statements, arithmetic, relational and logical operators, incrementand decrement operators, conditional
operator, bitwise operators, type conversions, expressions and evaluation, input and output statements, sample programs.
UNIT - II
CONTROL STATEMENTS: If and switch statements, while, do while and for statements, sampleprograms.
FUNCTIONS: Defining and accessing, passing arguments, function prototypes, library functions, staticfunctions, user defined functions,
recursive functions, variables and storage classes, scope rules, block structure, header files, C preprocessor, example C programs.
ARRAYS: Defining and processing, one dimensional and two dimensional arrays, initialization, passingarrays to a function, multi dimensional
arrays, command line arguments.
UNIT - III
STRINGS: Defining and operations on strings, string variables declaration, reading, writing. Basics offunctions, parameter passing, string
handling functions.
POINTERS: Basic Concepts, pointer to pointer, passing pointers to a function, operations on pointers,pointer arithmetic, pointers and arrays,
arrays of pointers, function pointers, dynamic memory allocation.
UNIT - IV
STRUCTURES AND UNIONS: Structure definition, initializing, assigning values, passing of structures asarguments, array of structures,
pointers to structures, self reference to structures, unions, typedef, bit fields, sample programs.
UNIT - V
CONSOLE AND FILE I/O: File, types of files, file vs. console, file structure, file attributes, file operations,standard I/O, formatted I/O, sample
programs.
IX. List of Text Books / References / Websites / Journals / Others
Text Books:
B. A. Fouruzan and R. F. Gilberg (2006), Computer Science: A structured programming approach using C, 3 rd Edition, Thomson
1.
Publications, New Delhi.
Yashawanth Kanethkar (2008), Let us C, 8th Edition, Jones & Bartlett Publishers, India.
2.
Reference Books:
1.
Herbert Schildt (2000), C: The Complete Reference, 4th Edition, New Delhi, Osborne Mc Graw Hill.
2.
B. W. Kerninghan and Dennis M. Ritche (1988), The C Programming Language, 2 nd Edition, Prentice Hall Software Series,
India.
3.
Stephen G.Kochan (2004), Programming in C, 3 rd Edition, Pearson Education Private Limited.
X. Course Plan:
The course plan is meant as a guideline. There may probably be changes.
Lecture
No.
1-2
Course Learning Outcomes
Identify basic parts of computers
Topics to be covered
Introduction to computers, computer systems,
Reference
T1:1
computing environments
3
List various computer languages used
computer languages, creating and running
T1:1.1
programs
4-5
Apply SDLC for solving a problem.
software development method, applying the
T1:1.2
software development method
6-7
Develop algorithm and flowchart for a
algorithms, pseudo code, flow charts
T1:1.3
Identify the basic structure of a C
INTRODUCTION TO C LANGUAGE: Basic
T1:1.4
program.
structures of C language
List out the building blocks and data
C tokens, data types and sizes
problem.
8-9
10
T1:1.5
types used in C.
11-14
Distinguish types of operators used and OPERATORS AND EXPRESSIONS: Statements,
T1:1.6
its usage.
T1:2.1
arithmetic, relational and logical operators,
increment and decrement operators, conditional
operator, bitwise operators
15
Evaluate mathematical expressions
type conversions, expressions and evaluation
T1:2.2
Write sample C programs.
input and output statements,sample programs.
T1:2.3
Identify types of if statements.
CONTROL STATEMENTS: If and switch
using precedence rules.
16
17-18
T1: 3.1.1-3.1.3
statements
19-21
22
23
Distinguish different types of loops and
while, do while and for statements,
its usage.
SAMPLE PROGRAMS.
Use modular approach to reduce the
FUNCTIONS: Defining and accessing, passing
complexity of code.
arguments, function prototypes
List out various ways of writing
library functions, static functions, user defined
functions. Distinguish library vs user
functions, recursive functions
T1: 3.4
T1:3.2.1-3.2.2
T1:3.2.3
T1.3.2.4
defined functions.
24
Classify storage classes
variables and storage classes, scope rules
T1:3.2.5
25
Apply preprocessor directives in
block structure, header files, C preprocessor,
T1: 4.1
programs.
example C programs.
Define the basic concept of arrays
ARRAYS: Defining and processing
List out types of arrays
one dimensional and two dimensional arrays,
26 - 28
T1:4.2 - 5.1
multi dimensional arrays
29
Discuss how to pass command line.
Passing arrays to a function, command line
T1:5.2
arguments.
30-32
Illustrate operations on strings.
STRINGS: Defining and operations on strings,
string variables declaration, reading, writing.
33-35
List out various string handling functions string handling functions
T1:5.4 T1:7.1.17.1.2
T1:7.1.3-7.1.4
and its usage.
T1:7.1.5
36
Describe the basic concept of pointers
POINTERS: Basic Concepts, operations on
T1.7.1.6
pointers, pointer arithmetic
37-39
List out the various usage of pointers .
pointer to pointer, passing pointers to a function,
T1:7.2
pointers and arrays, arrays of pointers, function
pointers
40
Demonstrate static vs dynamic memory dynamic memory allocation
T1:7.3
allocation
41
Describe the basic concept of
Structures: Structure definition, initializing,
structures.
assigning values, passing of structures as
T1:7.4
arguments
42
Illustrate the usage of structures.
array of structures, pointers to structures
T1:6.1
48
Distinguish structures vs. unions.
self reference to structures, unions
T1:6.2
Explain the importance of typedef and
Typedef, bit fields, sample programs
T1:6.3
CONSOLE AND FILE I/O: File, types of files, file
T2:6.4
49-50
bit field
51-52
Describe the basic file concepts
vs. console
53-55
List out various file attributes,
file structure, file attributes, file operations
T1:8.2 - 8.6
State various file operations
56-59
60
Distinguish between standard I/O and
standard I/O
formatted I/O
formatted I/O
T1:8.4
T1:8.5
Illustrate sample C programs using files. sample programs using files.
T1:8.6
XI. Mapping course objectives leading to the achievement of the programme outcomes:
Program Outcomes
Course
Objectives
IV
V
II
III
S = Supportive
H = Highly Related
XII. Mapping course outcomes leading to the achievement of the programme outcomes:
Program Outcomes
Course
Outcomes
1
2
3
4
H
S
H
S
H
10
H
S = Supportive
Prepared By
Date
:
:
H = Highly Related
Ms. B. Padmaja, Associate professor
16 January, 2013