19_Programming for Problem Solving (CT-19001)

19_Programming for Problem Solving (CT-19001)


About the course

In this course, you will learn about the components of a computer which includes Memory, processor, input and output devices along with storage and operating system. You will also understand the concept of assembler, compiler, interpreter, loader, and linker. Then you will be introduced to algorithms and flowcharts which includes representation of an algorithm, flowchart, along with the concept of pseudo code and its examples, converting algorithms to programs and writing source code.

After that, you will learn about the basics of programming which includes the structure of a C program, how to write and execute a C program. In addition to this, you will learn about the various types of errors such as logical errors and syntax errors. You will also learn about the components of the C language, variables, data types, memory locations, and storage classes. Then you will learn about arithmetic operators and their precedence, if-else, switch-case statements, for loop, while and do-while loops, break and continue statements. You will also learn about functions, arrays, basic searching and sorting algorithms in detail. The course will conclude with detailed coverage of pointers and file operations in C.

Learning Outcomes

After completing this course, you will be able to:

  • Develop simple algorithms for arithmetic and logical problems.
  • Translate the algorithms to programs in C language and execute them.
  • Implement conditional branching, iteration, and recursion.
  • Decompose a problem into functions and synthesize a complete program using the divide and conquer approach.
  • Use arrays, pointers, and structures to develop algorithms and programs.
  • Boost your hireability through innovative and independent learning.
  • Get a certificate on successful completion of the course.
Target Audience

The course can be taken by:

Students: Students: All students who are pursuing any technical/professional courses, and wish to enter application programming industry.

Teachers/Faculties: All computer science and engineering teachers/faculties.

Professionals: All working professionals from the IT industry.

Why learn Programming for Problem Solving?

Problem-solving refers to your ability to solve problems in an effective and timely manner without any impediments. Whether you are a student, a parent, a businessperson, or the president of any country, you face problems every day that needs solving. For all these things, problem-solving is really really important. Especially when it comes to programming, problem-solving is the must. If you do not develop sound problem-solving skills, you will end up messing around with a given problem, and you would not be able to obtain a solution for ages.

Course Features
  • 24X7 Access: You can view lectures as per your own convenience.
  • Online lectures: 10 hours of online lectures with high-quality videos.
  • Updated Quality content: Content is latest and gets updated regularly to meet the current industry demands.
Test & Evaluation

There will be a final test containing a set of multiple choice questions. Your evaluation will include the scores achieved in the final test.


Certification requires you to complete the final test. Your certificate will be generated online after successful completion of course.


Topics to be covered

Unit 1 : Fundamental Operations of a Modern Computer

Von Neumann Architecture. Design of a computer. Basic hardware components (RAM, disk,
processor, keyboard, mouse). Basic Software components (applications, operating system, system
software, compiler, etc.). Basics of I/O and data transfer between I/O devices and RAM/variables

Unit 2 : Basic programming constructs

Basic Data types (Numerical, String).Variables. Expressions. statements. I/O statements for
keyboard handling. Editing, compiling/interpreting/running programs. Syntax errors and runtime
errors. Comparison of language model with Von Neumann architecture.

Unit 3 : Introduction to problem solving using computers

Manual solutions to real life problems. Algorithmic representation of the solutions. Basic
Problems. Variables. Expressions. Conditional statements. Multiplication. Exchange values
of two variables. Finding maximum of three numbers. What is problem?, Identifying problem,
Understanding a problem: Framing a problem in simple terms – mathematical, graphical, other
abstractions. Files. Files as an alternative I/O medium. I/O functions to transfer data from file to variables. Comparison of keyboard and file I/O functions. operations to read, write, close, open

Unit 4 : Iterative problems

Problems without arrays. Introduction to iterative constructions in language. Find Sum, average
of a given set of numbers. Loop design techniques: While loop - body, iterative step, loop
condition. Emphasis on while loop against for loop. Factorial. Sine function computation.
Fibonacci sequence generation. Some problems to read data from files. Array techniques. Arrays
as homogenous collection of elements. Array properties. Reversing elements of an array. Finding
maximum. Finding second maximum. Algorithms for substring search. Search problems. linear
search. linear search in sorted array. binary search.

Unit 5 : Modular solutions

Functions Introduction to functions. Importance of design of functions. Rewriting earlier solutions using functions. Taking care of all possible values of arguments. Parameters, return values, signature, local and global scope. Modular code. Reusability. Recursion. Basic rules of recursion: recursive formulation, terminating case, handle all cases, recursion leading to terminating case. Factorial: iterative vs recursive. Recursive formulation for: multiplication, gcd, towers of Hanoi, binary search. Recursion vs iteration in general. When to use recursion.

Unit 6 : Advanced Problems

Convert a number into one with digits reversed. Convert decimal to binary. Generating prime numbers. Generating random numbers. Computing x power y. Partitioning an array. Finding the kth smallest element of an array. Sorting: Selection sort. Insertion sort. bubble sort.

  1. Upto six weeks (or till submission of the final quiz) access to the course
  2. To get access to the certificate - you need to take the online MCQ exam (minimum 60%) at the end of the course