Saturday, September 19, 2026

 A2610003 - COMPUTATIONAL THINKING AND PROBLEM SOLVING USING C 

Prerequisites: Mathematics and logical reasoning at 10+2 level. No prior programming experience is assumed. 

Course Objectives: The main objective of the course is to 

  •  Familiarize students with computers, computational thinking, and the process of algorithmic problem solving. 
  •  Build strong programming fundamentals using the C language, including operators, control structures, and loops. 
  •  Develop the ability to design and implement solutions using arrays, strings, and user- defined data types. 
  •  Impart working knowledge of pointers, recursion, dynamic memory allocation, functions, and file handling for building modular, reusable programs. 

Course Outcomes: At the end of this course, the student will be able to COs 

COs

Course Outcome (CO) Statement

Bloom’s Level

CO1

Apply computational thinking techniques (decomposition, abstraction, pattern recognition) to design algorithms and flowcharts for a given problem.

K3

CO2

Develop C programs using appropriate operators, expressions, selection statements, and loops to implement a given logic.

K3

CO3

Analyze problems involving arrays, strings, structures and unions and construct suitable C solutions.

K4

CO4

Apply pointers, recursion, and dynamic memory allocation to solve computational problems efficiently.

K3

CO5

Construct modular C programs using user-defined functions and perform text/binary file input-output operations.

K3


 UNIT-I: Computational Thinking and Introduction to C 

Computational Thinking: Decomposition, Pattern Recognition, Abstraction, Algorithm Design; representing solutions as algorithms, pseudocode, and flowcharts; Number Systems and Data Representation (integers, reals); Overview of Computer Organization and Program Execution. 

Introduction to C: Background, Structure of a C Program, Identifiers, Keywords, Variables, Constants, Basic Data Types, Input/Output statements; Expressions, Operators, type of operators- arithmetic, relational, logical, bitwise, assignment, conditional, increment, decrement, etc., unary, binary, ternary, Operator Precedence and Associativity, Type Conversion; Scope, Storage Classes, and Type Qualifiers. 

UNIT-II: Selection and Decision-Making: Simple if, Two-Way selection- if-else, nested-if, else-if ladder, and Multi-Way Selection- switch. Repetition: Counter- and Event-Controlled Loops: for, while, do-while, and nested loops; Break and continue, Programming Applications combining Selection and Repetition. Arrays: One-Dimensional and Two-Dimensional Arrays, Multidimensional Arrays, Array-based Problem Solving (searching, sorting, etc.). 

UNIT-III: 

Functions: Designing Structured/Modular Programs, Function Declaration and Definition, Parameter Passing (by value, by reference using pointers), Passing Arrays and Pointers to Functions, Standard Library Functions, Inter-Function Communication. Recursion: Recursive vs. Iterative Solutions, Designing Recursive Algorithms, Recursion with Arrays and Pointers, Efficiency Considerations.  

Strings: String Representation, Standard String-Handling Functions, Arrays of Strings, String-to-Data Conversion. 

UNIT-IV: 

Pointers: Pointer Fundamentals, Pointer-to-Pointer, Pointer Arithmetic, Pointers and Arrays, Array of Pointers, types of pointers, Compatibility and L-value/R-value concepts. Dynamic Memory Allocation: malloc, calloc, realloc, free.  

User-Defined Types: Typedef, Enumerated Types, Structures, Unions, and Nested Structures; Programming Applications using Structures and Arrays of Structures. 

UNIT-V: 

Pre-processor: Directives and Macros. Command Line Arguments. 

File I/O: Streams, Text vs. Binary Files, Standard Library File Functions, formatted and Character I/O, Sequential File Processing. 

TEXT BOOKS:

 1. Behrouz A. Forouzan & Richard F. Gilberg, Computer Science: A Structured Programming Approach Using C, 3rd Edition, Cengage Learning, ISBN-13: 978-0-534-49132-1.
 2. Brian W. Kernighan & Dennis M. Ritchie, The C Programming Language, 2nd Edition, Pearson Education / Prentice Hall India, 1988. 

 REFERENCE BOOKS: 

1. Sumitabha Das, “Computer Fundamentals and Programming”, 18th Edition, McGraw Hill Education, 2018. 
2. Ashok N. Kamthane, Amit Ashok Kamthane, “Programming in C”, 4th Edition, Pearson Education, 2025. ISBN: 978-9332543633.
 3. Pradip Dey, Manas Ghosh, “Computer Fundamentals and Programming in C”, 2nd Edition, Oxford University Press, 2013. ISBN: 978-0198068842. 

E-RESOURCES: 

1. NPTEL – Programming in C, IIT Kanpur: https://onlinecourses.nptel.ac.in/noc21_cs81/preview 
2. Geeks for Geeks – C Programming Language: https://www.geeksforgeeks.org/c-programminglanguage/ 
3. Programiz – Learn C Programming: https://www.programiz.com/c-programming 
4. cplusplus.com – C Standard Library Reference: https://cplusplus.com/reference/clibrary/ 
5. TutorialsPoint – C Programming: https://www.tutorialspoint.com/cprogramming/index.html 
6. W3Schools – C Tutorial: https://www.w3schools.com/c/ 

No comments:

Post a Comment

COMPUTATIONAL THINKING AND PROBLEM SOLVING USING C LAB WEEK1  Exercise 1