Course Objectives:
Enable the student to
- recognize the need for programming languages and problem-solving techniques.
- apply memory management concepts and function-based modularization.
- develop programming skills to solve real time computational problems.
Course Outcomes:
The student will be able to
- understand the fundamentals of computer and software development process.
- identify the data type to represent the real time data representation and operators for computation.
- prepare innovative solutions for the problem using branching and looping statements.
- decompose a problem into functions and synthesize a complete program using divide and conquer approach.
- formulate algorithms and programs using arrays, pointers and structures.
- create a new application software to solve real world problems.
Module 1: Introduction to Programming
Introduction to Problem Solving through programs, Steps to develop a program, Representation of Algorithm, Software development life cycle, Programming approaches, Types of programming languages, Introduction to C, Developing a C program, Console input and output functions, Syntax and Semantic errors.
Module 2: Operators and Expressions
Identifiers and keywords, Data types, Constants, Variables, Declarations, Expressions, Statements, Arithmetic operators, Unary operators, Relational and logical operators, Assignment operators, Conditional operator.
Module 3: Conditional Branching and Loops
Branching, if-else statement, switch statement, goto statement, Looping, while statement, do- while statement, for statement, Nested control structures, break statement, continue statement.
Module 4: Arrays and Strings
Defining an array, processing an array, Multidimensional arrays, Searching algorithm, Linear search, Sorting algorithm, Bubble sort algorithm, Strings, Defining a string, Initialization of strings, Reading and writing a string, Processing the strings.
Module 5: Functions
Functions, Overview, Defining a function, Accessing a function, Function prototypes, Passing arguments to a function, Passing arrays to functions, Recursion.
Module 6: Data handling
Pointers, Passing pointers to functions, Pointers and one dimensional arrays, Dynamic memory allocation, Operations on pointers, Structure, Processing a structure, Array of structures, Structures and pointers, Self-referential structures, File handling
List of Exercises
- Console input and output functions
- Operators
- BMI Calculator
- Solving a complex equation
- A Dumb Calculator
- Keys and doors
- Conditional statements
- Grade calculation
- Voting eligibility checking
- BMI Calculator
- Space Boxing
- A Little Quiz
- Number guessing game
- Looping statements
- Grade calculation
- Calculator design
- Pin Lockout
- Fizz Buzz
- Noticing even numbers
- Right triangle checker
- Arrays
- Students grade information
- Copying arrays
- Searching
- Sorting
- Strings
- Sorting name list
- Vowel capitalization
- Word Puzzle
- Functions
- Grade computation
- Area calculator
- Banking application
- Tax computation
- Pointers
- Students information system
- Employee payroll
- Simulation of train structure
- Structures
- Students information system
- Employee payroll
- Simulation of train structure
- File handling
Student information storage and retrieval
Copy a file from one location to another
Text Books:
- Byron Gottfried, “Schaum's Outline of Programming with C”,McGraw Hill Education (India), 4th edition, 2018, ISBN: 978-9353160272
- Balagurusamy E, “Programming in ANSI C”, McGraw Higher Ed, 7th edition,, 2016, ISBN: 9789339219666
Reference Books:
- Yashavant Kanetkar, “Let Us C”, Bpb Publications, 15th edition, 2016, ISBN:9788183331630
- Herbert Schildit, “The Complete Reference C”, McGraw Hill Education (India), 4th edition, 2017, ISBN:978007041183
- Beulah Christalin Latha, Anuja Beatrice, Carolin Jeeva & Anita Sofia, “Fundamentals of Computing and Programming”, Pearson, 1st edition, 2018.
- Sumitabha Das, “Computer Fundamentals and C Programming”,McGraw Hill Education (India), 18th edition, 2018, ISBN:9789387886070
- Stephen G. Kochan, “Programming in C”, Sams Publishing, 4th edition, 2015, ISBN: 9789332554665
- David Griffiths, “Head First C”, O'Reilly Media, 1st edition, 2012, ISBN:978-1449399917.