Course Name: Problem Solving Through Programming

Course Code: 21PSP14

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.


Course Syllabus

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

Pedagogy:

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.

Pedagogy:

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).

Pedagogy:

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.

Pedagogy:

Chalk& board, Problem based learning

Module-5

Structures, Unions and Pointers, Pre-processor Directives and Example Programs

Pedagogy:

Chalk & board, MOOC


Course Outcomes (Course Skill Set):

At the end of the course the student will be able to:

1. Recognize the hardware parts and software types in a computer.

2. Elucidate the basic architecture and functionalities of a Computer

3. Apply programming constructs of C language to solve the real world problem

4. Explore user-defined data structures like arrays, structures and pointers in implementing solutions to problems like searching and sorting

5. Design and Develop Solutions to problems using modular programming constructs using functions.


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. ReemaThereja , 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.