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.
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