25_Programming for Problem Solving (ESC 103)

25_Programming for Problem Solving (ESC 103)


About the course

In this course, you will develop a complete program on particle fire explosion, which involves uses of graphics libraries along with fundamental and advanced concepts of C++ programming. This course covers the fundamental concepts of C++ programming including working with operators, functions, loops etc. Advanced concepts like object-oriented programming are also covered in this course, which includes working with classes and objects, using Inheritance and encapsulation etc. In addition to this, the course covers the use of SDL, which is a graphics library, and a vital part in the development of a game or a GUI application. The comprehensive use of SDL has been demonstrated to produce an incredible program on particle fire explosion.

Learning Outcomes

After completing this course, you will be able to:

  • Understand the syntax and semantics of the C++ programming language.
  • Write inline functions for efficiency and performance.
  • Create C++ classes for code reuse.
  • Implement copy constructors and class member functions.
  • Understand the concept of data abstraction and encapsulation.
  • Learn how to overload functions and operators in C++.
  • Learn how inheritance and virtual functions implement dynamic binding with polymorphism.
  • Design and implement generic classes with C++ templates.
  • Learn how to Implement SDL graphic libraries to develop a GUI based 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: All students who are pursuing professional graduate/post-graduate courses related to computer science or Information Technology.

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

Professionals: All IT professionals from software programming domain.

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: 16 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

Each lecture will have a quiz containing a set of multiple choice questions. Apart from that, there will be a final test based on multiple choice questions.

Your evaluation will include the overall scores achieved in each lecture quiz and the final test.


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

Topics to be covered

Module 1: Introduction to Programming

Introduction to components of a computer system (disks, memory, processor, where a program is stored and executed, operating system, compilers etc.). Idea of Algorithm: steps to solve logical and numerical problems. Representation of Algorithm: Flowchart/Pseudo code with examples. From algorithms to programs; source code, variables (with data types) variables and memory locations, Syntax and Logical Errors in compilation, object and executable code.

Module 2: Arithmetic expressions and precedence

Conditional Branching and Loops Writing and evaluation of conditionals and consequent branching, Iteration and loops

Module 3: Arrays

Arrays (1-D, 2-D), Character arrays and Strings

Module 4: Basic Algorithms, Searching, Basic Sorting Algorithms

(Bubble, Insertion and Selection), Finding roots of equations, notion of order of complexity through example programs (no formal definition required)

Module 5: Function and Pointers

Functions (including using built in libraries), Parameter passing in functions, call by value, Passing arrays to functions: idea of call by reference Idea of pointers, Defining pointers, Use of Pointers in self-referential structures, notion of linked list (no implementation).

Module 6: Recursion and Structure

Recursion, as a different way of solving problems. Example programs, such as Finding, Factorial, Fibonacci series, Ackerman function etc. Quick sort or Merge sort. Structures, Defining structures and Array of Structures

  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