Sunteți pe pagina 1din 14

------------------------------------------------------------------------------------

SCHOOL OF COMPUTING
DEPARTEMENT OF COMPUTER SCIENCE AND ENGINEERING

PROGRAMMING IN C
(CSE18R153)

COURSE INFORMATION SHEET


ACADEMIC YEAR (2019 -2020)
ODD SEMESTER

Bachelor of Technology

Prepared by : Dr. K.Kartheeban


UNIVERSITY VISION UNIVERSITY MISSION
To be a Centre of Excellence of To Produce Technically Competent, Socially Committed
International Repute in Education and Technocrats and Administrators through Quality
Research. Education and Research

COMPUTERE SCIENCE AND ENGINEERING DEPARTMENT


VISION MISSION
To prepare the students for a prospective career in IT
To become a Centre of Excellence in industry and for higher learning by imparting sound
Teaching and Research in the field of technical knowledge.
Computer Science and  To carry out research in cutting edge technologies in
Engineering computer engineering to meet the requirement of the
industry and society

PROGRAMME EDUCATIONAL OBJECTIVES


Within a few years of obtaining an undergraduate degree in Electronics and Communication
Engineering, the students will be able to:
PEO1: TECHNICAL PROFICIENCY:
The Graduates will demonstrate technical proficiency in computer science and engineering
during employment or higher studies.
PEO2: PROFESSIONAL GROWTH:
The graduates will imbibe problem solving skills through continuous learning and innovative
mindset to provide sustainable solutions.
PEO3: MANAGEMENT SKILLS:
The graduates will operate in a diverse environment as a professional or an entrepreneur to solve
societal problems with professional ethics.

PROGRAMME SPECIFIC OUTCOMES


At the end of the programme, the students will be able to:
PSO1 : Problem-Solving Skills : The ability to apply mathematics, science and computer engineering
knowledge to analyze, design and develop cost effective computing solutions for complex
problems with environmental considerations.
PSO2: Professional Skills: The ability to apply modern tools and strategies in software project
development using modern programming environments to deliver a quality product for business
accomplishment.
PSO3: Communication and Team Skill: The ability to exhibit proficiency in oral and written
communication as individual or as part of a team to work effectively with professional
behaviours and ethics.
PSO 4: Successful Career and Entrepreneurship: The ability to create a inventive career path by
applying innovative project management techniques to become a successful software
professional, an entrepreneur or zest for higher studies.

PROGRAMME OUTCOMES (R2018)


Page 2 of 14
At the end of the programme, the students will be able to:
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,
and an engineering specialization to the solution of complex engineering problems.

2. Problem analysis: Identify, formulate, review research literature, and analyze complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural
sciences, and engineering sciences.

3. Design/development of solutions: Design solutions for complex engineering problems and design
system components or processes that meet the specified needs with appropriate consideration for
the public health and safety, and the cultural, societal, and environmental considerations.

4. Conduct investigations of complex problems: Use research-based knowledge and research


methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.

5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with
an understanding of the limitations.

6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.

7. Environment and sustainability: Understand the impact of the professional engineering solutions
in societal and environmental contexts, and demonstrate the knowledge of, and need for
sustainable development.

8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms
of the engineering practice.

9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.

10. Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports
and design documentation, make effective presentations, and give and receive clear instructions.

11. Project management and finance: Demonstrate knowledge and understanding of the
Engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.

12. Life -long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life -long learning in the broadest context of technological change.

Page 3 of 14
SYLLABUS
L T P Credit
CSE18R153 PROGRAMMING IN C
2 0 2 3
Pre-requisite : Nil
Course Category : Basic Engineering Course Type: Theory with Practical (TP)

Course Objective:
1. To make the students to understand the basic concepts of programming language,
rules to be followed while writing a program and how to compile and execute C
programs.
Course Outcomes:
CO1 : Interpret the basic programming concepts and syntax of C language
CO2 : Solve simple problems using C arrays and strings
CO3 : Apply modular programming concept of C to solve given problem
CO4 : Develop efficient code using memory allocation technique
CO5 : Create user defined data types and files to solve real world problems

Mapping of Course Outcomes with PO, PSO:

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 PSO4

CO 1 S S VS S S S

CO 2 S S S S S S

CO 3 S S S S S S S S S S S

CO 4 S S S S S S

CO 5 S S S S S S S S S S S

UNIT I Introduction to Programming 9 Hours


Introduction to component of a Computer System(disks, memory, processor, where a program is stored
and executed, operating system, compiler etc.,) - Representation of Algorithm: Flowchart/ Pseudocode
with example - Syntax and Logical error in Compilation.-Structure of C program - variable-Data type in
C - Tokens - Operators and expressions - Input and output - Control statements : Selection - Iteration -
Goto statement - Nested loops.

UNIT II Arrays and Strings 9 Hours


Introduction - One dimensional and two dimensional arrays – Declaration of arrays - Initializing and
Accessing array elements – Strings: One dimensional character arrays - Declaration and String
Initialization - String Manipulation - Multidimensional Arrays - Arrays of Strings

UNIT III Function And Recursion 9 Hours


Introduction - Function Prototypes - Passing Arrays to Functions - Scope and Extend - Storage Classes -
Inline Functions- Parameter passing in functions -call by value- idea of call by reference- Recursion-
Recursion, as a different way of solving problems.(Example programs, such as Finding Factorial,
Fibonacci series, Ackerman function etc.

UNIT IV Pointers 9 Hours


Introduction - Address of operands – Pointer: Declaration and Initialization - Arrays and Pointers -
Pointers and Strings - Pointer Arithmetic - Pointers to Pointers - Array of Pointers - Pointer to Array -
Dynamic Memory Allocation (DMA)

UNIT V User defined data types and Files 9 Hours


Introduction – Structures - Declaration and Initialization of Structures - Arrays within Structure -
Structure and Pointers - Structures and Functions – Union - Enumeration types - Using Files in C -
Working with Text Files - Working with binary files

List of Practical Components:


1. Program for Simple computational problems using arithmetic expressions
2. Programs using Branching and logical expressions
3. Programs using Loops, while and for loops(Iterative problems) e.g., sum of series
4. Programs using 1-D and 2-D arrays.
5. Programs using string handling functions.
6. Programs using functions with various parameter passing mechanisms.
7. Programs using recursive functions.
8. Programs using pointers and dynamic memory allocation functions for 1-D and 2-D
arrays.
9. Programs to create user defined data like structures and unions to represent real world
problems
10. Programs for creating text files to store and manipulate data.

Text Book:
1. Pradip Dey and Manas Ghosh,Programming in C,Oxford University Press,Third Edition,
2018.
2. Byron Gottfried, Schaum's Outline of Programming with C, McGraw-Hill,Third
Edition2010.

Reference Books:
1. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall of
India,Second Edition,2015.
2. E. Balaguruswamy, Programming in ANSI C, Tata McGraw-Hill, Sixth Edition,2012.

WEIGHTAGE:

Component Marks
Internal Exam
1. Sessional Examinations : 20%
50
2. Assignments/Seminars/Tutorial/Quiz : 15%
3. Laboratory Work(Internal) : 15
External Exam
50
End Semester Exam : 50%
Total 100
COURSE INFORMATION SHEET
Course Name / Code Programming in C – CSE18R153
Degree / Branch B.Tech., CSE
Course Credit 3 (2-0-2)
Course Category Basic Engineering – Theory with Practical
Contact Details
Faculty Name
Staff Room E-mail
Dr. K. Kartheeban k.kartheeban@klu.ac.in
8401
k.kartheeban73@gmail.com
Course Instructors
Dr.T.Dhiliphan Rajkumar 8602 t.dhiliphan@klu.ac.in
Dr.R.Kannaiga Devi 8602 rkannigadevi@gmail.com
Dr.K.Murugeshwari 8602 Murugeshwari.k@klu.ac.in
New Faculty --- --
Course Coordinator Dr.K.Kartheeban
Module Coordinator Dr.R.Ramalakshmi
Programme Coordinator Dr. K. Kartheeban

1. Pre-requisite: Nil

2. Course Description:

C language still has its importance and popularity in the software industry, in spite of recent
development of several high level languages. It has an excellent support of high-level as well
as low-level functionality, which makes it suitable for many applications.

Concept of procedure –oriented programming can be well-understood and learnt with


the help of C language, which is also needed for implementation of functions and modules of
object-oriented languages like C++, Java etc. Hence C language is an ideal starting point to
learn programming.

This course provides students with a comprehensive study of the C programming


language. Classroom lectures stress the strengths of C, which provide the students with the
means of writing efficient, maintainable, and portable code. The lectures are supplemented
with lab exercises. This course will also help the students during their placement sittings, as
most of the companies test proficiency in programming using C.
3. Career Opportunities:

C is typically used for fairly low-level development. It is used in embedded systems,


which is often listed as a computer engineering position (rather than computer science, or
software engineering.) C is also used for device drivers and 'generic' low-level code like math
utility code for larger projects. C is still used for development of browsers, instant messengers,
server daemons, and network code.

4. Course Objectives:

To make the students to understand the basic concepts of programming language,


rules to be followed while writing a program and how to compile and execute C programs.
.
5. Course Outcomes:

At the end of the course, the students will be able to

CO1 : Interpret the basic programming concepts and syntax of C language


CO2 : Solve simple problems using C arrays and strings
CO3 : Apply modular programming concept of C to solve given problem
CO4 : Develop efficient code using memory allocation technique
CO5 : Create user defined data types and files to solve real world problems.

6. Mapping of Course Outcomes with PO, PSO:

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 PSO4

CO 1 S S V S S S S

CO 2 S S S S S S

CO 3 S S S S S S S S S S S

CO 4 S S S S S S

CO 5 S S S S S S S S S S S

7. Books:

Sl. Book Name Author(s) Publisher Year, Edition


Text(s)

Fundamentals of
Pradip Dey, Manas Oxford 3 nd Edition,
1. Computing and
Ghosh University Press 2018
Programming in C
Programming with Tata McGraw Third Edition,
2. Byron S. Gottfried
C Hill 2010
The C
Brian W. Kerninghan Pearson Second
Reference(s)

1. Programming
and Dennis M.Richie Education Edition,2015
language

Programming in Tata McGraw Sixth


2. E. Balagurusamy
ANSI C Hill Edition,2010

8. Lesson Plan:
ABBREVIATION TEACHING METHOD
L Class Room Lecture (Chalk Based Lecture)
Smart Class Room Lecture/ Web-Facilitated Course Delivery/ Flipped
EL
Class Lecture/ Multimedia Lecture/ Animation
SS Self-Study Topic – Student Seminar
T Tutorial/ Case-Study/ Scenario
P Practical/ Laboratory Demonstration/ Model Demonstration/ Simulation
GD Group Discussion/ Debate/ Role Play
GL Guest Lecture/ Workshop/Interview with Experts/ Webinars
IV Industrial Visit/ Field Trip
PJ Project Design/ Project Demonstration/Literature Survey
TOPIC CHAPTER No. OF CUM.
TOPIC NAME REF. METHOD
No. No. HOURS HOURS
UNIT I – INTRODUCTION TO PROGRAMMING
1. Introduction to components T1 Chapter 1 1 1 L
of a computer system
(disks, memory, processor,
where a program is stored
and executed, operating
system, compilers etc.),
2. Representation of T1 Chapter 5 1 2 EL
Algorithm: Flowchart/
Pseudocode with examples.
3. Syntax and Logical Errors T1 Chapter 2 1 3 EL
in compilation.
4. Structure of C program T1 Chapter 2 1 4
5. variable-Data type in C T1 Chapter 2 1 5
6. Tokens - Operators and T1 Chapter 3 1 6 EL,P
expressions
7. Input and output T1 Chapter 3 1 7
8. Control statements : T1 Chapter 5 2 9 EL,P
Selection - Iteration - Goto
statement - Nested loops
UNIT II – ARRAYS AND STRINGS
Introduction – One and two
dimensional Array-
9. T1 Chapter 6 2 11 L, T, P
Declaration, Initialization,
Accessing array elements
Strings-: One dimensional
10. T1 Chapter 6 1 12 EL,P
character arrays
Declaration and string
11. T1 Chapter 6 1 13 L,P
Initialization
12. String Manipulation. T1 Chapter 6 2 15 EL,P
13. Multidimensional arrays T1 Chapter 6 1 16 EL,P
14. Arrays of Strings T1 Chapter 6 2 18 L,P
UNIT III – FUNCTIONS AND RECURSION
Functions (including using
15. T1 Chapter 7 2 20 L, T, P
built in libraries)
Parameter passing in
16. T1 Chapter 7 2 22 EL,P
functions, call by value
Passing arrays to
17. functions: idea of call by T1 Chapter 7 2 24 EL,P
reference
18. Recursion T1 Chapter 7 1 25 L, T
Recursion, as a different
19. T1 Chapter 7 2 27 EL,P
way of solving problems
UNIT IV POINTERS
20. Introduction - Pointers T1 Chapter 9 1 28 EL,P
21. Address of operands T1 Chapter 9 1 29 EL.P
TOPIC CHAPTER No. OF CUM.
TOPIC NAME REF. METHOD
No. No. HOURS HOURS
Pointer: Declaration and 2
22. T1 Chapter 9 31 EL,P
Initialization
23. Arrays and Pointers T1 Chapter 9 1 32 EL.P
24. Pointers and Strings T1 Chapter 9 1 33 L
25. Pointer Arithmetic T1 Chapter 9 1 34 EL,P
Pointers to Pointers -Array 1
26. T1 Chapter 9 35 L
of Pointers
Pointer to Array - Dynamic 1
27. T1 Chapter 9 36 EL
Memory Allocation (DMA)
UNIT V USER DEFINED DATA TYPES AND FILES
Introduction -Structures,
28. Declaration and T1 Chapter 8 1 37 L
Initialization of Structures
29. Array within structure T1 Chapter 8 1 38 EL.P
30. Structure and Pointers T1 Chapter 8 1 39 EL,P
31. Structures and Functions T1 Chapter 8 1 40 EL.P
32. Union T1 Chapter 8 1 41 L
33. Enumeration types T1 Chapter 8 1 42 EL,P
34. Using Files in C T1 Chapter 10 1 43 L
35. Working with Text Files T1 Chapter 10 1 44 L, T
36. Working with binary files T1 Chapter 10 1 45 L

9. List of Experiments

Exp. Name of the Experiment No. of Cumulative


No Hours hours

1 Program for Simple computational problems using 2 2


arithmetic expressions
2 Programs using Branching and logical expressions 2 4
3 Programs using Loops, while and for loops(Iterative 2 6
problems) e.g., sum of series
4 Programs using 1-D and 2-D arrays 2 8
5 Programs using string handling functions 2 10
6 Programs using functions with various parameter passing 2 12
mechanisms.
7 Programs using recursive functions 2 14
8 Programs using pointers and dynamic memory allocation 2 16
functions for 1-D and 2-D arrays
9 Programs to create user defined data like structures and 2 18
unions to represent real world problems
10 Programs for creating text files to store and manipulate 2 20
data

10. COs, Teaching Methodologies and Assessment Tools:


Content Delivery Assessment Tools
CO
Methodology Direct Indirect
Class Lectures
SE–I – 60%
Tutorials
CO1 END SEM – 20%
Flipped Classes /
Assignment – 20%
Multimedia Lectures
Class Lectures
Tutorials SE–I – 60%
CO2 Flipped Classes/ END SEM – 20%
Multimedia Lectures Assignment – 20%
Laboratory Demo
Class Lectures
Course End
Tutorials
SE–II – 60% Survey
Flipped Classes/
CO3 END SEM – 20%
Multimedia Lectures
Assignment – 20%%
Guest Lecture
Laboratory Demo
SE–II – 60%
CO4 Practical END SEM – 20%
Assignment – 20%%
Internal Lab-50
CO5 Practical END SEM – 30%
Assignment – 20%

11. Assessment Topics:


Efficienc 12.
Efficienc
y of
S.No Experiments y of Output Viva Voce
Algorith
program
m
1 Program for Simple computational
20 50 25 5
problems using arithmetic expressions
2 Programs using Branching and logical 5
25 50 20
expressions
3 Programs using Loops, while and for
5
loops(Iterative problems) e.g., sum of 25 50 20
series
Programs using 1-D and 2-D arrays
4 20 45 25 10

5 Programs using string handling 10


20 55 15
functions
6 Programs using functions with various 5
25 50 20
parameter passing mechanisms.
7 Programs using recursive functions 10
25 40 25
8 Programs using pointers and dynamic
memory allocation functions for 1-D and
25 50 20 5
2-D arrays

9 Programs to create user defined data like


structures and unions to represent real
world problems 20 50 20 10

10 Programs for creating text files to store


and manipulate data
20 45 25 10

Exam Portions

CO Measurement Tool Date (Tentative) Measurement Time


After the completion of Unit I
CO1, CO2 Unit test – 1,2 2 Days after Test
& Unit II respectively
CO1, CO2 Sessional Examination – I As per Academic Calendar 3 Days after Exam
After the completion of Unit III
CO3,CO4 Unit test – 3,4 2 Days after Test
& Unit IV respectively
CO3, CO4 Sessional Examination – II As per Academic Calendar 3 Days after Exam
CO5 Unit test – 5 After the completion of Unit 5 2 Days after Test
As per Academic
CO1 to CO5 End Semester Examination As per Academic Calendar
Calendar

CO Exam Topic No(s).


CO1, CO2 Sessional Examination – I 1 to 14
CO3, CO4 Sessional Examination – II 15 to 27
CO Exam Topic No(s).
CO1 to CO6 End Semester Examination 1 to 36

13. Web Resources:

S.No Units Websites

1. Unit I – http://computer.howstuffworks.com/c.htm
Introduction to http://www.le.ac.uk/cc/tutorials/c/
Programming http://www.eskimo.com/~scs/cclass/notes/top.html (for notes)
http://www.cprogramming.com/tutorial.html
2 Unit II – http://www.iu.hio.no/~mark/ctutorial/ctutorial.html
Arrays and Strings http://www.cs.cf.ac.uk/dave/c/
http://www.di-mgt.com.au/cprog.html (c complex code examples)
http://c-faq.com/index.html (frequently asked questions)
3 Unit III – Function https://www.tutorialspoint.com/cprogramming/c_pointers.htm
and Recursion https://www.programiz.com/c-programming/c-pointers
http://www.cprogramming.com/tutorial/c/lesson6.html
http://www.studytonight.com/c/pointers-in-c.php
www.programiz.com/c-programming/c-recursion
https://onlinecourses.nptel.ac.in/iitk_cs_101
freevideolectures.com / Programming / IIT Kharagpur
https://www.coursera.org/course/cprogramming
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-087-practical-programming-in-c-january-iap-2010/
4 Unit IV- Pointers https://www.programiz.com/c-programming/c-pointer-examples
https://www.tutorialspoint.com/cprogramming/c_pointers.htm
https://www.w3schools.in/c-tutorial/pointers/
https://www.c-lang.thiyagaraaj.com/c-programs/c-pointer-
example-programs/simple-pointer-example-program
https://www.programmingsimplified.com/c-program-examples
http://www.trytoprogram.com/c-programming/c-programming-
arrays-and-pointers/
5 Unit V – User http://www.cs.utah.edu/~hamlet/release/classes/c/contents.shtm
defined data types l
and files http://www2.its.strath.ac.uk/courses/c/
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-087-practical-programming-in-c-january-iap-2010/
http://www.programiz.com/c-programming/c-structure-examples
http://hemsidor.torget.se/users/d/devlin/shell/
http://www.esscc.uq.edu.au/~ksteube/bshell/
http://heather.cs.ucdavis.edu/~matloff/unixandc/unix/cshellii.ht
ml http://www.injunea.demon.co.uk/pages/page203.html

14. Online Courses / Certification Courses:


1) MIT open course ware:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-
practical-programming-in-c-january-iap-2010/
2) Coursera:
https://www.coursera.org/course/cprogramming
3) NPTEL:
https://onlinecourses.nptel.ac.in/iitk_cs_101freevideolectures.com / Programming /
IIT Kharagpur

15. Virtual Laboratory Topics:


Topics Virtual Laboratory URL
1. Programs using control and looping statements.
2. Programs using 1-D and 2-D arrays.
3. Programs using string handling functions.
4. Programs using functions with various parameter passing
mechanisms.
5. Programs using recursive functions.
6. Programs using pointers and dynamic memory allocation http://virtual-labs.ac.in
functions for 1-D and 2-D arrays.
7. Programs to create user defined data like structures and unions
to represent real world problems
8. Programs for creating text files to store and manipulate data.

16. Flipped Class Topics:


Topics Streaming URL
Decision Making: if http://spoken-tutorial.org/watch/C%2Band%2BCpp/If%2BAnd%2BElse
statement - if-else %2BIf%2Bstatement/English/
statement - else-if ladder
Simple Programs in C http://spoken-tutorial.org/watch/C%2Band%2BCpp/First%2BC
%2BProgram/English/
Programs using Control http://spoken-tutorial.org/watch/C%2Band%2BCpp/If%2BAnd%2BElse
Structure %2BIf%2Bstatement/English/
http://spoken-tutorial.org/watch/C%2Band%2BCpp/Nested%2BIf
%2BAnd%2BSwitch%2BStatement/English/
Array in C https://www.youtube.com/watch?v=fX2tHEy-070&t=72s
Defining and Processing http://spoken-tutorial.org/tutorial-search/?
an Array - Passing Arrays search_foss=C+and+Cpp&search_language=English
to Functions -
Multidimensional Arrays -
Arrays and Strings
Programs using Single
http://spoken-tutorial.org/watch/C%2Band%2BCpp/Arrays/English/
Dimensional Array
Programs using Two http://spoken-tutorial.org/watch/C%2Band%2BCpp/Working%2BWith
Dimensional Array %2B2D%2BArrays/English/
Programs on String
http://spoken-tutorial.org/watch/C%2Band%2BCpp/Strings/English/
Manipulation
Definition of Function, http://spoken-tutorial.org/watch/C%2Band
Return values and their %2BCpp/Functions/English/
types, Function Calls –
Function Declaration –
Category of functions.
Programs using user- http://spoken-tutorial.org/watch/C%2Band
defined functions %2BCpp/Functions/English/
Programs using recursive http://spoken-tutorial.org/watch/C%2Band
functions %2BCpp/Functions/English/
Programs using pointers http://spoken-tutorial.org/watch/C%2Band%2BCpp/Understanding
%2BPointers/English/
Defining a Structure - http://spoken-tutorial.org/watch/C%2Band%2BCpp/Working%2BWith
Processing a Structure %2BStructures/English/
Programs using structure http://spoken-tutorial.org/watch/C%2Band%2BCpp/Working%2BWith
%2BStructures/English/
Opening and Closing a http://spoken-tutorial.org/watch/C%2Band%2BCpp/File%2BHandling
Data File - Creating a %2BIn%2BC/English/
Data File, Reading &
writing a data file.
Processing and Updating
of Data Files
http://spoken-tutorial.org/watch/C%2Band%2BCpp/File%2BHandling
Programs using files
%2BIn%2BC/English/

17. Participative Learning (if any):

 Discussion
 Workshop
 Webinar
 Case Studies

Course Coordinator Module Coordinator

Programme Coordinator HoD/CSE

S-ar putea să vă placă și