Programming for Problem Solving (Course Code: CSC105PC)
Course objectives
To learn the fundamentals of C programming.
To understand problem-solving concepts using C.
To learn about the usage of different data types, control structures,
and functions.
Unit I: Introduction to programming and C basics
Introduction to components of a computer system: memory,
processor, I/O devices.
Algorithm definition, flowchart representation, and pseudo-code.
C programming basics: structure of a C program, simple I/O,
constants, variables, and data types.
Operators and expressions: arithmetic, relational, logical,
assignment, bitwise, and conditional operators.
Unit II: Control structures and functions
Conditional control structures: if, else, switch.
Looping control structures: for, while, do-while, nested
loops, break, continue.
Functions: modular programming, function definition, function
declaration, passing arguments, return statement, and recursion.
Unit III: Arrays and strings
Arrays: one-dimensional arrays, multi-dimensional arrays, passing
arrays to functions.
Strings: string fundamentals, standard string functions, and
applications like palindrome checking and counting words.
Unit IV: Pointers
Pointers: introduction, pointer declaration, pointer arithmetic.
Pointers and functions: call by value and call by reference.
Pointers and arrays, and dynamic memory allocation.
Unit V: Structures, unions, and file handling
Structures: user-defined data types, accessing members, nested
structures.
Unions: difference between structures and unions.
File handling: standard I/O functions, reading from and writing to
files.
Programming for Problem Solving Laboratory (Course Code: CSC107PC)
Lab exercises
The lab component focuses on practical application of the concepts taught
in the theory class. Experiments include:
Writing C programs for mathematical computations.
Implementing conditional statements and loops.
Developing programs using functions and recursion.
Working with arrays and strings, including string manipulation and
palindrome checks.
Writing programs involving pointers and dynamic memory
allocation.
Practical exercises on structures and unions.
Implementing basic file input/output operations.
Note: This syllabus information is based on the R25 regulations effective
from the AY 2025-2026 batch and is sourced from documents published by
JNTUH