Companies Home Search Profile

Modern C++: Beginner to Practitioner (includes C++ 20)

Focused View

RougeNeuron Academy

13:33:22

49 View
  • 1. Getting to know the instructors perspective before diving into the course.mp4
    06:23
  • 2. Warm-up.html
  • 3. What is a C++ program.mp4
    08:04
  • 4. Hello World The simplest C++ program.mp4
    06:41
  • 5.1 cppreference website.html
  • 5.2 Online IDE - Compiler Explorer.html
  • 5. Quick overview of the online development tool Compiler Explorer.mp4
    08:27
  • 6. Quick Check.html
  • 7.1 Udemy Coding exercises instruction page.html
  • 7. Getting started with Udemy Coding exercises.mp4
    03:29
  • 8. Getting started with a Hello World program..html
  • 1. Functions Declaration and basic syntax.mp4
    02:53
  • 2. Basic function coding exercise.html
  • 3. Functions Possible variations in syntax to support more features.mp4
    05:06
  • 4. Function variations.html
  • 5. Types and variables in C++.mp4
    06:53
  • 6. Using types to create variables in a program.html
  • 7. Arithmetic operations with Fundamental types in C++.mp4
    04:26
  • 8. Arithmetic operators.html
  • 9. Initializations and auto keyword in C++.mp4
    07:03
  • 10. Initialization of variables.html
  • 11. using auto keyword.html
  • 12. Scope and lifetime of entities in C++ programs.mp4
    04:55
  • 13. Scopes and life times of objects in programs.html
  • 14. Constants in C++ programs const, constexpr, consteval.mp4
    08:42
  • 15. Const correctness.html
  • 16. Arrays, Pointers and References in C++.mp4
    07:45
  • 17. Array pointers references.html
  • 18. Null pointers in Modern C++.mp4
    05:25
  • 19. Using nullptr.html
  • 20. Understanding pointers and references from a hardware perspective.mp4
    11:20
  • 21. Testing and selection based workflows with conditional statements and looping.mp4
    07:16
  • 22. if-else statements.html
  • 23. Switch case statements.html
  • 24. Using while loops.html
  • 25. Section Quiz.html
  • 1. Introduction to User Defined Types.mp4
    03:05
  • 2. Builtin type checker. Applying the basics..html
  • 3. Structures in C++.mp4
    07:00
  • 4. Using Structures in C++.html
  • 5. Introduction to Classes in Modern C++.mp4
    12:15
  • 6. Working with classes.html
  • 7. Understanding the Enumerations in C++.mp4
    07:48
  • 8. Working with Enumerations in modern C++.html
  • 9. Concept of Union and Variants in C++.mp4
    06:39
  • 10. Using stdvariant.html
  • 11. Section Quiz.html
  • 1. Introduction and One Definition Rule.mp4
    05:02
  • 2. ODR in practice.html
  • 3. Separate Compilation - Header Files Mechanism.mp4
    07:58
  • 4. Working with Header files.html
  • 5. Modules ( introduced since C++20).mp4
    05:57
  • 6. Namespaces.mp4
    04:44
  • 7. Working with namespaces in C++.html
  • 8. Function Arguments.mp4
    06:29
  • 9. Argument passing scenarios.html
  • 10. Return Values from functions.mp4
    08:44
  • 11. Returning values in functions of C++ programs.html
  • 12. Using structured bindings ( C++17 feature ).html
  • 13. Section Quiz.html
  • 1. Introduction to error handling.mp4
    03:03
  • 2. Exceptions in C++.mp4
    08:42
  • 3. Working with exceptions.html
  • 4. Invariants.mp4
    04:59
  • 5. Understanding the role of invariants in programs..html
  • 6. Alternatives to Error handling in C++.mp4
    12:47
  • 7. Using various error handling alternatives in programs.html
  • 8. Assertions in C++.mp4
    11:10
  • 9. Intergrating assertion in C++ programs.html
  • 10. Section Quiz.html
  • 1. Introduction to Classes in C++.mp4
    03:06
  • 2. Concrete Types in C++.mp4
    03:37
  • 3. Concrete Type Example Complex Number class.mp4
    06:45
  • 4. Implementing the complex number..html
  • 5. Concrete Type Example Container class.mp4
    04:40
  • 6. Abstract Types in C++.mp4
    09:27
  • 7. Using abstract types in C++ programs.html
  • 8. Virtual Functions in C++.mp4
    05:08
  • 9. Class Hierarchies in C++.mp4
    08:40
  • 10. Working with class hierarchies in C++.html
  • 11. Class Hierarchies in Practice.mp4
    09:04
  • 12. Section Quiz.html
  • 1. Introduction to essential opearations and Member initialization.mp4
    09:55
  • 2. Implementing essential operations.html
  • 3. Copy and move operation semantics.mp4
    11:08
  • 4. Using move sematics for efficient copying..html
  • 5. Resource Management in C++.mp4
    06:35
  • 6. Operator overloading.mp4
    03:12
  • 7. Implementing operator overloading in user defined classes.html
  • 8. Conventional Operations - 1.mp4
    07:52
  • 9. Conventional Operations - 2.mp4
    08:24
  • 10. Working with spaceship operator ( C++20 ).html
  • 11. Implementing a simple hashing function.html
  • 12. User Defined Literals.mp4
    06:38
  • 13. Implementing User defined literals.html
  • 14. Section Quiz.html
  • 1. Introduction to templates and parameterized types..mp4
    07:22
  • 2. Working with parameterized types.html
  • 3. Concepts in C++.mp4
    04:03
  • 4. Working with Concepts ( C++20).html
  • 5. Template argument deduction and special cases where compiler needs your help!.mp4
    06:51
  • 6. Template argument deduction in practice.html
  • 7. Function Templates and Functors.mp4
    06:34
  • 8. Using function template and function objects in programs.html
  • 9. Lambda Expressions.mp4
    08:20
  • 10. Using lambda expressions in your C++ programs..html
  • 11. Template mechanisms.mp4
    05:04
  • 12. Working with aliases.html
  • 13. Section Quiz.html
  • 1. Introduction to Concepts as extension to use cases of templates..mp4
    05:01
  • 2. Need for concepts in the C++ type system.mp4
    03:10
  • 3. Using concepts in programs.mp4
    04:44
  • 4. Concepts based overloading.mp4
    04:55
  • 5. Implementing concepts based overloading (C++20).html
  • 6. Checking Valid code using concepts in programs.mp4
    01:40
  • 7. Defining a concept.mp4
    11:11
  • 8. Creating concepts ( C++20 ).html
  • 9. Concepts and auto keyword.mp4
    05:26
  • 10. Generic programming as a use case of concepts and templates.mp4
    10:23
  • 11. Variadic templates.mp4
    08:41
  • 12. Using parameter packs and variadic templates.html
  • 13. Fold Expressions ( C++17) , Argument forwarding, Template compilation model.mp4
    08:47
  • 14. Working with Fold expressions ( C++17).html
  • 15. Section Quiz.html
  • 1. Introduction to C++ standard library.mp4
    03:59
  • 2. Standard library components overview.mp4
    11:07
  • 3. Standard Library Organization.mp4
    08:16
  • 4. Multiple header issues and solving them.html
  • 5. Section Quiz.html
  • 1. Introduction.mp4
    02:40
  • 2. C++ String class interface and operations.mp4
    09:40
  • 3. C++ String class interface and operations.html
  • 4. String implementation overiew.mp4
    04:09
  • 5. string view feature of C++.mp4
    05:07
  • 6. Using string view in programs (C++17).html
  • 7. Regex classes in C++.mp4
    04:14
  • 8. Regex notation and usage overview.mp4
    10:19
  • 9. Working with stdregex.html
  • 10. Section Quiz.html
  • 1. Introduction to IO facilities in C++.mp4
    02:09
  • 2. Ostream Output streams.mp4
    02:30
  • 3. Istream Input Stream.mp4
    03:26
  • 4. IO state Handling the various states of streams like production code..mp4
    02:25
  • 5. IO with User Defined Types.mp4
    03:38
  • 6. Writing input output opreatios for User defined Types..html
  • 7. Stream formatting for presenting data with appropriate format.mp4
    04:49
  • 8. Format functions to present data in the printf style formatting.mp4
    08:58
  • 9. Working stdformat feature shipped with C++20.html
  • 10. Streams in C++.mp4
    11:08
  • 11. Working with string streams.html
  • 12. Filesystem facilites in the standard library of C++.mp4
    12:43
  • 13. Filesystems ( C++17).html
  • 14. Section Quiz.html
  • 1. Introduction to STL containers.mp4
    01:43
  • 2. Vector.mp4
    18:04
  • 3. List and forward list.mp4
    05:11
  • 4. Working with vector, list and forward list.html
  • 5. Map.mp4
    02:44
  • 6. Working with stdmap and stdset.html
  • 7. Unordered Map (Hash map ).mp4
    04:34
  • 8. Using the hash map and hash set in C++.html
  • 9. Allocators in C++.mp4
    08:41
  • 10. Container overview from production perspective..mp4
    14:45
  • 11. Section Quiz.html
  • 1. Introduction to STL algorithms in C++.mp4
    07:10
  • 2. Use of iterators by STL algorithms to achieve generic functionalities.mp4
    04:55
  • 3. Working with iterators and STL algorithms.html
  • 4. Types of iterators.mp4
    04:56
  • 5. Predicates.mp4
    02:16
  • 6. Using predicates with STL algorithms.html
  • 7. Overview of commonly use STL algorithms in production code..mp4
    11:30
  • 8. Parallel Algorithms introduced in standard library.mp4
    08:07
  • 9. Section quiz.html
  • 1. Introduction to ranges in C++.mp4
    03:22
  • 2. Views.mp4
    08:34
  • 3. Generators as supporting tools for ranges.mp4
    03:08
  • 4. Working with ranges and generators ( C++20 ).html
  • 5. Pipelines.mp4
    02:35
  • 6. Concepts overview.mp4
    07:13
  • 7. Section Quiz.html
  • 1. Introduction to Pointers and containers.mp4
    02:22
  • 2. Pointers.mp4
    07:52
  • 3. Unique Pointer and shared Pointer (unique ptr and shared ptr ).mp4
    12:27
  • 4. Using unique ptr and shared ptr in C++ programs to make them safer..html
  • 5. Span.mp4
    06:35
  • 6. Using spans instead of old C-style array passing (C++20).html
  • 7. Containers (Non STL).mp4
    18:31
  • 8. Working with pair and tuple in C++ programs.html
  • 9. Alternatives (variant, optional , any).mp4
    09:17
  • 10. Working with stdvariant and stdoptional ( C++17 ).html
  • 11. Section Quiz.html
  • 1. Introduction.mp4
    02:23
  • 2. Time , Chrono utilities.mp4
    09:43
  • 3. Applying chrono utilities in your programs.html
  • 4. Function adaption.mp4
    03:57
  • 5. Applying function adaption.html
  • 6. Type functions.mp4
    10:09
  • 7. Using Type functions in your programs.html
  • 8. Source location feature.mp4
    02:06
  • 9. move and forward semantics.mp4
    05:39
  • 10. Working with move and forward semantics to leverage the power of Modern C++.html
  • 11. Bit manipulation utilities overview.mp4
    02:49
  • 12. Ways of exiting programs predictably.mp4
    05:43
  • 13. Section Quiz.html
  • 1. Introduction.mp4
    03:04
  • 2. Quick overview of numerical algorithms and mathematical functions in C++ library.mp4
    01:35
  • 3. Utilizing the numerical algorithms available in C++ standard library.html
  • 4. Random number facilities provided by standard library.mp4
    02:35
  • 5. Using random number facilites provided in modern C++.html
  • 6. Vector Arithmetic and other facilities provided by standard library.mp4
    02:27
  • 7. Using valarray in C++ programs for vector arithmetic.html
  • 8. Section Quiz.html
  • 1.1 Multithreading basics for beginners in 60 minutes!.html
  • 1. Introduction.mp4
    03:46
  • 2. The notion of task and threads.mp4
    04:20
  • 3. A simple concurrent program using Modern C++ concurrency constructs.html
  • 4. Passing arguments and returning values from threads.mp4
    02:52
  • 5. Passing data and getting back results from concurrent programs in C++.html
  • 6. Sharing data between threads.mp4
    06:30
  • 7. Using mutex and lock to share data between threads without corruption..html
  • 8. Waiting for events using condition variable.mp4
    08:50
  • 9. Using condition variables in programs.html
  • 10. Alternatives to sharing data and low level semantics using Futures..mp4
    12:16
  • 11. Using futures in C++ programs.html
  • 12. A brief introduction to Coroutines.mp4
    07:16
  • 13. Section Quiz.html
  • 1.1 IDE Learning Quick Manual-2.pdf
  • 1.2 Programming Projects for Self learning-2.pdf
  • 1. [Bonus Lecture].html
  • Description


    C++11 to C++20, Fundamentals, Classes, Pointers, STL, Templates, Concepts, Ranges, Containers, Iterators, Concurrency

    What You'll Learn?


    • C++ Fundamentals: Grasp the core concepts including variables, data types, arithmetic operations, and basic I/O.
    • Design Your Own Types: Learn the art of defining custom types using classes, structures, unions, and enumerations.
    • Understanding Modularity: Organize and structure your code effectively using namespaces, source files, and headers. Introduction to C++20 Modules feature.
    • Dive into OOP: Get introduced to the world of Object-Oriented Programming in C++ and understand classes, constructors, member functions, and overloading.
    • Understand Essential Operations: Demystify copy and move semantics and lay the foundation for the Rule of Three/Five.
    • Harness the Power of Templates: Delve into generic programming with C++ templates, ensuring type safety without limitations.
    • Concepts (C++20) and Generic Programming: Dive deeper into ensuring type-safety at compile-time through concepts.
    • Explore the C++ Library: Get familiarized with the C++ Standard Library, from containers and algorithms to a multitude of utilities.
    • Strings and Beyond: Master string operations, string_view(C++17) and harness the power of regular expressions.
    • Familiarize with I/O Streams: Navigate the world of I/O streams for efficient and formatted input-output operations.
    • Container Proficiency: Explore powerful container classes such as vector, list, and map.
    • Algorithmic Prowess: Understand the nuances of how algorithms work with containers and iterators.
    • C++ Utilities: Equip yourself with knowledge on smart pointers, time/date utilities, and more.
    • Concurrency & Parallelism: Get started with the concurrent world of C++, learning about threads, tasks, and synchronization mechanisms.

    Who is this for?


  • Beginner programmers and students seeking starting point for learning modern C++ from software development perspective.
  • Experienced programmers seeking a quick refresher to catch up with Moder C++ upto C++20
  • NOT meant for interview preparation in coming weeks!
  • Programmers from other languages like Java, Python willing to learn C++ to diversify their skill set.
  • What You Need to Know?


  • Basic programming awareness is expected. Examples: Questions like "What is a variable?", "What is a processor?" etc. will NOT be answered in the course.
  • Access to desktop based browser is mandatory to complete the coding exercises and the online compiler too access.
  • Course guides about using online compiler enviroment and hence DOES NOT explain or expect usage of any IDE application.
  • More details


    Description

    Unlock the power of C++ with this comprehensive course, curated for beginners and those seeking a refresher. By the end of this journey, you'll be armed with the knowledge to write meaningful C++ programs and a passion for further exploration.

    This course is designed to be a concise yet comprehensive tour. While it's not exhaustive, it's an ideal starting point for anyone interested in C++ programming. You'll have the tools and confidence to embark on more advanced topics and projects by the end. Join us, and let's begin this exciting journey together!


    Why learn C++ or CPP?

    CPP holds a distinct position in programming languages due to its unparalleled blend of performance, versatility, and object-oriented capabilities. Learning CPP equips developers with a deep understanding of computer architecture, memory management, and advanced software design patterns. Furthermore, its foundational role in developing many modern languages and systems means that CPP knowledge often translates to a more intuitive grasp of other technologies. Whether for high-performance applications, game development, embedded systems, or system software, CPP expertise can significantly broaden a developer's horizons, enhance problem-solving skills, and open doors to various career opportunities in the tech industry.


    The Renaissance of Modern C++: Quality, Safety, and Cost-Efficiency (C++11 to C++20) 

    Modern C++ has evolved beyond mere language extensions, emerging as a transformative force emphasizing safety, expressiveness, and versatility. Offering features like smart pointers, range-based loops, and type inference encourages developers to transition from traditional C-style hacks—often riddled with errors leading to runtime crashes and vulnerabilities—to contemporary, more predictable coding practices. This shift is not merely aesthetic; it's an economic imperative. Inferior software can incur hefty remediation costs, jeopardize user trust, and even lead to revenue losses. Adopting modern C++ is not just about staying updated; it's a strategic move towards producing resilient software that protects brand reputation and the bottom line.


    Why doesn't the course target interview-style learning with quick hacks and deprecated C-Style features that still work?

    Adopting a mindset centered on long-term career growth is essential in today's unpredictable job market, marked by unexpected layoffs and rapid shifts. Learners who approach their studies with genuine curiosity and commitment are equipping themselves with knowledge and deeply understanding of the underlying principles and concepts. They aim to fathom the "what," "why," and "how" of their subject, ensuring that their expertise remains relevant and adaptable across diverse real-world challenges. For instance, in the aftermath of a significant economic downturn, professionals with a deep-rooted understanding are more likely to navigate job transitions seamlessly. At the same time, those who've solely relied on memorization for short-term objectives, like clearing an interview, may find themselves ill-equipped to adapt. Such surface-level preparation might help achieve immediate goals but can compromise long-term career prospects and performance in dynamic work environments. This course encourages learners to embrace the former, holistic approach, preparing them for sustained success.


    Who this course is for:

    • Beginner programmers and students seeking starting point for learning modern C++ from software development perspective.
    • Experienced programmers seeking a quick refresher to catch up with Moder C++ upto C++20
    • NOT meant for interview preparation in coming weeks!
    • Programmers from other languages like Java, Python willing to learn C++ to diversify their skill set.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category

    C++

    RougeNeuron Academy
    RougeNeuron Academy
    Instructor's Courses
    About Instructor=============As a professional programmer with over 17 years of experience, I have a Master of Science degree in Electrical Engineering and a strong interest in Distributed Systems, Algorithms, Deep Learning, Performance, and Optimization. My journey as a programmer started during my school days with Logo software, continued with assembly, BASIC, and Pascal during high school, and concluded with interdisciplinary research as part of my M.S.Currently, I am working on online education initiatives and have experience adapting to dynamic and versatile startup work environments. I am comfortable working with open problem assignments and operating in an intrapreneurial role. Additionally, I have built big data (Spark) and data science (TensorFlow) skills that overlap with my M.S. curriculum and programming work experience.My thesis focused on a geographically distributed network of sensors synchronized with nanosecond precision, collecting data for a machine learning system to detect a cosmic event. I have extensive experience with Linux and C++ (familiar with C++14/17/20 features), and I enjoy exploring new languages and frameworks with the help of active developer communities, resourceful websites, public code repositories, and YouTube channels.My interests span Deep Learning, Databases, Networking, Algorithms, Performance, Kubernetes, and Optimization. Follow on the Website, Youtube, and LinkedIn.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 124
    • duration 13:33:22
    • English subtitles has
    • Release Date 2023/10/08