Page 1
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
COURSE FILE
NAME OF STAFF JOMS ANTONY
COURSE NAME PROGRAMMING IN C
COURSE CODE AUE 010 305
SEMESTER 3
BRANCH INFORMATION TECHNOLOGY
BATCH 2011- 2015
ACADEMIC YEAR 2013 - 2014
Page 2
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
COURSE FILE INDEX
SL NO CONTENTS
1 PROGRAMME EDUCATIONAL OBJECTIVES-PEO
2 PROGRAM OUTCOME – PO
3 COURSE (SYLLABUS)
4 COURSE OBJECTIVES – CO
5 COURSE OUTCOME –CEO
6 MAPPING OF CO WITH PO
7 COURSE PLAN & COURSE TRACEABILITY MATRIX
8 LECTURE NOTE TEMPLATES
9 INTERNAL EXAMINATION QUESTION PAPERS
10 UNIVERSITY QUESTION PAPERS
11 SAMPLE ASSIGNMENTS &ANSWER SHEETS
12 INTERNAL MARK EVALUATION SHEET
Page 3
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
PROGRAMME EDUCATIONAL OBJECTIVES – PEO
1. To prepare students for successful careers in automotive and ancillary industries that meet the
needs of Indian and Multinational companies.
2. To develop the ability among students to synthesize data and technical concepts for application
to automotive design.
3. To provide opportunity for students to work as part of teams on multidisciplinary projects.
4. To provide students with a sound foundation in the mathematical, scientific and engineering
fundamentals necessary to formulate, solve and analyze engineering problems and to prepare
them for research oriented studies.
5. To promote student awareness for life-long learning and to introduce them to professional
PROGRAMME OUTCOME – PO
a) Graduates will demonstrate basic knowledge in mathematics, science and engineering.
b) Graduates will demonstrate the ability to design and conduct experiments, interpret and analyze
data and report results.
c) Graduates will demonstrate the ability to design automotive or a thermal system or a mechanical
process that meets desired specifications and requirements.
d) Graduates will demonstrate the ability to function on engineering and science teams, as well as
on multidisciplinary design teams.
e) Graduates will demonstrate the ability to identify, formulate and solve engineering problems.
f) Graduates will demonstrate an understanding of their professional and ethical responsibilities.
g) Graduates will be able to communicate effectively in verbal, written and graphical forms.
h) Graduates will have the confidence to apply engineering solutions in global and societal
contexts.
Page 4
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
COURSE SYLLABUS
AUE010 305: Programming in C
(Common with PE010 305 and ME010 305)
Course Title PROGRAMMING IN C Course Code ME010305
Course Duration Jul‘13 – Dec ‘13 Course Load 0-2-1-2-0
Prerequisite Version 02
Objectives
To impart advanced knowledge in programming in C language
Module I (15 hours) Introduction to computer programming; Various I/O functions; Data types; Constants and Variables;
Escape Sequences; Type Casting; Preprocessor Directive; Storage Classes; Scope of Variables;
Mathematical Operators; Relational Operators; Branching Instructions; Logical Operators; Conditional
Operator; Precedence of Operators; Loops – for, while and do-while, break and continue instructions,
Nested Loops; Switch statement; Evaluation of ex, sin(x), cos(x) Numerical Integration using
Trapezoidal and Simpson’s rules.
Module II (10 hours) Arrays; One Dimensional Arrays; Selection Sorting; Binary Searching; Various String Handling
Functions; Multidimensional Arrays; Matrix Operations (Addition, Transpose and Multiplication);
Sorting of Strings; Structure and Union; Array of Structures; Module III (10 hours)Functions; Call by
Value Method; Stack; Passing One Dimensional and Multidimensional Arrays to a Function; Recursion;
Writing Different String Handling Functions Using Simple Functions and Functions with Recursive
Calls; Quick Sorting; Macros; Writing Macros for Simple Operations;
Module IV (15 hours) Declaration of Pointers; Call by Reference Method; Pointer to a Structure; Pointer to an Array; Array of
Pointers; Pointer to a Pointer; Self Referential Structure; Dynamic Memory Allocation; Reallocation of
Memory; Linear Linked List; Circular Linked List; Double Linked List; Addition, Insertion and Deletion
of Nodes from a Linked List; Command Line Arguments
Module V (10 hours) Different types of Files; Reading, Writing, Appending and Rewriting of Text and Binary Files; Transfer
of Data in Blocks; Moving of File Pointer in a File; Usage of bitwise AND, OR, NOT, XOR, Shift Left
and Shift Right Operations
Teaching scheme Credits: 4
3 hours lecture and 1 hour tutorial per week
Page 5
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
Text Books 1. Bryon S.Gottfried, Programming with C Language.
Reference Books 2. Balaguruswamy, Programming in ANSI C,
3. Deitel, How to Program C
4. Kamthane, Programming with ANSI and Turbo C
COURSE OBJECTIVES
[CO1] Illustrate the importance of programming and its applications.
[CO2]Provide an insight about problem solving using computers.
[CO3] Illustrate the basic programming approach using C.
[CO4]Impart advanced knowledge in C programming.
COURSE OUTCOME
[CEO1] Able to appreciate the importance of programming.
[CEO2] Able to develop problem solving algorithms and convert them into programs.
[CEO3] Able to appreciate modular(functions) programming approach.
[CEO3] Ability to understand and apply memory references and allocation.
[CEO5] Ability to apply the knowledge of files in different applications.
Internal Continuous Assessment (Maximum Marks-50)
60% - Tests (minimum 2)
20% - Assignments (minimum 2) such as home work, problem solving, group discussions,
quiz, literature survey, seminar, term-project, software exercises, etc.
20% - Regularity in the class
Page 6
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
MAPPING COURSE OUTCOMES AND PROGRAMME OUTCOMES
PEO’s
Cou
rse
Ou
tcom
es
a b c e
CEO1 X X X
CEO2 X X X X
CEO3 X X
CEO4 X
CEO5 X X
Page 7
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
LECTURE SCHEDULE
(COURSE PLAN AND COURSE TRACEABILITY MATRIX)
Course Duration: 01/07/2013 to 31/11/2013
Lecture
No
Week
&
Modul
e
Syllabus Topics
Planned
Scheduled
Hour
(Planned)
Actually
Taken
Hours
Lecture
Note No Work Register-
Date
MODULE-1
01
Introduction to programming
02
02 LN01
09-7-13
03
Algorithms &Flow charts 02 01 LN 02 11-7-13
04
Simple-programs-datatypes, variables 02 02 LN 03 12,15-7-
13
06
Various IO functions, escape sequences. 02 02 LN 04 16-7-13
08
Structure of C-programs, pre-processor
directives. 02 01 LN 05 18-7-13
09
Operators and Operands
Relational, Logical 01 01 LN06 22-7-13
10
Decision Controls-if, if-else
Switch. 02 02 LN07 23-7-13
12
Operators-
Arithmetic,conditional,bitwise,special 02 02 LN08 25-7-13
14
Special operators, pointer basics 01 01 LN09 29-7-13
15
Intro to Loop controls 02 02 LN10 30-7-13
17
Loop Control Examples, Algorithms 04
05 LN11
1,5,6-8-13
MODULE-2
22
Introduction to Arrays, strings, sample
programs 02 02 LN12
13-8-13
24
Break,continue statements 01 01 LN13 19-8-13
25
String handling functions 01 01 LN14 29-08-13
26
Sorting and Searching 03 03
LN15
29, 31-08-
13
Page 8
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
29
Structures and Unions, Sample programs 03 03 LN16 02, 03-9-13
32
Sum of Series, Algorithms 03 03 LN17 03,05-8-13
35
Matrix operations 04 04 LN18
MODULE-3
39
Functions-Introduction
01
01
LN19
12-09-13
40
Passing values to a function, passing arrays 01 01
LN20
23-09-13
41
Recursive functions, sample programs 02 02 LN21 24-09-13
MODULE-4
43
Intro-pointers, memory referencing 01
01 LN22 26-09-13
44
Pointer to an array, array of pointers 02
02 LN23
30-09-13
46
Dynamic memory allocation 02
02 LN24
01-10-13
48
Linked Lists 02
01 LN25
03-10-13
MODULE-5
50
Intro to files-reading and writing, file
functions, modes 03
03
LN26
4,8-10-13
53-
56
Files-Sample programs
04 04
LN27
10, 17-10-
13
Page 9
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
DELIVERY TECHNOLOGIES:
Sl. No. Delivery Technology
1. Classroom with Blackboard/White Board
2. Classroom with LCD Projector
3. Web Distribution of Supplementary course materials
ASSESMENT SCHEDULE
Prepared by: JOMS ANTONY. Approved by: Ms.Sandhya Ramakrishnan
Date : Date :
1 Assignment 1 A1 Solving Univ.Que. Papers W-5
3 TEST CT1 Module 1,2 W-4
2 Series Test 1 S1 Module 1,2 W- 4
4 Assignment 2 A2 Written Assignment W-1
5 Series Test 2 S2 Module 3,4,5 W-13
Page 10
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
LECTURE NOTE TEMPLATES
Page 11
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
LECTURE: 1
Objectives:
To provide an introduction about programming and its importance
Explanation:
Importance of programming
Human Vs Computer
Free form Vs Syntax
Problems Solving using Computers
LECTURE: 2
Objectives:
To provide an introduction about flowcharts, algorithms approach for problem solving
Explanation:
Problem Solving phases
Flowcharts illustration
Writing Algorithms for the problem at hand eg:prime numbers, sorting etc
Optimized Solutions eg: Binary searching
LECTURE: 3
Objectives:
To illustrate how to write simple programs and explain data types, variables, constants,
keywords
Explanation:
Writing simple programs eg: print a messege.
Different basic data types; int,float, char etc
Concept of a variable as a reference box
Explain what are constants
LECTURE: 4
Objectives:
To explain about various IO functions, escape sequences.
Explanation:
Usage of printf(), scanf() statements
Usage of %d,%f,%c,%s, & symbols
Usage of newline(\n) and tab(\t)
Sample programs Demonstration
Page 12
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
LECTURE: 5
Objectives:
To explain about basic structure of a C-program, pre-processor directives, user defined functions
Explanation:
Basic structure of C-programs
Pre-processor directives, comments, symbolic constants
main() function
user defined functions
LECTURE: 6
Objectives:
To explain about operators and operands, relational & logical operators
Explanation:
Concept of operands and operators
Unary, binary, ternary operators
Usage of relational (= =, <, >, !=, <=, >=) and logical(&&, ||, !) operators.
LECTURE: 7
Objectives:
To explain about Decision control constructs in C
Explanation:
Deciosion controls and their usage
Usage of switch, if-else,nested if’s etc
Sample programs
LECTURE: 8
Objectives:
To explain various operators in C
Explanation:
Arithmetic operators
Conditional operators
Logical and Relational operators
Bitwise operators
Page 13
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
LECTURE: 9
Objectives:
To explain about special operators and introduce the concept of pointers
Explanation:
Memory referencing operator( &)
De-referencing operator(*)
sizeof() operator
LECTURE: 10
Objectives:
To introduce and illustrate the concept of loop controls
Explanation:
Iteration concepts
Examples to illustrate iteration operations
Different Loop control statements in C while, do-while, for
LECTURE: 11
Objectives:
To illustrate the usage of loop controls using sample programs and algorithms
Explanation:
Syntax and Usage of different loop controls for iteration
Iterative algorithms
Sample programs prime no, reverse of a number, palindrome,
greatest, factorial, power etc
LECTURE: 12
Objectives:
To provide introduction to arrays, strings
Explanation:
Introduction to arrays
Scanning, printing the contents of array
Sample programs using arrays
LECTURE: 13
Objectives:
To illustrate the usage of break and continue statements
Page 14
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
Explanation:
Usage of break statement inside a loop control
Usage of continue statement inside a loop control
Sample programs
LECTURE: 14
Objectives:
To illustrate the usage of strings and string handling functions
Explanation:
Introduction to string handling
String handling functions and their working
Different string hanling functions like strcmp(), strcat(), strcpy()
LECTURE: 15
Objectives:
To discuss sorting and searching operations and implement them.
Explanation:
Importance of sorting and searching operations.
Different sorting techniques like bubble sort, selection sort, quick sort.
Different searching techniques like linear search and binary search.
Implementation of sorting and searching techniques.
LECTURE: 16
Objectives:
To introduce the concept of structures, unions and their usage.
Explanation:
Importance of structures and their usage
Referencing the elements in a structure
Unions Vs Structures
Nested structures
Sample programs
LECTURE: 17
Objectives:
To solve sum of the series problems using C
Explanation:
Introduction to sum of the series problems
Solving sum of the series problems
Page 15
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
Solving for Sine series, Cosine series, e-series
LECTURE: 18
Objectives:
To illustrate the usage of matrices and the different matrix operations
Explanation:
Introduction to matrices
Reading and Writing matrices
Different matrix operations like sum, multiplication, identity, diagonal etc.
LECTURE: 19
Objectives:
To introduce the concept of functions and modular programming
Explanation:
Concept of modular programming and functions
Function declaration, definition and invocation
Usage of functions, sample programs
LECTURE: 20
Objectives:
To illustrate the usage of functions by passing values, arrays etc
Explanation:
Passing values to a function
Return types
Usage of functions, sample programs
LECTURE: 21
Objectives:
To introduce the concept of recursion and illustrate recursive functions
Explanation:
Concept of recursion
Recursive functions
Recursive functions for factorial, power,gcd etc
LECTURE: 22
Objectives:
To introduce the concept pointers and memory referncing
Explanation:
Page 16
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
Introduction to pointers
Memory referencing and de-referncing
Usage of * and & operators
Pointer Arithmetic
Sample programs
LECTURE: 23
Objectives:
To introduce the concept pointer to an array and array of pointers
Explanation:
Memory referencing for arrays
Meaning of *(a+i) and a[i]
Array of pointers
Sample programs
LECTURE: 24
Objectives:
To introduce the concept of dynamic memory allocation and its implementation
Explanation:
Effective memory utilization
Dynamic memory allocation function malloc(),calloc(),realloc(),free()
Sample programs
LECTURE: 25
Objectives:
To introduce the concept of linked lists and their usage
Explanation:
Linked lists as self referential structures
Types of linked lists singly, doubly,circular etc
Insertion and deletion of nodes in LL
LECTURE: 26
Objectives:
To introduce the concept of linked lists and their usage
Explanation:
Page 17
Programming in C -AUE 010 305- Course File Jul 2013 – Nov 2013
Amal Jyothi College of Engineering Department of Information Technology
Linked lists as self referential structures
Types of linked lists singly, doubly,circular etc
Insertion and deletion of nodes in LL
LECTURE: 27
Objectives:
Introduce concept of files and its usage
Explanation:
Files, file modes,file functions
Reading from and writing into a file
LECTURE: 28
Objectives:
To illustrate the usage of files using sample programs
Explanation:
Exception/Error handling in files
Sample programs