Share with your friendsÂ
You are not yet enrolled in this course.
Course Description:
This course is a comprehensive exploration of the C++ programming language, with a special focus on its applications in the realm of scientific computing.
Part 1: Foundations of C++ Procedural Programming (Modules 1-5)
We begin with the foundations. In Modules 1 to 5, we’ll build a strong base of procedural programming in C++. We’ll cover the essentials, from program structure and variables to decision-making and loops. You’ll dive into input and output handling and learn how to supply input data to your C++ program and process the output both through the console (terminal) and file operations. In Module 5, you will learn the power of pointers and dynamic memory allocation for efficient memory management.
Part 2: Object-Oriented Programming for Scientific Computing (Modules 6-10)
Once you’ve mastered the basics, we’ll transition to Part 2. In Modules 6 and 7, we’ll delve into the heart of object-oriented programming. You’ll explore classes, objects, inheritance, and polymorphism. These concepts are the building blocks for organizing your scientific computing code.
Module 8 is where we’ll introduce you to advanced C++ features and the Standard Library. Templates and pre-built functions will become your allies as you tackle complex scientific challenges.
As we move forward, Modules 9 and 10 are all about applying what you’ve learned. In Module 9, you’ll develop a collection of classes for linear algebra calculations. Then, in Module 10, we’ll guide you through constructing an object-oriented library for solving second-order differential equations—essential skills for simulating real-world scientific phenomena.
This course is Part 1. In the course CPP2, the concepts of Part 2 will be discussed.
Key information:
- Course Instructor: Mr. Nishant Soni. He has a master’s degree in engineering [M.S. (Engg.)] focused on high-performance computing (HPC) from the Jawaharlal Nehru Centre for Advanced Scientific Research (JNCASR), Bangalore. He has worked as an Applications Engineer (CFD and Heat Transfer) at COMSOL Multiphysics, Bangalore in India. Prior to joining COMSOL, he worked in the field of software development, specializing in HPC simulation solutions. He has also worked on several research projects involving high-speed unsteady aerodynamics and reduced-order modeling.
- Course content: 5 Modules- 30+ Lessons along with quizzes and challenges/assignments
- Doubt clearance: Email support.
- Discussion forum: A discussion forum to discuss any topics with fellow students and the instructor
- Total access period: 6 Months from the day of enrolling
- Computer requirement: Minimum 4 GB RAM and i3 processor
- Software: GNU C++ Compiler (g++) for Linux preferred. You can also use Windows.
- Access to the course: Once you make the payment, your login ID and password will be sent automatically via email.
More Information
- Learn and master C++ programming for scientific computing applications
- Implement academic projects in C++ for your M.S. / Ph.D. thesis and also for any industrial projects.
- Write your own solver/modify the source code for OpenFOAM
- To be competent in the highly demanding field of scientific computing across various disciplines in academia and industry.
- Science and Engineering students pursuing B.Sc., B.E./B.Tech, M.Sc., MS/M.Tech, Ph.D. for their academic projects and to enhance their skills.
- Any computing enthusiasts.
- Professors/Lecturers/Teaching Assistants who want to teach or guide their students in scientific computing projects.
- Researchers, Scientists, or Engineers who want to shift from FORTRAN, MATLAB, or Python to C++ for HPC applications.
- Professionals already working in the industry but want to improve their C++ fundamentals
- Do I get a certificate?
Yes, based on your attendance and completion of tutorials, you will be given the certificate. - Will I get placed?
The best students will be given internship opportunities and we will forward your resumes to companies that contact us for good students. Please note that we don’t give any false promises that you will be placed. Surely we will help the best students. - Do I need a powerful workstation/computer to learn this course?
No, a normal laptop with 4 or 8GB RAM and a decent processor (i3) is good enough for this course. - What if I don’t understand some portion or need to clarify some doubts?
We will support you through emails and zoom meetings/discussion sessions to clear all doubts and questions - Should I know the programming or any other CFD software to learn this course?Â
Programming knowledge is not a prerequisite
for this course. You will learn C++ from scratch. - Is there any prerequisite?Â
The course is aimed at programmers of all levels of expertise who wish to write scientific computing applications in C++. Basic familiarity with computer hardware and software, where files can be kept and edited is expected. Basic knowledge of mathematics, such as operations between vectors and matrices, and the Newton-Raphson method for finding the roots of non-linear equations would be an advantage.
Course Content
Module 1: Introduction to Program with C++

Ratings and Reviews


I really liked that video lesions are not edited, showing more natural development process of making mistakes in code and debugging. I found the course very informative. I learned some things that I didn't expect like how to pass arguments to the program through the command line.

I never thought that I ill get this much information from an introductory level course, but this course takes your hand to a robust place in C++. I knew C++ before the course but this one differs from other courses. I do recommended it for beginners and even if you know some C++.

Course covered all the important aspects and topics related to Scientific Computing with C++ programming. Instructor Mr. Nishant explained concepts in a clear and concise manner. Concepts learnt from these course helped me a lot while working in OpenFOAM. I recommend this course to everyone who is interested in working in Scientific Computing.

The course is well designed and cover the whole spectrum to get a feel for what c++ is like and its power. Not only are the content and explanations outstanding but also the instructor is. I look forward to them creating another one to go deeper into this amazing computing language. Thank you Nishant and Sandeep.

The course is an excellent refresher in C++ for someone who knows a nice level of coding.