Course overview
- Provider
- Udemy
- Course type
- Paid course
- Level
- Intermediate
- Duration
- 18 hours
- Lessons
- 43 lessons
- Certificate
- Available on completion
- Course author
- Okan Koeksal
-
- 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.
Description
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!
Similar courses
-
English language
-
Recommended provider
-
Certificate available