Complete C++ Scientific Programming: A-Z Bundle 21 Hours!
- Description
- Curriculum
- FAQ
- Reviews
The ‘Scientific Programming with C++’ is easiest and the most innovative and complete hands-on practical C++ course on the Udemy Platform for learning scientific and research data programming! While languages like Python and R are increasingly popular for Scientific Programming or Data sciences, C/ C++ can be a stronger choice for efficient and effective data and scientific computing. In this course, we hands-on the latest C++17 for Scientific Programming. The focus of this course lies on learning beginner to advanced programming on high-performance computers, object-oriented software design, generic or template-based programming, and the efficient implementation of numerical algorithms.
C++ is the best choice for efficient and effective programming in Research Data mining & Scientific Computing. In this course, we will hands-on the latest C++17 for Scientific Programming. Learn from the basics of C++ to the advanced and useful libraries like STL, BOOST, OpenMP and MPI! Main learning goals in this awesome course can be formulated as:
COURSE FEATURES
-
Get a basic concepts on the programming with C++.
-
Learn how to program with modern C++, using generic programming and advanced techniques, like meta programming, expression templates, and concepts.
-
Learn how to use programming tools and you can apply these tools to debug, benchmark, and manage your code. The list of tools include compilers, build systems, version control, debuggers, and profilers.
-
Learn to read, understand, and utilize (scientific) software libraries, like BLAS (Basic Linear Algebra Subroutines), LAPACK (Linear Algebra Package), STL (Standard template library), Boost (portable C++ library).
-
Learn how to code in HPC, using OpenMP and MPI.
-
There are numerous hands-on to practice the C++ programming throughout the course. Happy coding!
The focus of this course lies on aspects of software development like programming on high-performance computers, object-oriented software design, generic (template-based) programming, and the efficient implementation of numerical algorithms. Additionally experience in analysis, application and extension of software and software libraries is developed. Three main learning goals can be formulated: You know how to program with modern C++, using generic programming and advanced techniques, like meta programming, expression templates, and concepts. You know how to use programming tools and you can apply these tools to debug, benchmark, and manage your code. The list of tools include compilers, build systems, version control, debuggers, and profilers. You can read, understand, and utilize (scientific) software libraries, like BLAS (Basic Linear Algebra Subroutines), LAPACK (Linear Algebra Package), STL (Standard template library), Dune (framework for the discretization of partial differential equations), MTL4 (Matrix Template Library), Boost (portable C++ library). There will be interactive exercises to practice the C++. programming.
LIVE CLASS SERIES
Based on your earlier feedback, we are introducing a Zoom live class lecture series on this course through which we will explain different aspects of the C++17. Live classes will be delivered through the Scientific Programming School, which is an interactive and advanced e-learning platform for learning scientific coding.
INTERACTIVE PLAYGROUNDS
Students purchasing this course will receive free access to the interactive version (with Scientific code playgrounds) of this course from the Scientific Programming School (SCIENTIFIC PROGRAMMING IO). Instructions to join are given in the bonus content section.
Q&A
Please use the Q&A feature on Udemy to ask questions! We’d love to talk about why regular expressions don’t seem to be working, discussing decisions we made about course content, and debating regular expression philosophy. There’s no risk involved in taking this Course! This course comes with a 30-day money-back guarantee. Once you Enroll for this Course, you get lifetime access to this course and you will get all the future updates. you also get a Certification of Completion once you complete the course.
REQUIREMENTS
-
You will need a grasp of basic C++. It is a self-learning course with all Linux environments provided.
WHY YOU SHOULD GET THIS COURSE?
-
Understand programming C++ basics to the advanced C++ 17
-
Knowledge on developing complex C++ scientific applications
-
Learn about C++ libraries STL, BOOST, MPI, OpenMP
-
Be in a position to apply for Developer jobs, PhD and research positions requiring good C++
-
1IntroductionVideo lesson
-
2Instructor WelcomeVideo lesson
-
3VariablesVideo lesson
-
4ConditionsVideo lesson
-
5ArraysVideo lesson
-
6LoopsVideo lesson
-
7StructuresVideo lesson
-
8FunctionsVideo lesson
-
9ClassesVideo lesson
-
10PointersVideo lesson
-
11InheritanceVideo lesson
-
12Function TemplatesVideo lesson
-
13Class TemplatesVideo lesson
-
14Struct vs ClassVideo lesson
-
15StreamsVideo lesson
-
16StringsVideo lesson
-
17InitializerVideo lesson
-
18Rvalue - Move semantics and forwardingVideo lesson
-
19Literals - User DefinedVideo lesson
-
20Functions - Compiler GeneratedVideo lesson
-
21Pointers - Shared, Weak and UniqueVideo lesson
-
22Classes - Resource managingVideo lesson
-
23Library - Regular ExpressionsVideo lesson
-
24Library - Clock and TimerVideo lesson
-
25Library - Random NumbersVideo lesson
-
26TuplesVideo lesson
-
27ConstantsVideo lesson
-
28Constructors and DestructorsVideo lesson
-
29Operator Overloading - AssignmentsVideo lesson
-
30Types - Conversion and CastingVideo lesson
-
31InheritanceVideo lesson
-
32Operators - New Operator and HandlerVideo lesson
-
33STL - Sequences (Vectors, List and Deque)Video lesson
-
34STL - Associative Containers (Set and Map)Video lesson
-
35STL - Unordered Associative Containers (Set and Map)Video lesson
-
36STL - Iterators and Iterator Operations (Copy, Insert, etc.)Video lesson
-
37STL - FunctorsVideo lesson
-
38STL - Non-Modifying Algorithms (Count, Min, Max, etc.)Video lesson
-
39STL - Modifying Algorithms (Copy, Move, Swap, Transform, etc.)Video lesson
-
40STL - Sorting and Searching AlgorithmsVideo lesson
-
41STL - Container Functions - Members vs AlgorithmsVideo lesson
-
42STL - Reverse IteratorVideo lesson
-
43STL - Find with Equivalence vs EqualityVideo lesson
-
44STL - Remove ElementsVideo lesson
-
45STL - Vectors vs DequesVideo lesson
-
46STL - Object SlicingVideo lesson
-
47Source Codes - DownloadText lesson
-
63What is OpenMP - Multithreaded Parallel Programming?Text lesson
-
64C++ OpenMP - IntroductionVideo lesson
-
65C++ OpenMP - Fork and JoinVideo lesson
-
66C++ OpenMP - Components for the Fork and JoinText lesson
-
67C++ OpenMP - SynchronizationVideo lesson
-
68C++ OpenMP - ClausesText lesson
-
69C++ OpenMP - Reduction (For-loop)Video lesson
-
70C++ OpenMP - Parallel For-loop (Source Code)Text lesson
-
71C++ OpenMP - SchedulingVideo lesson
-
72C++ OpenMP - Data SharingVideo lesson
-
73C++ OpenMP - Worksharing ConstructsText lesson
-
74C++ OpenMP - Hello World (Source Code)Text lesson
-
75C++ OpenMP - Hello World! (HPC Demo)Video lesson
-
76C++ OpenMP - Section ParallelizationText lesson
-
77C++ OpenMP - Vector Addition (Source Code)Text lesson
-
78C++ MPI: IntroductionVideo lesson
-
79C++ MPI - What is Message Passing Interface?Text lesson
-
80C++ MPI - BasicsVideo lesson
-
81C++ MPI - Program StructureText lesson
-
82C++ MPI: Hellow World (Source Code)Text lesson
-
83C++ MPI - Hello World (Demo)Video lesson
-
84C++ MPI: Send and Receive (Concept)Text lesson
-
85C++ MPI: Send and ReceiveVideo lesson
-
86C++ MPI - Simultaneous Send and ReceiveVideo lesson
-
87C++ MPI - Collective CommunicationVideo lesson
-
88C++ MPI - Non-Blocking CommunicationVideo lesson
-
89C++ MPI - TopologiesVideo lesson

External Links May Contain Affiliate Links read more