Share with your friends
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.
- 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.
- 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.