Programming for Problem Solving (BTPS101-18)

Course Objectives

This course introduces students to the fundamentals of programming with an emphasis on problem-solving using algorithms. Students will learn to write basic programs using C language, focusing on control structures, functions, arrays, and recursion.

Course Outcomes

Detailed Syllabus

Unit I: Introduction to Programming

Basics of computer systems, operating systems, compilers, and program execution. Introduction to algorithms and flowcharts.

Unit II: Data Types and Operators

Data types, variables, constants, arithmetic and relational operators, operator precedence, and type conversions.

Unit III: Control Structures

Conditional statements (if-else, switch), loops (for, while, do-while), and nested loops.

Unit IV: Functions and Arrays

Functions in C, parameter passing, return values, arrays (1D, 2D), and string manipulation.

Unit V: Pointers and Recursion

Pointers, pointer arithmetic, dynamic memory allocation, recursion, and basic sorting algorithms (bubble, insertion, selection).

Unit VI: File Handling

File I/O operations, reading from and writing to files, and error handling in file operations (if time permits).

Suggested Books


Programming for Problem Solving Lab (BTPS102-18)

Course Objectives

The lab component of this course provides hands-on programming practice to reinforce concepts learned in the theory course. Students will work on various programming assignments involving the use of arrays, loops, functions, and file handling in C.

Course Outcomes

Lab Experiments