Course title Programming for Problem Solving using C
Course Code: 25C1CSU-101
Scheme and Credits L T P C Semester – I/II
3 0 0 3
Pre-requisite (if any)
Internal Marks 40
External Marks 60
Total Marks 100
Course Outcomes:
At the end of this course, students will be able to
CO1 definethe fundamentals of a computer systemwith its input and output devices.
CO2 apply the syntax and semantics of the C programming language to write basic
programs.
CO3 evaluate conditional branching, iteration statements and recursion process.
CO4 examine1-D and 2-D arrays and perform operations using matrix
operations&inbuilt functions.
CO5 analyse and apply basic searching and sorting algorithms, and understand their
computational efficiency.
CO6 build programming concepts to implement pointers, structures, file
handling&recursive functions.
Detailed contents:
Unit – 1 :- Introduction to Programming (4 lectures)
Introduction to Computer Fundamentals:-Introduction to components of a computer system
(disks, memory, processor, where a program is stored and executed, operating system,
compilers etc.) (1 lecture)
Basics of C Programming:-Structure and Life cycle of a C Program, Data types, Identifiers,
Variables, Keywords, Constants, input/output statements, type casting. (1 lecture)
From algorithms to programs:- representation of algorithm: flowchart and pseudocode,
source code, variables (with data types) variables and memory locations, Syntax and Logical
Errors in compilation, object and executable code- (2 lectures)
Unit – 2 :-Arithmetic expressions and precedence (14 Lectures)
Operators in C – Arithmetic, Relational, Logical, Assignment, Increment, Decrement,
Unary, Bitwise, Ternary Operators, Type conversion. Decision making- if, if-else, Nested if-
else, Multiple if, else if, switch, Handling multiple conditions (9 lectures)
Iteration and Loops-(while, do-while, for), Nesting of Loops, break, continue and
gotostatements (3 lectures)
Unit – 3 :-Arrays and Strings(6 lectures)
Arrays:-1-D and 2-D array with arithmetic operations,
Strings:- Input and output operations of a string, string inbuilt functions, Character arrays.
Unit – 4 :-Searching and Sorting (6 lectures)
Searching: Linear and Binary Searching
Sorting: Basic Sorting Algorithms (Bubble, Insertion and Selection), notion of order of
complexity through example programs (no formal definition required).
Unit – 5 :- Function (5 lectures)
Functions types, Parameter passing in functions, call by value, call by reference. Passing of array into
a function.
Unit – 6 :- Recursion (4 lectures)
Recursion: Recursion study as Direct and indirect recursion. Example of programs, such as
Finding Factorial, Fibonacci series, Ackerman function, Quick Sort, Merge Sort.
Unit – 7 :- Structures (4 lectures)
Structure declaration, Initialization of structures, accessing structure elements using (.)
operator, Array of structure variables, comparison of Structure and Union.
Unit – 8 :- Pointers(2 lectures)
Introduction to Pointers, Pointer arithmetic, Passing arguments to a function using pointer
(understanding call by reference), Use of pointer in Self-referential structure, Dynamic
memory allocation (malloc(), calloc(), realloc() and free()).
Unit – 9:- File Handling
File handling (only if time is available, otherwise should be done as part of the lab)
Suggested Readings/Books:
(i) Byron Gottfried, Schaum's Outline of Programming with C, McGraw-Hill, 1996
(ii) E. Balaguruswamy, Programming in ANSI C, Tata McGraw-Hill, 2019
Suggested Reference Books
(i) Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language,
Prentice Hall of India, 2015
(ii) Ivor Horton, Beginning C, 5th Edition, Apress, 2013
(iii) Learn C Programming from Scratch: A step-by-step methodology with problem
solving approach, BPB Applications, M. S. Mir, 2023.
(iv) Let us C: Authentic guide to C Programming Language, Yashavant Kanetkar, BPB
Publications, 2024.