This document contains the B.Tech (Semester I) Theory Examination 2024–25 question paper for the subject Programming for Problem Solving (Code: BCS101).
The paper is structured to evaluate students’ understanding of basic programming concepts, C language syntax, algorithms, logic building, data structures, and problem-solving techniques.
It is divided into three main sections (A, B, and C), each focusing on different depths of knowledge — from fundamental concepts to program writing and algorithm analysis.
SECTION A – Short Answer Questions (Basic Concepts & Fundamentals)
This section includes 7 compulsory questions, each carrying 2 marks, designed to test basic understanding and definitions.
Topics covered include:
1. Tokens in Programming
Keywords, identifiers, operators, constants, delimiters.
2. Low-Level vs High-Level Languages
Machine-level, assembly, and high-level language differences.
3. Operators in Programming language
Arithmetic, logical, relational operators and their purpose.
4. Nested If-Else Structure
Flowchart or diagram to represent decision-making hierarchy.
5. Output Tracing of C Code
Loop evaluation, condition checking, and program flow understanding.
6. Time Complexity of Selection Sort
Understanding Big-O notation and algorithm efficiency.
7. Macros in C
Use of #define, constants, inline code expansion.
This section tests K1–K2 cognitive levels involving recall, explanation, and basic reasoning.
SECTION B – Descriptive Questions (Application & Program Writing)
Students must attempt any 3 out of 5 questions, each of 7 marks.
This section evaluates the ability to explain programming concepts and write C programs.
Topics include:
1. OBJ File & Compilation Process
Steps in compilation: preprocessing, compilation, assembly, linking.
2. Leap Year Program Using Conditional Operator
Ternary operator usage and logical conditions.
3. Array Importance & Function Array Passing
Program to compute sum of two numbers using array parameter passing.
4. Searching and Linear Search Program
Need for searching techniques and writing a linear search code.
5. Use & Importance of Linked List
Dynamic allocation, node structure, pointers, and insertion.
This section tests K2–K4 levels: explanation, implementation, and coding ability.
SECTION C – Long Answer Questions (Advanced Concepts, Diagrams, Algorithms, Programs)
Section C has five parts (3 to 7), each containing one choice.
Students must attempt one part from each, making this the most application-heavy segment of the paper.
3. Computer System Architecture / Storage Classes
3(a) Architecture of Digital Computer System
Students draw and explain components:
Input unit
Output unit
Memory unit
ALU
CU
System Bus
And discuss their use in programming.
3(b) Four Storage Classes in C
auto, extern, static, register — with examples.
4. Operators in C / Largest of Four Numbers Program
4(a) Various Operators
Arithmetic, relational, logical, bitwise, assignment, conditional, etc.
4(b) C Program to Find Largest of Four Numbers
5. Pattern Printing / Matrix Multiplication
5(a) Pattern Printing Program
Printing a star-based pattern using loops.
5(b) Multiplication of Two n×n Matrices
Nested loops, input handling.
6. Bubble Sort Program + Complexity / Call By Reference
6(a) Bubble Sort Program & Complexity Comparison
Sorting a list and comparing bubble sort vs insertion sort time complexity.
6(b) Call by Reference Program (Swap Two Numbers)
Using pointers and function calling mechanism.
7. DMA Program / Pointers
7(a) Define DMA & Runtime Memory Allocation Program
Using malloc() and computing sum of entered numbers.
7(b) Pointer & Self-Referential Pointer Explanation
Structure containing pointer to same type, e.g., linked list node.
Summary of What the Questions Are About
This question paper collectively evaluates:
Basic structure of C programs
Compilation and execution flow
Conditional statements and loops
Arrays, searching, sorting
Use of pointers and dynamic memory
Writing, tracing, and debugging programs
Computer architecture fundamentals
Data structures like linked lists
Time complexity and algorithm comparison
It ensures students understand both theoretical concepts and practical programming abilities.
Purpose of the Paper
The exam aims to test a student’s ability to:
Build logical thinking
Write and execute C programs
Understand algorithms and flow control
Use memory, storage classes, and pointers
Apply concepts to solve real-world problems
Develop strong foundational programming skills
It is designed to build the groundwork required for advanced courses like DSA, OOPS, and system programming.