0% found this document useful (0 votes)
29 views12 pages

Programming For Problem Solving Suggestion Makaut 2025 Lme

The document provides a comprehensive outline of programming concepts and problem-solving techniques for a course at MAKAUT in 2025, broken down into units covering topics such as computer architecture, algorithms, data structures, and file handling. Each unit includes detailed question suggestions with star ratings indicating their importance and difficulty. Additionally, a mock question paper is included to assess understanding of the material.

Uploaded by

rautsona4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views12 pages

Programming For Problem Solving Suggestion Makaut 2025 Lme

The document provides a comprehensive outline of programming concepts and problem-solving techniques for a course at MAKAUT in 2025, broken down into units covering topics such as computer architecture, algorithms, data structures, and file handling. Each unit includes detailed question suggestions with star ratings indicating their importance and difficulty. Additionally, a mock question paper is included to assess understanding of the material.

Uploaded by

rautsona4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Programming for Problem Solving

suggestion Makaut 2025

LASTMINUTEENGINEERING
https://lastminuteengineering.vercel.app/

Broken Down Unit-by-Unit Question Suggestions with Star Ratings

Unit 1: Introduction to Programming

1. Computer Architecture Basics:

Explain the fundamental components of a computer system (CPU, Memory, I/O


Devices, Secondary Storage). ⭐⭐⭐☆☆
Describe the role of the CPU and how it executes instructions (Fetch-Decode-
Execute cycle notion). ⭐⭐☆☆☆
Explain where a program is stored and executed. ⭐⭐⭐☆☆
Briefly explain the function of the Operating System. ⭐☆☆☆☆

2. Algorithms and Representation:

Define an Algorithm. ⭐⭐⭐⭐⭐


Explain the characteristics of a good algorithm. ⭐⭐☆☆☆
Define Flowchart. ⭐⭐⭐⭐☆
Explain the purpose of different symbols used in a flowchart. ⭐⭐⭐☆☆
Define Pseudocode. ⭐⭐⭐⭐☆
Compare Flowchart and Pseudocode, listing their advantages and disadvantages.
⭐⭐⭐⭐☆
Draw a Flowchart for finding the largest among three given numbers.
⭐⭐⭐⭐⭐
Programming for Problem Solving suggestion Makaut 2025 1
Write the Pseudocode for an algorithm to find the sum of the first N natural
numbers. ⭐⭐⭐⭐☆
3. From Algorithm to Program:

Explain the concept of Source Code, Object Code, and Executable Code.
⭐⭐⭐⭐☆
Describe the role of variables and data types. ⭐⭐⭐⭐☆
Explain the difference between Static Typing and Dynamic Typing (contextual for
C). ⭐☆☆☆☆
4. Errors and Compilation Process:

Define Syntax Errors with an example. ⭐⭐⭐⭐⭐


Define Runtime Errors with an example. ⭐⭐⭐⭐☆

Define Logical Errors with an example. ⭐⭐⭐⭐☆

Explain the different phases of the Compilation Process (Preprocessor, Compiler,


Assembler, Linker, Loader). ⭐⭐⭐⭐⭐ (Often asked as a theoretical question)

Explain the role of the Linker. ⭐⭐⭐⭐☆

Explain the role of the Preprocessor in C. ⭐⭐⭐⭐☆

Unit 2: Arithmetic Expressions and Precedence

1. Operators:

Explain the use of Arithmetic Operators. ⭐⭐⭐☆☆


Explain the use of Relational Operators. ⭐⭐⭐☆☆

Explain the use of Logical Operators. ⭐⭐⭐☆☆

Explain the use of Increment ( ) and Decrement ( ) operators with pre/post


examples. ⭐⭐⭐⭐☆
++ -

Explain the use of the Conditional or Ternary Operator ( ) with syntax and
example. ⭐⭐⭐⭐☆
?:

Explain the use of Bitwise Operators ( , , , , , ) in C with examples.


⭐⭐⭐☆☆ (More for 80%+)
& | ^ ~ << >>

2. Expression Evaluation & Tracing:

Explain Operator Precedence and Associativity rules. ⭐⭐⭐⭐⭐ (Crucial for


tracing)

Programming for Problem Solving suggestion Makaut 2025 2


Evaluate a given complex arithmetic expression step-by-step. ⭐⭐⭐⭐☆
Trace the execution and predict the output of a C code snippet involving multiple
operators, including increment/decrement. ⭐⭐⭐⭐⭐
(Output tracing is
consistently high weightage)

3. Type Casting:

⭐⭐⭐☆☆
Explain Implicit Type Conversion.

Explain Explicit Type Casting. ⭐⭐⭐☆☆

Provide examples demonstrating how type casting affects results. ⭐⭐⭐☆☆


Unit 3: Conditional Branching and Loops

1. Conditional Statements:

Explain if-else ⭐⭐⭐⭐☆


syntax and working.

Explain statement syntax and working. ⭐⭐⭐⭐☆


switch

Compare ladder and


if-else if . ⭐⭐⭐⭐☆
switch

Write a C program using or for common tasks (e.g., finding max,


checking ranges, simple menus). ⭐⭐⭐⭐⭐
if-else switch

2. Looping Statements:

Explain for loop syntax and working. ⭐⭐⭐⭐⭐


Explain while loop syntax and working. ⭐⭐⭐⭐⭐

Explain do-while loop syntax and working. ⭐⭐⭐⭐⭐

Compare while and loops. ⭐⭐⭐⭐⭐ (Very common comparison


do-while

question)

Write C programs using each loop type for standard tasks (summation, counting,
series). ⭐⭐⭐⭐⭐
3. Loop Control:

Explain break statement purpose and use. ⭐⭐⭐⭐☆


Explain continue statement purpose and use. ⭐⭐⭐⭐☆

4. Loop Applications & Tracing:

Write a C program for patterns using nested loops (squares, triangles).


⭐⭐⭐⭐☆ (Common practical question)

Programming for Problem Solving suggestion Makaut 2025 3


Trace the execution and predict the output of code snippets involving nested loops,
break , or continue . ⭐⭐⭐⭐⭐ (High weightage tracing)

Write a C program to check if a number is palindrome/armstrong using loops.


⭐⭐⭐☆☆
5. goto Statement:

Explain the function and why it's discouraged. ⭐⭐☆☆☆


Unit 4: Arrays

1. Array Basics:

Define an Array. ⭐⭐⭐⭐⭐


⭐⭐⭐⭐⭐
Explain declaration and initialization of 1-D array.

Explain element access in 1-D array. ⭐⭐⭐⭐⭐

Write C programs for basic 1-D array operations (read, print, sum, max/min).
⭐⭐⭐⭐⭐
2. Two-Dimensional (2-D) Arrays:

Explain declaration and initialization of 2-D array. ⭐⭐⭐⭐☆


Explain element access in 2-D array. ⭐⭐⭐⭐☆
Explain memory storage of 2-D arrays (Row-major). ⭐⭐⭐☆☆
Explain address calculation of ⭐⭐⭐☆☆ (More for 80%+)
a[i][j] .

Write a C program to read/print a 2-D array (matrix). ⭐⭐⭐⭐☆

3. Array Operations:

Write a C program to add two matrices.⭐⭐⭐⭐☆


Write a C program to multiply two matrices. ⭐⭐⭐⭐☆ (More for 80%+)

4. Character Arrays and Strings:

Explain strings as character arrays and the null terminator. ⭐⭐⭐⭐⭐


List and explain common standard string library functions ( strlen , , ,
⭐⭐⭐⭐☆
strcpy strcat

strcmp ).

Implement own strlen() and strcpy() ⭐⭐⭐☆☆ (More for 80%+)


functions.

Write a C program to check if a string is palindrome. ⭐⭐⭐☆☆

Unit 5: Basic Algorithms

Programming for Problem Solving suggestion Makaut 2025 4


1. Searching:

Define Searching. ⭐⭐⭐☆☆


Explain Linear Search working. ⭐⭐⭐⭐☆

Write a C function for Linear Search. ⭐⭐⭐⭐☆

Explain Binary Search working. ⭐⭐⭐⭐☆

List prerequisite for Binary Search. ⭐⭐⭐⭐☆

Write a C function for Binary Search. ⭐⭐⭐☆☆

2. Sorting:

Define Sorting. ⭐⭐⭐☆☆


Explain Bubble Sort working with trace. ⭐⭐⭐⭐⭐ (Common tracing question)
Write a C program for Bubble Sort. ⭐⭐⭐⭐☆

Explain Selection Sort working with trace. ⭐⭐⭐⭐☆

Write a C program for Selection Sort. ⭐⭐⭐⭐☆

Explain Insertion Sort working with trace. ⭐⭐⭐⭐☆

Write a C program for Insertion Sort. ⭐⭐⭐⭐☆

3. Complexity Notion:

Explain the notion of Time Complexity (O notation basics). ⭐⭐⭐☆☆


Compare complexities of Linear vs. Binary Search. ⭐⭐⭐⭐☆

Compare complexities of Bubble, Selection, Insertion Sort. ⭐⭐⭐☆☆

4. Finding Roots (Notion):

Explain the idea behind finding roots numerically (e.g., Bisection). ⭐⭐☆☆☆
Write pseudocode for Bisection Method. ⭐⭐☆☆☆
Unit 6: Function

1. Function Basics:

Define a Function.⭐⭐⭐⭐⭐
Explain advantages of functions. ⭐⭐⭐⭐☆

Explain Function Declaration, Definition, Call. ⭐⭐⭐⭐☆

Programming for Problem Solving suggestion Makaut 2025 5


2. Parameter Passing:

Explain "Call by Value" with example. ⭐⭐⭐⭐⭐


Explain "Call by Reference" with example. ⭐⭐⭐⭐⭐

Discuss key differences and implications of Call by Value vs. Call by Reference.
⭐⭐⭐⭐⭐ (MOST IMPORTANT FUNCTION TOPIC)
Explain how arrays are passed to functions (Call by Reference nature).
⭐⭐⭐⭐☆
3. Scope, Lifetime, Storage Classes:

Explain Scope and Lifetime. ⭐⭐⭐⭐☆


Explain the different Storage Classes ( auto , static , ⭐⭐⭐⭐⭐
extern , register ).
(HIGHLY important theory question)

For each, explain Scope, Lifetime, Default Value, Storage Location. ⭐⭐⭐⭐⭐

Provide program examples for ,


auto ,
static . ⭐⭐⭐⭐☆
extern

4. Function Applications:

Write C programs using multiple functions for structure. ⭐⭐⭐⭐☆


Explain passing structures/pointers to structures to functions. ⭐⭐⭐☆☆

Unit 7: Recursion

1. Recursion Concept:

Define Recursion. ⭐⭐⭐⭐☆


Explain Base Case and Recursive Step. ⭐⭐⭐⭐⭐
Explain how recursion works using the Call Stack. ⭐⭐⭐⭐☆ (More for 80%+)

Trace execution of a recursive function (Factorial/Fibonacci). ⭐⭐⭐⭐⭐

2. Recursive Functions:

⭐⭐⭐⭐⭐
Write a recursive function for Factorial.

Write a recursive function for Fibonacci series. ⭐⭐⭐⭐⭐

(For 80%+) Write a recursive function for . ⭐⭐⭐☆☆


power(x, y)

Explain recursive logic of Quick Sort or Merge Sort. ⭐⭐⭐☆☆

3. Recursion vs. Iteration:

Programming for Problem Solving suggestion Makaut 2025 6


Compare Recursion and Iteration.⭐⭐⭐⭐⭐ (Very common comparison)
Discuss advantages/disadvantages of recursion. ⭐⭐⭐⭐☆

Unit 8: Structure

1. Structure Definition and Usage:

Define a Structure. ⭐⭐⭐⭐⭐


Explain declaration, initialization, member access ( . ). ⭐⭐⭐⭐☆
Write basic programs using structures. ⭐⭐⭐⭐☆
2. Array of Structures:

Explain Array of Structures. ⭐⭐⭐⭐☆


Write a C program using Array of Structures (e.g., student records, calculating
average). ⭐⭐⭐⭐⭐
3. Nested Structures:

Explain Nested Structures with example. ⭐⭐⭐☆☆


4. Structures vs. Unions:

Define a Union. ⭐⭐⭐⭐☆


Explain key differences between Structure and Union (Memory, Access, Purpose,
Keyword). ⭐⭐⭐⭐⭐ (EXTREMELY Common Comparison Question)

Provide code snippets showing memory difference. ⭐⭐⭐⭐☆

Unit 9: Pointers

1. Pointer Basics:

What is a Pointer? ⭐⭐⭐⭐⭐


Explain declaration and initialization. ⭐⭐⭐⭐☆
Explain & (address-of) and (dereference) operators. ⭐⭐⭐⭐⭐
2. Pointers and Arrays:

Explain relationship between pointers and 1-D arrays. ⭐⭐⭐⭐⭐


Explain Pointer Arithmetic. ⭐⭐⭐⭐☆
Demonstrate array access using pointer arithmetic ( (arr + i) ). ⭐⭐⭐⭐⭐
Explain arr[i] vs (arr + i) . ⭐⭐⭐⭐☆

Programming for Problem Solving suggestion Makaut 2025 7


3. Pointers and Functions:

Explain passing pointers to functions (Call by Reference simulation). ⭐⭐⭐⭐☆


Explain returning pointers from functions. ⭐⭐☆☆☆
4. Dynamic Memory Allocation (DMA):

Explain the need for DMA. ⭐⭐⭐⭐☆


Explain malloc() . ⭐⭐⭐⭐⭐

Explain calloc() and difference from malloc . ⭐⭐⭐⭐☆


Explain realloc() . ⭐⭐⭐☆☆
Explain free() and importance of freeing memory. ⭐⭐⭐⭐⭐
Write a C program using malloc / calloc / free . ⭐⭐⭐⭐☆

5. Pointers and Structures (for Linked Lists notion):

Explain Pointer to a Structure.⭐⭐⭐⭐☆


Explain operator. ⭐⭐⭐⭐☆
>

Explain Self-Referential Structure. ⭐⭐⭐⭐☆

Explain how Self-Referential Structures are used for Linked Lists (the node structure
idea). ⭐⭐⭐⭐☆ (Syllabus specifically mentions this notion)

Unit 10: File Handling (If time available)

1. File Basics:

Explain File Handling concept. ⭐⭐⭐☆☆


What is FILE * ? ⭐⭐⭐☆☆
Explain fopen() and . ⭐⭐⭐⭐☆
fclose()

2. File Modes:

Explain standard text/binary modes ( "r" , "w" , "a" , "rb" , etc.). ⭐⭐⭐⭐☆
Explain update modes ( "r+" , ⭐⭐⭐☆☆
"w+" , "a+" ).

Explain behavior of modes (file exists/not exists). ⭐⭐⭐⭐☆

3. Reading and Writing (Text Files):

Explain fgetc / fputc , fgets / fputs , fscanf / fprintf . ⭐⭐⭐⭐☆

Programming for Problem Solving suggestion Makaut 2025 8


Write programs for basic text file operations (write string, read char by char, copy
file). ⭐⭐⭐⭐☆
4. Random Access:

Explain fseek() and ftell() ⭐⭐⭐☆☆


.

Demonstrate fseek / ftell use. ⭐⭐☆☆☆

5. Binary Files:

Difference between text/binary modes. ⭐⭐⭐☆☆


Explain fread() and fwrite() . ⭐⭐⭐⭐☆

Write programs for reading/writing structured data to binary files. ⭐⭐⭐☆☆

Mock Question Paper : ESCS201 Programming


for Problem Solving
MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY, WEST
BENGAL

Paper Code : ESCS201 Programming for Problem Solving


Time Allotted : 3 Hours Full Marks : 70

The Figures in the margin indicate full marks.


Candidates are required to give their answers in their own words as far as practicable.
Group-A (Very Short Answer Type Question)1. Answer any ten of the following : [ 1 x 10
= 10 ]
(I) What will be the output of the following C code? ⭐⭐⭐⭐⭐
#include <stdio.h>
void main() {
int a = 5, b = 10;
a = a++ + ++b;
printf("%d %d", a, b);
}

Programming for Problem Solving suggestion Makaut 2025 9


(II) In C, which storage class has the scope limited to the block in which it is declared and a
lifetime throughout the program execution? ⭐⭐⭐⭐⭐
(III) What is the primary purpose of the free() ⭐⭐⭐⭐⭐
function in C?
(IV) What will be the output of the following C code? ⭐⭐⭐⭐⭐

#include<stdio.h>
int main() {
int i = 0;
while(i++ < 3);
printf("%d", i);
return 0;
}

(V) Define a Self-Referential Structure. ⭐⭐⭐⭐☆


(VI) What will be the output of the following C code? ⭐⭐⭐⭐⭐

#include <stdio.h>
int main() {
int arr[] = {10, 20, 30};
int *p = arr;
printf("%d ", *(p + 2));
printf("%d", p[1]);
return 0;
}

(VII) Which phase of the compilation process involves translating assembly code into
machine code? ⭐⭐⭐⭐⭐
(VIII) What is the fundamental difference in memory allocation between a and a
with the same members? ⭐⭐⭐⭐⭐
struct union

(IX) What will be the output of the following C code? ⭐⭐⭐⭐⭐

#include <stdio.h>
void myFunc(int x) {
x = x + 5;
}
int main() {
int a = 10;

Programming for Problem Solving suggestion Makaut 2025 10


myFunc(a);
printf("%d", a);
return 0;
}

⭐⭐⭐⭐☆
(X) What is the prerequisite for applying Binary Search on an array?
(XI) What is the purpose of the character in C strings? ⭐⭐⭐⭐⭐
\\0

(XII) Define a Runtime Error with an example. ⭐⭐⭐⭐☆

Group-B (Short Answer Type Question)Answer any three of the following : [ 5 x 3 = 15 ]

1. Explain the difference between Call by Value and Call by Reference parameter passing
mechanisms in C with suitable program examples (like swapping two numbers).
⭐⭐⭐⭐⭐ [5]
2. Explain the difference between the and statements in C, clearly
⭐⭐⭐⭐⭐ [5]
break continue

illustrating their effect within a loop with code snippets.

3. Explain the working principle of Bubble Sort algorithm with a step-by-step trace on the
array: [7, 2, 5, 1] . ⭐⭐⭐⭐⭐ [5]
4. Write a C program to check if a given integer is a Prime number or not. ⭐⭐⭐⭐☆
[5]

5. Explain the concept of Pointer Arithmetic in C with examples showing how pointers can
be incremented/decremented and how it relates to array element access. ⭐⭐⭐⭐☆
[5]

Group-C (Long Answer Type Question)Answer any three of the following : [ 15 x 3 = 45


]

1.
a) Explain the different Storage Classes in C:
auto , static , extern , and register . Discuss their scope, lifetime, and default initial values

in detail.
b) Write a C program demonstrating the difference in scope and lifetime between
auto and static variables within a function.

2.
a) Differentiate in detail between Structures and Unions in C, highlighting the differences

Programming for Problem Solving suggestion Makaut 2025 11


in memory allocation, member access, and typical use cases.
b) Write a C program to define a structure for
Student (roll, name, marks in 3 subjects). Create an array of structures to store details for
5 students. Read their details from the user.

3.
a) Define Recursion. Explain the essential components of a recursive function (Base
Case and Recursive Step). Explain how recursion is managed internally using the Call
Stack.
b) Write a recursive C function to calculate the Nth term of the Fibonacci series. Trace
the execution of
fib(4) showing the sequence of calls and returns.

4.
a) Explain the necessity of Dynamic Memory Allocation in C. Describe the purpose and
usage of
malloc() and free() functions.
b) Write a C program that uses
malloc() to dynamically allocate memory for an array of n integers (where n is read
from the user), reads n values into this array, prints the values, and then frees the
allocated memory.

5.
a) Write a C program to implement Bubble Sort algorithm to sort an array of integers in
ascending order.
b) Trace the execution of your Bubble Sort program from part (a) on the array
[6, 1, 8, 3, 5] , showing the state of the array after each pass.

Programming for Problem Solving suggestion Makaut 2025 12

You might also like