17
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

Course File-AUE010305

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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: Course File-AUE010305

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