Get $1 credit for every $25 spent!

The Complete C Suite Programming Bundle

Ending In:
Add to Cart - $49.99
Add to Cart ($49.99)
$1,990
97% off
wishlist
Courses
10
Lessons
868

What's Included

Product Details

Access
Lifetime
Content
18.0 hours
Lessons
208

Complete Modern C++

The Most Comprehensive C++ Tutorial with C++11/14/17 Features

By Umar Lone | in Online Courses

This course teaches C++ as an object-oriented language with modern features. It focuses on teaching C++ concepts, both old and new, with clear examples. It builds upon the basic language facilities used to build more complex programs with classes, operator overloading, composition, inheritance, polymorphism, templates, concurrency, and others. It even digs deep into assembly to understand few concepts better. After every few topics, a quiz is presented that tests your understanding of the previous topics. Have fun learning Modern C++.

4.5/5 average rating: ★ ★ ★ ★

  • Access 208 lectures & 18 hours of content 24/7
  • Learn C++ concepts, both old & new, with clear examples
  • Use C++ as an object-oriented language
  • Demystify function & class templates
  • Use STL components in your applications
  • Write real-world applications in C++
  • Apply Modern C++ (C++11/14/17) in programs
Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic programming knowledge in any computer language
  • Modern C++ compiler, preferably Visual Studio 2015/17/19 community (or XCode, Clang, g++, Cevelop, Eclipse CDT, Code::Blocks)

Course Outline

  • Your First Program
  • Software Installation
    • Instructor & Course Introduction - 3:01
    • Source Code & Slide Deck
    • Required Software
    • Visual Studio 2015 Installation - 4:32
    • Visual Studio 2017/19 Installation - 2:44
    • CodeBlocks Installation - 5:06
    • Cevelop Installation - 5:31
    • XCode Installation - 3:32
  • Fundamental Language Facilities
    • What is C++? - 3:31
    • First C++ Program - 9:12
    • Compilation & Build - 3:09
    • C++ Fundamental Types - 7:57
    • Basic Console Input/Output - 5:56
    • Functions - I - 9:13
    • Functions - II - 9:05
    • Debugging Basics - 5:40
    • Uniform Initialization - 9:21
    • Pointer Type - 8:25
    • Reference Type - 5:31
    • Reference Vs Pointer - 6:58
    • const Qualifier - 4:19
    • const Qualifier & Compound Types - 7:30
    • Automatic Type Inference (auto) - 7:00
    • Range-based For Loop - I - 4:32
    • Range-based For Loop - II - 6:18
    • Function Overloading - 9:07
    • Default Function Arguments - 3:43
    • Inline Functions - 7:36
    • Function Pointers - 4:53
    • Namespace - 9:24
    • Assignments
    • Quiz
  • Memory Management - I
    • Dynamic Memory Allocation - I (malloc) - 9:36
    • Dynamic Memory Allocation - II (new) - 6:19
    • Dynamic Memory Allocation - III (new[]) - 6:40
    • Dynamic Memory Allocation - IV (2D Arrays) - 5:07
  • Classes & Objects
    • Object Oriented Programming Basics - 5:50
    • Class - 5:30
    • Constructor & Destructor - 4:28
    • Structures - 2:38
    • Non-static data member initialization - 4:39
    • this Pointer - 4:46
    • Constant Member Functions - 3:14
    • Static Members - 5:12
    • Copy Constructor - I - 4:52
    • Copy Constructor - II - 4:40
    • Delegating Constructor - 4:01
    • Default & Deleted Functions - 5:18
    • Quiz
  • Move Semantics
    • Value Categories - 7:10
    • Move Semantics Basics - 3:23
    • Move Semantics Implementation - 3:44
    • Rule of 5 & 0 - 14:30
    • Copy Elision - 8:22
    • std::move Function - 7:52
    • Quiz
  • Operator Overloading
    • Operator Overloading - I (Basics) - 8:28
    • Operator Overloading - II - (Assignment Operator) - 4:17
    • Operator Overloading - III (Global Operators) - 5:48
    • Operator Overloading - IV - (Friend Functions) - 2:29
    • Operator Overloading - V (Smart Pointers) - 5:04
    • Operator Overloading - VI (Smart Pointers) - 4:34
    • Operator Overloading - VII (Rules) - 1:55
    • Type Conversion - I - 5:56
    • Type Conversion - II (Primitive to User-defined) - 5:39
    • Type Conversion - III (User-defined to primitive) - 2:50
    • Initialization vs assignment - 5:18
    • Quiz
  • Memory Management - II
    • unique_ptr - I - 5:11
    • unique_ptr - II - 10:10
    • shared_ptr - 10:27
    • weak_ptr - I - 8:49
    • weak_ptr - II - 6:26
    • Circular Reference & weak_ptr - 10:26
  • More C++ Features
    • enum Type - I - 3:42
    • enum Type - II - 5:32
    • C Style Strings - 6:49
    • C++ std::string - 11:41
    • String Streams - 9:45
    • Constant Expressions (constexpr) - 9:24
    • User-defined Literals - 5:59
    • Initializer List - 8:27
    • Automatic Dynamic Array (vector) - 8:43
    • Union Type - I - 4:51
    • Union Type - II - 4:56
    • Assignments
    • Quiz
  • Object Oriented Programming with C++
    • Inheritance & Composition - 6:01
    • Inheritance & Access Modifiers - 3:54
    • Project - I (Introduction) - 2:06
    • Project - II (Account & Savings classes) - 6:59
    • Project - III (Inheriting Constructor) - 6:31
    • Project - IV (virtual Keyword) - 8:53
    • Project - V (Virtual Mechanism Internals) - 7:11
    • Project - VI (Virtual Mechanism Walkthrough) - 6:42
    • Project VII (override & final Specifiers) - 6:13
    • Project VIII (Upcasting & Downcasting) - 5:45
    • Project - IX (RTTI Overview) - 7:11
    • Project - X (RTTI Operators) - 3:17
    • 13. Inheritance - Project XI - 6:03
    • Abstract Class - 6:03
    • Multiple Inheritance - 9:21
    • Quiz
  • Exception Handling
    • Introduction to Exception Handling - 7:58
    • Catch Handlers - 3:58
    • Stack Unwinding - 6:31
    • Nested Exceptions - 5:10
    • Exceptions in Constructors/Destructors - 7:06
    • noexcept Specifier - 8:20
    • Quiz
  • File I/O
    • Raw String Literals - 4:03
    • Experimental Filesystem Library - 3:49
    • Overview of File I/O - 6:44
    • Error Handling in Files - 5:43
    • File Copy Utility - 3:29
    • Character Input/Output & Seeking - 7:22
    • Binary Input/Output - 8:30
    • Assignments
  • Templates
    • Introduction to Templates - 7:48
    • Template Argument Deduction & Instantiation - 6:27
    • Explicit Specialization - 5:54
    • Nontype Template Arguments - 7:14
    • Perfect Forwarding - I - 7:23
    • Perfect Forwarding - II - 5:32
    • Variadic Templates - I - 9:47
    • Variadic Templates - II - 4:50
    • Class Templates - 8:39
    • Class Explicit Specialization - I - 5:41
    • Class Explicit Specialization - II - 4:02
    • Class Partial Specialization - 6:52
    • Alias Templates - 8:07
    • Static Assertion - 4:19
    • Type Traits - 7:21
    • Assignments
  • Lambda Expressions
    • Function Objects - I - 6:39
    • Function Objects - II - 6:57
    • Lambda Expressions & Syntax - 4:36
    • Lambda Expressions Internals - 5:00
    • Lambda Capture List - I - 8:25
    • Lambda Capture List - II - 4:07
    • Lambda Capture List - III - 5:57
    • Generalized Lambda Capture - 4:33
    • Assignments
    • Quiz
  • Standard Template Library
    • Standard Library Components - 2:50
    • std::array - 4:02
    • std::vector - 4:38
    • std::deque - 2:21
    • std::list & std::forward_list - 4:59
    • std::set & std::multiset - 5:42
    • std::map & std::multimap - 7:34
    • Unordered Containers Overview - 4:38
    • std::unorderedset & std::unorderedmap - 5:48
    • Custom Hasher - 2:42
    • Containers Comparison - 5:04
    • Algorithms - I - 8:15
    • Algorithms - II - 7:04
    • Assignment
    • Quiz
  • Concurrency
    • Concurrency Basics - 5:42
    • Thread Creation - 5:47
    • Passing Arguments To Threads - 4:18
    • Thread Synchronization - 6:17
    • std::lock_guard - 2:45
    • More Thread functions - 7:48
    • Task-based Concurrency - I - 5:07
    • Task-based Concurrency - II - 3:44
    • Task Launch Policies - 4:38
    • std::future Functions - 5:07
    • std::promise - 5:36
    • Exception Propagation In Threads - 3:15
  • C++17 Core Language Additions
    • Deprecated & Removed Features - 3:53
    • Changes To Existing Features - 3:12
    • Attributes - 5:58
    • Feature Test Macros - 5:50
    • if/switch With Initialization - 5:47
    • Inline Variables - 5:45
    • Nested Namespaces - 1:51
    • noexcept Specifier Changes - 3:35
    • constexpr Lambda - 7:47
    • Structured Binding - 8:07
    • Argument Evaluation Order - 6:36
    • Mandatory Copy Elision - I - 4:28
    • Mandatory Copy Elision - II - 4:33
  • C++17 Template Additions
    • Class Template Argument Deduction - 5:41
    • Fold Expressions - I - 4:05
    • Fold Expressions - II - 4:26
    • Fold Expressions - III - 5:51
    • Fold Expressions - IV - 2:34
    • Type Trait Suffixes - 3:22
    • Compile-Time if - I - 7:42
    • Compile-Time if - II - 4:42
  • C++17 Standard Library Additions
    • std::optional - I - 5:18
    • std::optional - II - 3:50
    • std::optional - III - 3:37
    • std::variant - I - 5:57
    • std::variant - II - 4:34
    • std::variant - III (Visitation) - 5:58
    • std::any - 6:33
    • std::string_view - I - 8:39
    • std::string_view - II - 8:13
    • Filesystem Library - I (path) - 5:49
    • Filesystem Library - II (directory_entry) - 7:00
    • Filesystem Library - III (Directory Functions) - 5:09
    • Filesystem Library - IV (File Permissions) - 5:44
    • Parallel Algorithms - I - 3:49
    • Parallel Algorithms - II - 7:32
    • Parallel Algorithms - III - 4:24

View Full Curriculum


Access
Lifetime
Content
6.0 hours
Lessons
55

Master C# And SQL by Building Applications

Become a Better Software Developer by Learning How to Build Real-World Applications Using C# & SQL

By Avetis Ghukasyan | in Online Courses

It is time for you to master C# and SQL by putting them together and pushing yourself to build real-life applications. There are no shortcuts or magic potions that will make you good. You will have to take the course, dedicate your time and learn all of the information. This course's sole purpose is to challenge you to put multiple technologies together while solving real-life problems. All of the applications written in this course could be used in the real world with enhancement.

4.2/5 average rating: ★ ★ ★ ★

  • Access 55 lectures & 6 hours of content 24/7
  • Use SQL & C# together to build a full stack application
  • Use Dapper in .NET to make SQL database access even easier
  • Build forms using WPF & XAML
  • Use MVVM in order to create forms that are intuitive & easily manageable
  • Create & manipulate Excel worksheets and workbooks via Open XML and C#
Avetis Ghukasyan | Web Developer
4.5/5 Instructor Rating: ★ ★ ★ ★

Avetis Ghukasyan is a web developer with a Bachelor of Computer Science from Wentworth Institute of Technology. He enjoys the field of computer science because he strongly believes that it forces one to think in a very logical and radically honest manner which has a very high potential of making one into a better person. That in turn helps one to write even better software creating an upward cycle for more growth.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Windows 10

Course Outline

  • Setup
    • Download & Install Visual Studio 2019 Community - 4:06
    • Download & Install SQL Server 2019 - 2:09
    • Download & Install SSMS 18 - 4:11
    • Self-Troubleshooting
  • Customer Order Viewer
    • Customer Requirements - 2:43
    • SQL Server Database Objects - 2:59
    • Create Application Database & Tables - 11:30
    • Give Values To Our Tables - 4:20
    • Quick Side Note - 8:22
    • SQL Views - 1:47
    • Create Application View - 7:17
    • Explore Server Explorer - 4:19
    • What Is SQLConnection? - 4:10
    • What Is SQLCommand? - 1:33
    • What Is SqlDataReader? - 3:32
    • Create Application Models - 5:02
    • Create Application Command - 18:58
    • Put All Together & Test - 9:05
  • Customer Order Viewer 2.0
    • Customer Requirements - 0:27
    • SQL Alter - 1:04
    • Alter Our Table - 4:23
    • SQL UDDT and SPROCs - 2:11
    • Create Application UDDT & SPROCs - 21:47
    • Create More SPROCs - 3:01
    • What Is Dapper? - 0:42
    • Creating Application Models - 6:21
    • Creating Application Commands - 12:48
    • Put All Together & Test - 24:34
  • Course Report Emailer
    • Customer Requirements - 1:50
    • Create Application Database & Tables - 2:20
    • Give Values To Our Tables - 0:52
    • Create Application View - 3:01
    • Create Application SPROC - 3:00
    • Creating Application Models - 4:38
    • Create Application Commands - 6:09
    • What Is JSON? - 8:17
    • What Is DataTable? - 6:26
    • What Is Open XML SDK? - 1:30
    • Create WorkSheet Creator - Part 1 - 16:10
    • Create WorkSheet Creator - Part 2 - 10:53
    • Create Emailer - 9:30
    • Put All Together & Test - 6:53
  • Course Manager
    • Customer Requirements - 0:41
    • Alter Needed Table - 2:36
    • Create Application SPROCs - 12:28
    • What Is WPF and XAML? - 1:51
    • What Is MVVM? - 4:32
    • Cleanup And Create Startup - 11:49
    • Create Application Models - 2:46
    • Create Application Commands - 12:28
    • Use Mockup To Create View - 15:15
    • Enhance Our ViewModel - Part 1 - 12:57
    • Enhance Our ViewModel - Part 2 - 16:44
    • Put All Together & Test - 11:15
  • Application Code
    • Resources

View Full Curriculum


Access
Lifetime
Content
13.0 hours
Lessons
99

Learn C# by Building Applications

Understand the Concepts of C#6 & C#7 and Use Them to Build Real World .NET Console Apps

By Avetis Ghukasyan | in Online Courses

The C# (C Sharp) programming language allows you to develop games, mobile apps, desktop apps, and web apps. This means that if you know C# well and can build desktop or web applications using it, then you will always be in demand. Not only is it a valuable skill, but C# is also profitable expertise to have. However, before going anywhere, you first need to learn the fundamentals. This course will go over the same fundamentals of C# and a context of an application that you'll be building from scratch.

4.4/5 average rating: ★ ★ ★ ★

  • Access 99 lectures & 13 hours of content 24/7
  • Learn the fundamentals of C# 6 & 7
  • Understand the core concept of C#
  • Be able to write programs in C# on your own
  • Write clean code that will make your work more elegant, readable & respectable
  • See how a "for loop" or an "if statement" is used in an actual application
  • Use C# to build real world .NET console applications
Avetis Ghukasyan | Web Developer
4.5/5 Instructor Rating: ★ ★ ★ ★

Avetis Ghukasyan is a web developer with a Bachelor of Computer Science from Wentworth Institute of Technology. He enjoys the field of computer science because he strongly believes that it forces one to think in a very logical and radically honest manner which has a very high potential of making one into a better person. That in turn helps one to write even better software creating an upward cycle for more growth.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Visual Studio Community 2015
  • Basic Knowledge on C#

Course Outline

  • Setup
    • Installing Visual Studio 2019 - 5:22
    • How Updates Are Handled - 3:01
    • Visual Studio 2015 vs 2019 And Advice On Self-Troubleshooting - 6:45
    • Correct Mindset For This Course - 4:04
    • Self-Troubleshooting
  • Simple Calculator
    • Acceptance Criteria - 3:10
    • Algorithm - 3:28
    • FlowChart - 4:36
    • Variables - 9:16
    • Expressions & Operators - 3:42
    • Converting String To Number - 4:18
    • Order Of Evaluation - 5:23
    • String Manipulation, Formatting and More - 15:10
    • Conditional Statements - 10:29
    • Objects & Classes - 5:49
    • Methods - 9:16
    • Static Vs Non Static - 5:01
    • Exceptions & Throw Keyword - 9:34
    • Try Catch Finally - 14:40
    • Writing Simple Calculator - 18:37
    • Writing Simple Calculator Unit Tests - 15:07
  • Word Unscrambler
    • Acceptance Criteria - 3:31
    • Algorithm - 6:21
    • FlowChart - 2:52
    • Lists - 3:45
    • Arrays - 7:00
    • Array.Sort & More - 3:32
    • For Loop - 7:28
    • While Loop - 6:30
    • Do While Loop - 5:16
    • ForEach Loop - 2:34
    • Iterating Lists & Arrays - 9:38
    • Reference vs Value Types - 15:10
    • Classes vs Structs - 4:41
    • Out vs Ref Parameters - 5:20
    • Null & Null Coalescing - 6:33
    • Readonly vs Const - 4:40
    • Read & Write to Files - 8:10
    • DRY Principle - 6:06
    • Writing Program Part 1 - 14:25
    • Writing Program Part 2 - 16:43
    • Writing FileReader - 4:46
    • Writing WordMatcher - 11:42
    • Writing Constants - 19:28
    • Writing Word Unscrambler Unit Tests - 19:31
  • Simple Web Scraper
    • Acceptance Criteria - 3:22
    • Algorithm - 4:35
    • FlowChart - 3:58
    • Fields - 5:02
    • Properties - 10:30
    • Constructors - 5:47
    • Object Oriented Programming - 7:33
    • Encapsulation & InternalsVisibleTo - 18:17
    • Using Keyword - 8:13
    • Builder Pattern - 16:30
    • Single Responsibility Principle - 8:05
    • HTML Basics - 4:13
    • Regular Expressions - 11:18
    • Writing Both Builders - 14:12
    • Writing Scraper - 7:56
    • Writing Program Part 1 - 17:15
    • Writing Program Part 2 - 5:34
    • Writing Simple Web Scraper Unit Tests - 10:25
  • Sudoku Solver
    • Acceptance Criteria - 2:36
    • Algorithm - 5:53
    • FlowChart - 4:00
    • StringBuilder - 2:58
    • Jagged Arrays vs Multidimensional Arrays - 5:09
    • Dependency Injection - 4:27
    • Interfaces - 6:00
    • Abstract Classes - 6:39
    • Interfaces vs Abstract Classes - 2:27
    • Polymorphism - 3:54
    • LINQ Introduction - 14:04
    • Writing SudokuFileReader - 14:12
    • Writing SudokuMapper - 10:50
    • Writing SudokuBoardDisplayer - 6:00
    • Writing SudokuBoardStateManager - 5:44
    • Writing SudokuSolverEngine - 12:55
    • Writing SimpleMarkUpStrategy Part 1 - 16:47
    • Writing SimpleMarkupStrategy Part 2 - 11:00
    • Writing NakedPairStrategy Part 1 - 18:08
    • Writing NakedPairStrategy Part 2 - 14:33
    • Fixing Few Bugs - 6:57
    • Writing Program - 9:32
    • Writing Unit Tests Part 1 - 10:20
    • Writing Unit Tests Part 2 - 11:57
  • Updates In C# 7
    • C# 7 Features We Will Be Going Over - 6:45
    • Out Variables - 3:09
    • Throw Expressions - 5:59
    • Binary Literals & Digit Separators - 4:36
    • Expression Bodies - 6:27
    • Ref Locals And Returns - 9:57
    • Deconstruction - 9:21
    • Local Functions - 3:58
    • Pattern Matching Part 1 - 16:32
    • Pattern Matching Part 2 - 6:56
    • Tuples - 16:04
  • Application Code
    • Resources

View Full Curriculum


Access
Lifetime
Content
4.0 hours
Lessons
32

The Complete Introduction to C++ Programming

Learn All the Basics of C++ by Practice & Create Various Basic C++ Applications

By Yassin Marco | in Online Courses

This course is structured and created to help you learn and understand all the basic concepts core of the C++ programming language. This way, you will not only program in this language but will also understand the logic behind this programming language and will be able to create various applications in it on your own. Also, this course is built around a straightforward but effective logic that is learning by practice. In other words, it is not theoretical, even if it contains some theoretical concepts. You will find various C++ exercises all over the course to help you master this programming language and achieve your end goal of learning how to program in C++.

4.2/5 average rating: ★ ★ ★ ★

  • Access 32 lectures & 4 hours of content 24/7
  • Learn how to use C++ the right way
  • Understand complex C++ functions
  • Learn different tips & tricks to improve your C++ skills
  • Create your own basic programs with C++
  • Be able to use C++ on a daily basis
  • Learn at your own rhythm with different practical exercises at each class
Yassin Marco
4.1/5 Instructor Rating: ★ ★ ★ ★

Yassin has a BS in international management and multiple certifications in management and IT. He works on a daily basis with various Microsoft apps and is a specialist in excel as well as in various other fields such as online business creation and promotion, marketing, and many more. Also, he has a passion for finances and has helped many people in taking their first steps in the trading and investing world, from basic financial coaching to advanced Stock/Forex data analysis.

He has developed a passion for coaching and educating and has helped more than 380,000+ students on multiple online platforms. Teaching in English and French, he has been able to reach across to people spanning from over 198 countries.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Any device with basic specifications

Course Outline

  • Introduction
    • Introduction - 7:17
    • Introduction to C++ - 7:40
    • Setting up everything - 4:49
  • Starting out
    • Writing our first lines of code - 5:29
    • Understanding our code - 8:57
    • Basic Data Storage - 13:45
    • Text and functions - 15:12
    • The Basic of numbers part 1 - 8:15
    • The Basic of numbers part 2 - 8:03
    • Practicing everything - 14:47
  • More programming
    • Interaction with the user - 8:59
    • Creating a basic food ordering app - 10:47
    • Storing more Data Part 1 - 7:21
    • Storing more Data Part 2 - 4:41
    • Working with multiple functions part 1 - 12:17
    • Working with multiple functions part 2 - 11:31
    • Understanding various C++ operators - 6:09
    • The basics of IF function - 6:53
    • Understanding the IF function Part 1 - 11:21
    • Creating a basic food survey - 13:00
    • Creating a coffee selector - 10:44
    • The basics of loops - 6:04
    • Understanding the FOR loop - 10:02
    • Basic password creator - 8:57
    • Generating different colors - 11:36
    • Adding comments to our project - 4:04
  • Creating your final project
    • Final project Part 1 - 18:11
    • Final project Part 2 - 11:01
    • Final project Part 3 - 12:59
    • Final project Part 4 - 7:57
    • Final project Part 5 - 4:40
    • Conclusion - 4:19

View Full Curriculum


Access
Lifetime
Content
7.0 hours
Lessons
92

Structural Design Patterns in Modern C++

Learn Structural Design Patterns in Depth & Their Implementation in Modern C++

By Umar Lone | in Online Courses

Design Patterns are a way to solve common object-oriented design problems. But understanding and learning design patterns is hard and takes time. Looking at a pattern is like looking at a solution without a problem unless you've encountered the problem in the past. This course aims to help you understand and implement Structural Design Patterns. Each pattern is explained with multiple examples and through modern C++. This helps you understand how the pattern can be implemented efficiently using language features. Also, you are provided with real-world examples written in Modern C++. These examples will compile & execute on any platform that supports a C++ compiler.

4.6/5 average rating: ★ ★ ★ ★

  • Access 92 lectures & 7 hours of content 24/7
  • Understand what structural design patterns are
  • Create bigger structures through inheritance & composition
  • Use adapter to convert an incompatible interface into a compatible one
  • Simplify complex interfaces of a system through facade
  • Use proxy to control access to an object
  • Understand how decorator can be used to add more behaviors to an object at runtime
  • Form larger structures through recursive composition through composite
  • Enable sharing of large number of objects through flyweight
  • Separate abstraction & its implementation to provide variations without implementing too many classes
Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic knowledge of C++
  • Good understanding of Object Oriented Programming

Course Outline

  • Introduction
    • Course Introduction - 3:02
    • Slide Deck
    • Introduction To Patterns - 4:57
    • Overview of UML Class Diagram - 8:24
    • S.O.L.I.D. Principles - I - 4:56
    • S.O.L.I.D. Principles - II - 4:59
    • S.O.L.I.D. Principles - III - 5:07
    • Overview of Structural Patterns - 1:12
  • Adapter
    • Source Code
    • Introduction - 3:56
    • Basic Example - 4:33
    • Game Input - 6:35
    • Using Adapter - 4:33
    • Adapter Implementation - 7:28
    • Class Adapter - 8:06
    • Pros & Cons - 6:02
  • Facade
    • Source Code
    • Introduction - 3:38
    • Basic Example - 6:36
    • Console Project - I - 6:52
    • Console Project - II - 1:43
    • Console Project - III - 6:30
    • Console Project - IV - 6:41
    • Console Facade for Linux - 5:37
    • Pros & Cons - 4:43
  • Proxy
    • Source Code
    • Introduction - 5:29
    • Basic Example - 5:38
    • Virtual Proxy - I - 6:16
    • Virtual Proxy - II - 3:28
    • Virtual Proxy - III - 6:21
    • Protection Proxy - I - 4:15
    • Protection Proxy - II - 6:50
    • Protection Proxy - III - 6:52
    • Remote Proxy - I - 4:11
    • Remote Proxy - II - 3:38
    • Remote Proxy - III - 6:41
    • Smart Proxy - 7:08
    • Pros & Cons - 4:53
  • Decorator
    • Source Code
    • Introduction - 7:39
    • Basic Example - I - 4:19
    • Basic Example - II - 4:22
    • Streams - I - 6:27
    • Streams - II - 3:26
    • Streams - III - 4:32
    • Streams - IV - 4:45
    • Streams - V - 7:55
    • Streams - VI - 8:18
    • Decorator Types - 2:23
    • Static Decorator - 8:52
    • Functional Decorator - 9:07
    • Pros & Cons - 5:24
  • Composite
    • Source Code
    • Introduction - 4:52
    • Intent - 3:04
    • Basic Example - 9:36
    • UI Example Overview - 5:06
    • UI Example - I - 6:59
    • UI Example - II - 7:03
    • UI Example - III - 7:05
    • Pros & Cons - 6:20
  • Bridge
    • Source Code
    • simple2d Library Setup - 4:25
    • Introduction - 7:13
    • Intent - 3:43
    • Basic Example - 4:53
    • Shapes Hierarchy - I - 5:23
    • Shapes Hierarchy - II - 4:00
    • Shapes Hierarchy - III - 5:44
    • Shapes Hierarchy - IV - 9:32
    • Shapes Hierarchy Issues - 7:33
    • Bridge Implementation - 8:55
    • Handle-Body - I - 2:08
    • Handle-Body - II - 6:07
    • Handle-Body - III - 3:37
    • PIMPL - I - 6:17
    • PIMPL - II - 5:41
    • Static Bridge - 4:05
    • Pros & Cons - 5:21
  • Flyweight
    • Source Code
    • Introduction - 4:30
    • Intent - 3:45
    • Basic Example - 9:28
    • Game Implementation - I - 9:07
    • Game Implementation - II - 8:24
    • Game Implementation - III - 4:31
    • String Interning - I - 7:08
    • String Interning - II - 7:25
    • String Interning - III - 6:53
    • BoostFlyweight - 3:57
    • Pros & Cons - 2:11

View Full Curriculum


Access
Lifetime
Content
7.0 hours
Lessons
88

Creational Design Patterns in Modern C++

Learn Creational Design Patterns in Depth & Their Implementation in Modern C++

By Umar Lone | in Online Courses

Design Patterns are a way to solve common object-oriented design problems. But understanding and learning design patterns is hard and takes time. Looking at a pattern is like looking at a solution without a problem unless you've encountered the problem in the past. This course aims to help you understand and implement Structural Design Patterns. Each pattern is explained with multiple examples and through modern C++. This helps you understand how the pattern can be implemented efficiently using language features. Also, you are provided with real-world examples written in Modern C++. These examples will compile & execute on any platform that supports a C++ compiler.

4.6/5 average rating: ★ ★ ★ ★

  • Access 88 lectures & 7 hours of content 24/7
  • Understand what creational design patterns are
  • Learn how creational design patterns solve object construction problems
  • Implement singleton correctly in C++ with thread-safety
  • Use factory method to encapsulate the construction process
  • Use object pool pattern to avoid repetitive construction & destruction of objects
  • Control construction process of an object through builder
  • Clone expensive objects through prototype
  • Use abstract factory to construct objects based on a context
Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic knowledge of C++
  • Good understanding of Object Oriented Programming

Course Outline

  • Introduction
    • Introduction to Patterns - 4:57
    • Overview of UML Class Diagram - 8:24
    • S.O.L.I.D. Principles - I - 4:56
    • S.O.L.I.D. Principles - II - 4:59
    • S.O.L.I.D. Principles - III - 5:14
    • Overview of Creational Patterns - 2:11
    • Slide Deck
  • Singleton
    • Source code
    • Introduction - 3:49
    • Basic Example - 3:16
    • Logger Class - I - 7:22
    • Logger Class - II - 5:48
    • Lazy Instantiation - 4:08
    • Destruction Policies - 8:12
    • Multithreading Issues - 6:11
    • Why DCLP Fails - 8:08
    • Meyers Singleton - 2:46
    • Using std::call_once - 4:38
    • CRTP Idiom - 4:39
    • Clock Class - 5:27
    • Monostate - 5:58
    • Singleton vs Monostate - 2:33
    • Singleton Issues - 5:44
    • Registry Of Singletons - I - 9:37
    • Registry Of Singletons - II - 8:23
    • Pros & Cons - 4:22
  • Factory Method
    • Source Code
    • Introduction - 6:16
    • Basic Example - I - 4:52
    • Basic Example - II - 7:21
    • Application Framework Overview - 3:22
    • Application Framework Implementation - 3:52
    • Application Framework with Factory Method - 8:04
    • Parameterized Factory Method - 9:07
    • std::unique_ptr - 6:41
    • std::shared_ptr - 7:23
    • Pros & Cons - 5:03
  • Object Pool
    • Source Code
    • Introduction - 5:06
    • Basic Example - 6:29
    • Pooling Game Objects - I - 7:23
    • Pooling Game Objects - II - 6:02
    • Multiple Actors - I - 4:19
    • Multiple Actors - II - 7:37
    • Multiple Actors - III - 9:12
    • Generic Pool - I - 5:45
    • Generic Pool - II - 9:10
    • Pros & Cons - 3:43
  • Abstract Factory
    • Source Code
    • Introduction - 6:16
    • Basic Example - I - 6:24
    • Basic Example - II - 6:40
    • Database Framework Introduction - 5:40
    • Database Framework Implementation - 3:47
    • SqlServer Database Classes - 6:29
    • MySql Database Classes - 3:13
    • Database Framework Usage - 4:29
    • Using Factory Method - 8:24
    • Using Abstract Factory - 6:26
    • Pros & Cons - 8:14
  • Prototype
    • Source Code
    • Introduction - 3:58
    • Cloning Types - 4:39
    • Basic Example - 4:49
    • Game Introduction - 3:29
    • Game Implementation - I - 6:54
    • Game Implementation - II - 4:36
    • Game Implementation - III - 7:22
    • Cloning Example - 4:52
    • Prototype Implementation - I - 6:46
    • Prototype Implementation - II - 3:22
    • Prototype Implementation - III - 5:35
    • Class Vs Object - 4:55
    • Varying State - 4:38
    • Prototype Manager - I - 6:09
    • Prototype Manager - II - 4:10
    • Prototype Manager - III - 3:30
    • Pros & Cons - 6:07
  • Builder
    • Source Code
    • Introduction - 4:27
    • Basic Example - 5:40
    • File Example Introduction - 5:43
    • Memory Management - 5:46
    • Issues - 6:01
    • Builder Implementation - 4:06
    • Modern Implementation - 6:57
    • Fluent Builder - 5:41
    • Pros & Cons - 4:13

View Full Curriculum


Access
Lifetime
Content
10.0 hours
Lessons
124

Object Oriented Analysis, Design & Programming with UML

Learn Object-Oriented Analysis, Design & Programming Using UML in C++, Java and C#

By Umar Lone | in Online Courses

The Object-Oriented Analysis, Design, and Programming course is a unique course that teaches students how to use object-oriented techniques to build software. The course will start with requirements gathering & end with implementation. In the process, you'll learn how to analyze and design classes and their relationships to build a model of the problem domain. You'll also use common UML diagrams throughout this process, such as use-case, class, activity, and other diagrams. The diagrams will be created through a free tool.

4.2/5 average rating: ★ ★ ★ ★

  • Access 124 lectures & 10 hours of content 24/7
  • Understand & use UML with your software development process
  • Understand what is object oriented analysis, design & programming
  • Understand how to analyze a problem using object oriented analysis
  • Implement object-oriented design in Java, C++ & C#
  • Analyze & design classes, their relationships to each other in order to build a model of the problem domain
  • Use common UML diagrams throughout this process, such as use-case, class, activity & others
Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic knowledge of any programming language
  • Basic understanding of common C concepts

Course Outline

  • Introduction
    • Introduction - 1:14
    • Course Material
    • Eclipse Installation For Java - 1:45
    • VS2017 Installation For C# & C++ - 3:10
    • Installation For Other Platforms
  • Basics
    • Software Complexity - 6:23
    • Algorithmic Decomposition - 7:53
    • Object Oriented Decomposition - 7:46
    • Object Characteristics - 9:04
  • Object Oriented Analysis
    • UML Introduction - 4:46
    • View Model - 3:31
    • Object Model Concepts - 7:10
    • Object Oriented Analysis with Use Cases - 3:35
    • Use Case Description - 6:21
    • Use Case Diagram - 7:40
    • Use Case Relationships - 7:31
    • Use Case Relationships in StarUML - 4:35
    • Guidelines For Use Cases - 4:25
    • Activity Diagram - 3:25
    • Activity Diagram in StarUML - 5:36
    • Merge - 3:40
    • Fork & Join - 4:52
    • Swimlanes - 3:54
  • Object Oriented Design & Programming
    • Introduction To Classes & UML Class Diagram - 6:08
    • Class Diagram in StarUML - 7:49
    • Abstraction - 6:15
    • Abstraction In Java - 2:16
    • Abstraction In C# - 1:39
    • Abstraction In C++ - 3:56
    • Encapsulation - 3:52
    • Encapsulation In Java - I - 5:34
    • Encapsulation In Java - II - 6:47
    • Encapsulation In C#- I - 3:57
    • Encapsulation In C#- II - 4:54
    • Encapsulation In C++ - I - 4:13
    • Encapsulation In C++ - II - 4:44
    • Class Diagram Revisited - 4:00
    • Inheritance Overview - 4:06
    • Inheritance In Java - 5:52
    • Inheritance In C# - 5:59
    • Inheritance In C++ - 6:14
    • Containment - 2:55
    • Aggregation and Association - 4:19
    • Dependency - 2:56
    • Polymorphism - 3:28
    • Polymorphism In Java - 3:07
    • Polymorphism In C# - 2:38
    • Polymorphism In C++ - 2:31
    • Abstract Class - 2:58
    • Interface - 4:55
  • Game Implementation
    • Game Design Overview - 2:40
    • GameObject Implementation In Java - 5:09
    • TrafficCar Implementation In Java - 3:58
    • SideObject Implementation In Java - 3:26
    • Player Implementation In Java - 5:31
    • GameManager Implementation In Java - 6:05
    • GameObject Implementation In C# - 6:05
    • TrafficCar Implementation In C# - 2:42
    • SideObject Implementation In C# - 1:52
    • Player Implementation In C# - 6:30
    • GameManager Implementation In C# - 4:53
    • GameObject Implementation In C++ - 5:55
    • TrafficCar Implementation In C++ - 4:08
    • SideObject Implementation In C++ - 2:54
    • Player Implementation In C++ - 6:06
    • GameManager Implementation In C++ - 5:20
  • Interaction Diagrams
    • Communcation Diagram - I - 7:57
    • Communication Diagram - II - 4:39
    • Communication Diagram - III - 6:49
    • Communication Diagram - IV - 6:45
    • Sequence Diagram - Message Types - 8:09
    • Sequence Diagram - Fragments - 5:37
    • Sequence Diagram in StarUML - I - 7:49
    • Sequence Diagram in StarUML - II - 6:02
    • Scene Class Discussion - 5:22
    • Scene Class Implementation In Java - I - 6:22
    • Scene Class Implementation In Java - II - 5:39
    • Collision Behavior Implementation in Java - Part I - 6:04
    • Collision Behavior Implementation in Java - Part II - 5:10
    • Scene Class Implementation in C# - Part I - 5:42
    • Scene Class Implementation in C# - Part II - 5:29
    • Collision Behavior Implementation in C# - Part I - 4:54
    • Collision Behavior Implementation in C# - Part II - 6:08
    • Scene Class Implementation in C++ - Part I - 9:04
    • Scene Class Implementation in C++ - Part II - 5:58
    • Collision Behavior Implementation in C++ - Part I - 6:58
    • Collision Behavior Implementation in C++ - Part II - 5:37
  • State Machine Diagram
    • Code Cleanup - Java - 4:39
    • Code Cleanup - C# - 6:47
    • Code Cleanup - C++ - 5:57
    • State Changes In Java - 2:52
    • State Changes In C# - 3:44
    • State Changes In C++ - 2:55
    • State Machine Diagram - I - 7:23
    • State Machine Diagram - II - 2:50
    • State Machine Diagram - III - 3:53
    • Player States In Java - 4:05
    • Healthkit Powerup In Java - 5:35
    • State Behaviors In Java - 4:20
    • More Powerups In Java - 6:46
    • Player States In C# - 6:06
    • Healthkit Powerup In C# - 7:04
    • State Behaviors In C# - 5:06
    • More Powerups In C# - 6:11
    • Player States In C++ - 5:46
    • Healthkit Powerup In C++ - 6:56
    • State Behaviors In C++ - 4:39
    • More Powerups In C++ - 8:21
    • State Machine Diagram - IV - 9:26
    • State Machine Diagram - V - 5:50
  • Refactoring
    • Design Improvements - 3:30
    • Powerup Factory In Java - 3:59
    • SideObject Factory In Java - 6:46
    • Powerup Factory In C# - 3:59
    • SideObject Factory In C# - 5:02
    • Powerup Factory In C++ - 4:02
    • SideObject Factory In C++ - 6:58
  • More UML Diagrams
    • Package Diagram - I - 4:33
    • Package Diagram - II - 7:43
    • Component Diagram - I - 6:39
    • Component Diagram - II - 3:44
    • Component Diagram - III - 4:51
    • Deployment Diagram - I - 3:44
    • Deployment Diagram - II - 5:03

View Full Curriculum


Access
Lifetime
Content
6.0 hours
Lessons
72

Detecting Memory Leaks in C/C++ Applications

Apply Techniques to Detect & Isolate Memory-Related Errors in Visual Studio

By Umar Lone | in Online Courses

This course will help you overcome all C/C++ problems by leveraging the excellent features that Visual Studio provides. It has a rich set of functions provided by the C/C++ runtime heap library. These functions can help detect memory leaks, overflows, etc. You'll learn how to use these functions effectively and make your programs bug-free. Here, you will learn the basics of heap memory management and understand C & C++ allocation functions/operators in depth. You'll also learn how to use them to avoid memory problems effectively. Afterward, you'll learn about the Visual Studio heap library functions and understand how to use them in your code.

4.5/5 average rating: ★ ★ ★ ★

  • Access 72 lectures & 6 hours of content 24/7
  • Understand different kinds of problems associated with memory management
  • Effectively detect & isolate memory problems
  • Gain confidence in C/C++ memory management
Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic knowledge of C & C++

Course Outline

  • Introduction
    • Process Memory Layout - 5:54
    • Pointers - 2:18
    • Using Visual Studio - 4:54
    • Debugging In Visual Studio - 5:51
    • Byte Ordering - 6:08
    • C Allocation Functions - 3:58
    • C Allocation Functions Example - 4:33
    • Reallocation in C - 4:44
  • Dynamic Memory Allocation in C++
    • C++ Allocation Operators - 6:09
    • How new works - I - 2:52
    • How new works - I - 7:08
    • Handling new Failure - Exceptions - 3:17
    • Handling new Failure - Handler - 3:08
    • Handling new Failure - nothrow Specifier - 4:58
    • Source Code For Non-throwing new Example
    • Non-throwing new Example - I - 4:07
    • Non-throwing new Example - II - 4:55
    • Placement new - I - 3:43
    • Placement new - II - 8:43
    • Placement new - III - 8:38
    • Placement new - IV - 4:39
    • Placement new - V - 6:14
    • Operator new & delete Functions - 7:24
  • Memory Management Issues
    • Memory Management Issues - 2:26
    • Uninitialized Pointers - I - 6:14
    • Uninitialized Pointers - II - 6:14
    • Buffer Overflow - Stack - 6:53
    • Buffer Overflow - Heap - 5:51
    • DanglingPointer - I - 2:21
    • DanglingPointer - II - 5:53
    • Memory Leaks - I - 6:09
    • Memory Leaks II - 5:10
  • Detecting Heap Corruption
    • Source Code For String & HeapChecker Classes
    • String Class - I - 4:16
    • String Class - II - 3:42
    • String Class - III - 6:35
    • String Class - IV - 8:40
    • Detecting Heap Corruption in String Class - 8:40
    • 06. Detecting Heap Corruption in String - 6:32
    • Heap Checker Class - I - 6:13
    • Heap Checker Class - II - 5:15
    • Heap Checker Class - III - 5:06
    • Heap Checker Class - IV - 7:12
    • Heap Checker Class - V - 7:39
  • Detecting Memory Leaks
    • _CrtDumpMemoryLeaks() Function - 3:41
    • _CrtDumpMemoryLeaks() Example - 6:19
    • Leak Detection Flags - 3:01
    • Detailed Dump For new - 7:14
    • Assignment
    • Memory Snapshots - 2:30
    • Memory Snapshots Example - 7:42
    • Memory Checkpoint Helper Class - 5:13
    • Issue With Checkpoints - 8:51
    • Snapshots In Visual Studio - I - 6:04
    • Snapshots In Visual Studio - II - 5:48
    • Source Code For Reports Example
    • Report Mode & Types - 3:23
    • Report Mode & Types Example - 6:51
    • Report Mode File - 4:04
  • Project - Custom Leak Detector
    • Source Code
    • Leak Detection Internals - 4:57
    • Memory Block Header - 8:58
    • ptFree() Implementation - 6:46
    • ptDumpLeaks() Implementation - 9:48
    • Adding C++ Support - I - 8:10
    • Adding C++ Support - II - 7:22
    • Compiling on Linux - 6:42
  • Project - Heap Corruption Support
    • Heap Corruption Internal Implementation - 3:31
    • PtCheckMemory() implementation - I - 4:42
    • PtCheckMemory() implementation - II - 5:22
    • Alignment & Structure Padding - 5:21
    • Aligning Memory Block Header - 7:32

View Full Curriculum


Access
Lifetime
Content
6.0 hours
Lessons
72

C/C++ Pointers & Applications

Learn the Application of Pointers Such As Usage in Dynamic Arrays, Linked Lists, & More

By Umar Lone | in Online Courses

This course focuses on pointers and their applications. It leans more towards implementation in C++ rather than C. You'll learn the basics of pointers and then move on to understanding and implementing arrays, pointers to arrays & heap-based arrays. You'll also learn advanced memory management by creating a custom dynamic array (just like std::vector in standard C++ library). You'll use placement new & delete to directly place objects in a memory pool allocated through operator new function. As you'll see later in the course, this is a powerful mechanism to optimize heap memory usage with user-defined objects.

4.4/5 average rating: ★ ★ ★ ★

  • Access 72 lectures & 6 hours of content 24/7
  • Understand in depth how pointers work
  • Understand the applications of pointers
  • Understand efficient implementation of basic data structures
  • Understand how callback mechanism works through pointers and objects

Umar Lone | Trainer, Developer & Founder at Poash Technologies
4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Basic knowledge of C & C++
  • Understanding of basic syntax of pointers

Course Outline

  • Start Here
    • Course Introduction - 1:40
    • Course Material
    • Modern C++ Features - 7:18
    • Introduction to Pointers - I - 4:47
    • Introduction to Pointers - II - 5:57
  • Static Arrays
    • Arrays Introduction - 3:15
    • Examples of Static Arrays - 3:27
    • Array As Function Argument - 4:26
    • Passing Array by Reference - 6:15
    • Introduction to std::array - 5:08
    • Dynamic Arrays - 6:47
    • Multidimensional Arrays - 6:57
    • Dynamic Multidimensional Arrays - 7:20
  • Dynamic Arrays
    • Introduction - 10:39
    • Constructors - 5:31
    • Accessors - 5:20
    • Modifiers - 6:22
    • Erasure - 7:10
    • Copy/Move Semantics - I - 5:03
    • Copy/Move Semantics - II - 6:19
    • Copy/Move Semantics - III - 8:03
    • Copy/Move Semantics - IV - 6:10
    • Copy/Move Semantics Implementation - 5:10
    • Issues - 4:59
    • Placement new & delete - 5:51
    • Smart Reallocation - 3:15
    • New Dynamic Array - I (Constructors) - 7:29
    • New Dynamic Array - II (Add Function) - 5:45
    • New Dynamic Array - III (Insert Function) - 8:55
    • New Dynamic Array - IV (Miscellaneous Functions) - 9:47
    • Conclusion - 3:19
  • Singly Linked Lists
    • Introduction - 3:19
    • Basic Functions - 6:02
    • Modifiers - AddFront & AddBack - 7:12
    • Constructors - 5:53
    • Copy Move Operations - 5:04
    • Insertion - 5:07
    • Erasure - 3:56
    • Issues - 2:45
    • Element Access - 9:51
  • Doubly Linked List
    • Basic Functions - I - 5:35
    • Basic Functions - II - 4:32
    • Modifiers - 5:58
    • Accessors - 4:37
    • Constructors - 5:39
    • Modifiers - Front & End Removal - 6:32
    • Insertion - 7:13
    • Erasure - 5:54
  • Strings
    • Introduction - 7:46
    • String Length - 4:04
    • Copy/Concatenate - 8:38
    • String Duplication - 5:13
    • String Class - 9:37
  • Function Pointers
    • Basics - I - 6:41
    • Basics - II - 4:32
    • Function Pointers As Arguments - 8:34
    • Function Pointers As Return Types - I - 7:23
    • Function Pointers As Return Types - II - 4:44
    • Arrays of Function Pointers - I - 3:55
    • Arrays of Function Pointers - II - 4:25
  • Pointer To Member
    • Basic Syntax - 6:47
    • Constant Member Functions - 2:50
    • Simplify Syntax through Macros - 3:50
    • Static Members - 2:27
  • Callbacks
    • Introduction - 5:41
    • Function Pointers As Callbacks - 7:20
    • Example - 6:01
    • Member Functions As Callbacks - 7:00
    • Function Objects - 5:17
    • Function Objects As Callbacks - 4:07
    • Function Object Internals - 5:37
    • Function Object Vs Function Pointer - 6:04

View Full Curriculum


Access
Lifetime
Content
3.0 hours
Lessons
26

Beginner Object Oriented Programming In C# and .NET Core

Learn Object-Oriented Programming Fundamentals & Climb Up the Developer Hierarchy

By Avetis Ghukasyan | in Online Courses

Object-Oriented Programming (OOP) teaches you how to think clearly about your code by letting you visualize your problems in terms of objects. This allows you to have a high-level view of the problem, which allows you to come up with a strong solution. With 26 lectures, this course will teach you what OOP, its fundamentals, and its applications. You will be getting examples that allow you to understand each concept of object-oriented programming fully. Also, you will know about the 4 main pillars of OOP, and how to utilize each pillar in your own project.

4.6/5 average rating: ★ ★ ★ ★

  • Access 26 lectures & 3 hours of content 24/7
  • Understand the advantage of using OOP
  • Know the 4 main pillars of OOP
  • Utilize each pillar in your own project
  • Get examples that will let you fully understand each concept
Avetis Ghukasyan | Web Developer
4.5/5 Instructor Rating: ★ ★ ★ ★

Avetis Ghukasyan is a web developer with a Bachelor of Computer Science from Wentworth Institute of Technology. He enjoys the field of computer science because he strongly believes that it forces one to think in a very logical and radically honest manner which has a very high potential of making one into a better person. That in turn helps one to write even better software creating an upward cycle for more growth.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner

Requirements

  • Visual Studio Code
  • Basic Knowledge on C#

Course Outline

  • Setup
    • Installing .NET Core SDK - 2:45
    • Installing Visual Studio Code - 7:30
    • Self-Troubleshooting
  • Big Picture
    • What Is A Program? - 1:32
    • How To Write A Program? - 10:39
    • OOP Basics - 3:21
  • Inheritance
    • Down To Earth Definition - 1:33
    • Concrete Class - 8:51
    • Abstract Class - 13:32
    • Interface - Part 1 - 18:24
    • Interface - Part 2 - 6:08
  • Polymorphism
    • Down To Earth Definition - 1:04
    • Static Polymorphism - 16:19
    • Dynamic Polymorphism - Part 1 - 19:09
    • Dynamic Polymorphism - Part 2 - 9:37
  • Encapsulation
    • Down To Earth Definition - 2:13
    • Public - 7:06
    • Private - 2:01
    • Protected - 12:07
  • Abstraction
    • Down To Earth Definition - 1:25
    • Abstraction Through Encapsulation - 4:15
  • All Together
    • Summary Of All Concepts - 13:09
    • Small App - Part 1 - 17:56
    • Small App - Part 2 - 19:38
    • Small App - Part 3 - 3:50
  • Resources
    • Source Code

View Full Curriculum



Terms

  • Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.