Programming in C (Theory)

Paper Code: 
24CBCA103
Credits: 
03
Periods/week: 
03
Max. Marks: 
100.00
Objective: 

The course will enable the students to

  1. Incorporate strong foundation of logic building & concept of programming.
  2. Develop programming skills in C.
  3. Support concept of linear data structures like array, structures and Union in C
  4. Create perception of design and developing small applications in C
Course Outcomes: 

Course

Learning Outcome

(at course  level)

Learning and teaching strategies

Assessment Strategies

Course

Code

Course

Title

24CBCA

103

 

Programming

 in C

(Theory)

 

 

CO13. Identify the need of programming and situations where computational methods would be useful.

CO14. Apply knowledge of basic syntax and control structures to write simple C programs that solve computational problems or perform specific tasks.

CO15. Investigate the utility of user defined function for modular programming.

CO16. Design, implement, test, debug and document programs.

CO17. Apply the concept of arrays, structures and pointers in real life applications.

CO18 Contribute effectively in course-specific interaction.

Approach in teaching: Interactive Lectures, Discussion, Reading assignments, Demonstration,

 

Learning activities for the students:

Self-learning assignments, Effective questions, Seminar presentation, Giving tasks

Class test, Semester end examinations, Quiz, Assignments, Presentation.

 

9.00
Unit I: 

Concepts of programming

Computer languages: Analogy with Natural Languages, Machine Language, Assembly Language, Assembler, Compiler, Interpreter, Flowcharts, Pseudo code and Algorithms, Characteristics of a Good Programming Language, Definition of Testing and Debugging, Types of Program Errors, Documentation, Need for Documentation.

 

9.00
Unit II: 

Basic Structural Concepts of C Programming

History of C, The C standard library, C Compiler, C program Development Environment: Character set, C Tokens, Statements and Comments, Structure of Simple C program, Data Types, Operators & Expressions: Types of operators, Precedence and Associatively, Storage Classes and Scoping, C Formatted Input/Output: Streams, formatting output with printf, formatted input with scanf, Basic Built-in I/O functions, Preprocessor directives: #include, #define, Escape sequences.

9.00
Unit III: 

Control Structures and Functions

Control Structures: Decision making with if-else statements, Nested if-else, Switch-case, for, while and do-while repetition structure, Counter Controlled and Sentinel Controlled Repetition, Nested control structures. break and continue statements.

Introduction to functions: Top-down approach of problem solving, modular programming and functions, prototype of a function: parameter list, return type, function call, passing arguments to a function: call by reference, call by value.

9.00
Unit IV: 

Arrays and String Handling

Arrays: One dimensional arrays: searching, swapping, insertion and deletion of an element from an array; two dimensional arrays, addition, subtraction and transpose in matrices, Multi-dimensional arrays, characters and Strings: Introduction, Fundamentals of Strings and characters, null terminated strings as array of characters, Character and String Handling Library.

9.00
Unit V: 

Structures, Unions and Pointers

Structures and unions: Structure variables, initialization, structure assignment, structures and arrays, arrays of structures, structures containing arrays, unions.

Understanding Pointers: Accessing the address of variable, Declaring and initializing pointer variables, Accessing a variable through its pointer.

ESSENTIAL READINGS: 
  1. P.K. Sinha, Preeti Sinha, “Foundations of Computing”, BPB Publications, 2003.
  2.  E. Balagurusami, “Programming in ‘ANSI C’”, TMH Publications.
  3. Yashwant Kanetkar, “Working with C”, BPB Publications.
REFERENCES: 

SUGGESTED READINGS: 

  1. H.M.Deitel & P.J.Deitel, “How to program in ‘C’”, 5rd Edition, Pearson Education, 2005. 
  2. S. Lipschutz, “C Programming”, Schaum’s outline series, Tata McGraw Hill Edition.

e -RESOURCES:

  1. Introduction to programming in C, IIT Kanpur Prof. Satyadev Nandakumar, https://youtu.be/JpN0GTJOxTk
  2. Computer Fundamentals By Prof. Sanjay Tanwani , SWAYAM   |   Devi Ahilya Viswa vidyalaya, Indore, https://youtu.be/1l1-lIrDrEQ
  3. Computer Organization, IIT Madras Prof. S. Raman , https://youtu.be/leWKvuZVUE8
  1. SpokenTutorials:https://spokentutorial.org/tutorialsearch/?search_foss=C+and+Cpp&search_language=English
  2. https://spoken-tutorial.org/tutorial-search/?search_foss=Advance+C&search_language=English

JOURNALS 

  1. International Journal of Science and Research
  2. International Journal of Computer Applications in Technology
  3. International Journal of Programming Languages and Applications
Academic Year: