# PROBLEM-SOLVING THROUGH PROGRAMMING (21PSP13/23)

## PROBLEM-SOLVING THROUGH PROGRAMMING

#### Course Objectives:

1. Elucidate the basic architecture and functionalities of a Computer
2. Apply programming constructs of C language to solve the real-world problems
3. Explore user-defined data structures like arrays, structures and pointers in implementing solutions to problems
4. Design and Develop Solutions to problems using modular programming constructs such as functions and procedures

#### Teaching-Learning Process (General Instructions)

These are sample Strategies, which teachers can use to accelerate the attainment of the various course outcomes.
1. Lecturer method (L) need not be only a traditional lecture method, but alternative effective teaching methods could be adopted to attain the outcomes.
2. Use of Video/Animation to explain the functioning of various concepts.
3. Encourage collaborative (Group Learning) Learning in the class.
4. Ask at least three HOT (Higher-order Thinking) questions in the class, which promotes critical thinking.
5. Adopt Problem Based Learning (PBL), which fosters students’ Analytical skills, develop design thinking skills such as the ability to design, evaluate, generalize, and analyse information rather than simply recall it.
6. Introduce Topics in manifold representations.
7. Show the different ways to solve the same problem and encourage the students to come up with their own creative ways to solve them.
8. Discuss how every concept can be applied to the real world - and when that's possible, it helps improve the students' understanding.

### Module-1

Introduction to Computer Hardware and Software: Computer generations, computer types, bits, bytes and words, CPU, Primary memory, Secondary memory, ports and connections, input devices, output devices, Computers in a network, Network hardware, Software basics, software types.
Overview of C: Basic structure of C program, executing a C program. Constant, variable and data types, Operators and expressions
Teaching-Learning Process: Chalk &board, Active Learning

### Module-2

Managing Input and output operations. Conditional Branching and Loops. Example programs, finding roots of a quadratic equation, computation of binomial coefficients, plotting of Pascal’s triangle.
Teaching-Learning Process: Chalk & board, Active Learning, Problem based learning

### Module-3

Arrays: Arrays (1-D, 2-D), Character arrays and Strings, Basic Algorithms: Searching and Sorting Algorithms (Linear search, Binary search, Bubble sort and Selection sort).
Teaching-Learning Process:Chalk & board, MOOC, Active Learning

### Module-4

User Defined Functions and Recursion.
Example programs: Finding Factorial of a positive integer, GCD of two numbers and Fibonacci sequence.
Teaching-Learning Process: Chalk& board, Problem based learning

### Module-5

Structures, Unions and Pointers, Pre-processor Directives and Example Programs like Addition of two complex numbers using structures, compute the sum, mean and standard deviation of all elements stored in an array of N real numbers using pointers.
Teaching-Learning Process: Chalk & board, MOOC

#### Course Outcomes (Course Skill Set)

At the end of the course the student will be able to:
1. Elucidate the basic architecture and functionalities of a computer and also recognize the hardware parts.
2. Apply programming constructs of C language to solve the real world problem
3. Explore user-defined data structures like arrays in implementing solutions to problems like searching and sorting
4. Explore user-defined data structures like structures, unions and pointers in implementing solutions
5. Design and Develop Solutions to problems using modular programming constructs using functions

#### Assessment Details (both CIE and SEE)

The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%. The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student shall be deemed to have satisfied the academic requirements and earned the credits allotted to each subject/ course if the student secures not less than 35% ( 18 Marks out of 50)in the semester-end examination(SEE), and a minimum of 40% (40 marks out of 100) in the sum total of the CIE (Continuous Internal Evaluation) and SEE (Semester End Examination) taken together

#### Continuous Internal Evaluation:

Three Unit Tests each of 20 Marks (duration 01 hour)
1. First test at the end of 5th week of the semester
2. Second test at the end of the 10th week of the semester
3. Third test at the end of the 15th week of the semester
Two assignments each of 10 Marks
4. First assignment at the end of 4th week of the semester
5. Second assignment at the end of 9th week of the semester
Group discussion/Seminar/quiz any one of three suitably planned to attain the COs and POs for 20 Marks (duration 01 hours)
6. At the end of the 13th week of the semester
The sum of three tests, two assignments, and quiz/seminar/group discussion will be out of 100 marks and will be scaled down to 50 marks
(to have less stressed CIE, the portion of the syllabus should not be common /repeated for any of the methods of the CIE. Each method of CIE should have a different syllabus portion of the course).
CIE methods /question paper is designed to attain the different levels of Bloom’s taxonomy as per the outcome defined for the course.

#### Semester End Examination:

Theory SEE will be conducted by University as per the scheduled timetable, with common question papers for the subject (duration 03 hours)
1. The question paper will have ten questions. Each question is set for 20 marks.
2. There will be 2 questions from each module. Each of the two questions under a module (with a maximum of 3 sub-questions), should have a mix of topics under that module.
The students have to answer 5 full questions, selecting one full question from each moduleeory

### Suggested Learning Resources:

Books
1. E. Balaguruswamy, Programming in ANSI C, 7th Edition, Tata McGraw-Hill
2. Brian W. Kernighan and Dennis M. Ritchie, The ‘C’ Programming Language, Prentice Hall of India.

Reference:
1. Reema Thereja , Programming in C , Cengage publication,

Web links and Video Lectures (e-Resources):
1. elearning.vtu.ac.in/econtent/courses/video/BS/15PCD23.html
2. https://nptel.ac.in/courses/106/105/106105171/
MOOC courses can be adopted for more clarity in understanding the topics and verities of problem solving methods.

Activity Based Learning (Suggested Activities in Class)/ Practical Based learning
1. Real world problem solving using group discussion. E.g., Electricity bill generation. etc.,
2. Demonstration of solution to a problem through programming.
3. Demonstration of simple project and motivating the students to develop similar type of projects.