Thursday, 17 September 2026

 A2610003 - COMPUTATIONAL THINKING AND PROBLEM SOLVING USING C

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:

CO1: Apply computational thinking techniques (decomposition, abstraction, pattern recognition) to design algorithms and flowcharts for a given problem. Apply - K3
CO2: Develop C programs using appropriate operators, expressions, selection statements, and loops to implement a given logic. Apply - K3
CO3: Apply array, string, structure, and union concepts to develop suitable C programs for solving computational problems. Apply - K3
CO4: Apply pointers, recursion, and dynamic memory allocation to solve computational problems efficiently. Apply - K3
CO5: Construct modular C programs using user-defined functions and perform text/binary file input-output operations. Apply - K3

UNIT-I: Computational Thinking and Introduction to C Computational Thinking: Unit-I Material

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:  Unit-2 Material ,  Unit-2 Example Progs 

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-programming language/ 

 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