Udemy

Scientific Computing in C++

Enroll Now
  • 940 Students
  • Updated 11/2025
4.3
(67 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
18 Hour(s) 0 Minute(s)
Language
English
Taught by
Okan Koeksal
Rating
4.3
(67 Ratings)

Course Overview

Scientific Computing in C++

Learn numerical computation techniques by applying C++ to solve distinct mathematical tasks

C++ is an excellent programming language which is extremely well-suited for scientific computing. I do not start from scratch, so it is good if you have some experience with C++. However, I'll try to introduce fundamental programming concepts (vector & boolean functions, arrays etc.) which are needed to understand and solve the discussed coding problems. In particular, concepts needed to understand object-oriented programming like inheritance, static members, virtual functions and polymorphism will be explained in detail. So don't panic :-).

As a starter, we'll take a look at some basic algorithms such as linear & binary search. Couple tutorials down the road, we'll take a look at more advanced sorting algorithms like bubble & heapsort algorithms. Before heading towards the heart of C++, we start with coding some small programs such as degree to radian and binary to decimal number converter in order to internalize the required programming concepts.

Moreover, we elaborate on recursive functions vs. for-loops with regard to advantages and disadvantages. More programming concepts involve switch functions, pointers and function pointers, typedef-constructs, enum & struct type, dynamical arrays using memory allocation and much more. Furthermore, we will learn how to parse multiple format files for post-processing.

After acquiring the required knowledge, we focus more detailed on numerical methods in terms of scientific computing such as Monte-Carlo simulation of a 2D Ising magnet, integration method according to Simpson's rule, binomial distribution/coefficients, numerical differentiation using extrapolation technique by Richardson, Newton-method for finding roots, Gaussian/Normal distribution, linear/exponential regression using least square method by Gauss and so forth.

So, if you want to learn numerical computation techniques in detail, you are absolutely at the right place! In this sense, I hope to see you in the course and let's start coding!



Course Content

  • 1 section(s)
  • 44 lecture(s)
  • Section 1 Introduction

What You’ll Learn

  • Learn programming concepts such as loops, arrays (vectors), boolean operator, pointers, dynamic memory allocation, OOP (inheritance, polymorphism, virtual functions), function pointers, array of funtion pointers, enum, struct etc.
  • Apply acquired programming skills in order to understand algorithms and mathematical problems
  • Practice reading in multiple format files for further processing
  • Get familiar with fundamental programming concepts like object-oriented programming as it is the heart of C++
  • Learn numerical computational techniques such as Newton method, Monte-Carlo simulation, Richardson extrapolation, Binomial & Gaussian distribution etc.


Reviews

  • M
    Mohammad Elious Ali Mondal
    5.0

    The goal was clear, the explanations were very clear and the pace was perfect to follow along

  • Y
    Yannick O.
    2.0

    There are a number of things wrong with this course: - Many of the early examples do not have anything to do with scientific computing - It is often not clear what the point of a tutorial is and the explanation of the task on hand is often confusing - A lot of time is spend on pretty trivial logic - Not enough time is spend on explaining some C++/OOP specific technicalities - Time is wasted by coding the whole application during the tutorial rather than preparing an outline/skeleton and filling in the structure While the above points alone would make this a mediocre course, I feel that the worst part are the obvious mistakes and bad programming practices. Examples include: - declaring/defining unused variables - setting variables but never using the values - passing global variables to functions (and the use of global variables in the first place) - freeing the same memory multiple times - double start, end = 0.0 does not initialize both to zero - should use new double(N)() to initialize arrays to zero instead of loops - repeating code multiple times rather than writing a functions .... And many more issues that I am too lazy to write.

  • A
    Anatolii Afanasiev
    5.0

    Amazing course! Thanks.

  • J
    Joshua Skelton
    5.0

    Excellent course, introduces certain fundamentals in small( and practical) parts which are then extrapolated as you progress. Highly useful for establishing a foundational understanding whilst being interesting all through out. Hope you make some more courses!

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed