Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Mastering 4 Critical Skills Using C++ 17 (updated 11/2022)

Posted By: ELK1nG
Mastering 4 Critical Skills Using C++ 17 (updated 11/2022)

Mastering 4 Critical Skills Using C++ 17
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.87 GB | Duration: 33h 28m

170 problems to enhance problem-solving skills. 6 projects for Project Building and Design Skills. High-quality quizzes

What you'll learn

Deep Dive with C++ 11/14/17 Modern Syntax from basic to advanced

~170 problems from easy to medium to hard to gain level-1 problem-solving skills

6 Projects from easy to hard with their solutions for projects-building skills

MANY Quizzes to master the concepts

FOUR critical skills to master not just one

A proven curriculum: Many of my thousands students highly recommend it

Short lectures, to the point, comprehensive and easy to get in an iterative style

Learn from PhD holder in AI: Teaching, Training & Coaching for many years

Requirements

Passion with building things!

Passion with problem solving!

Access to a computer.

Description

Almost all other courses focus on knowledge. In this course, we focus on 4 critical skills.Overall:The course covers basic to advanced modern C++ syntax. Beginners in C++ will learn a lot!The course helps you master the 4 most important skills for a programmerProgramming skillsProblem-solving skills: rarely covered by other coursesProject building skills: partially covered by other coursesDesign skills: rarely covered by other courses7+ times practice & homework compare to other courses + 6 projectsSpecial Teaching style: iterative, easy, and shortThis is an English Course only.  1/3 Course now has Manual English subtitles. Remaining under-progress.Content Basic to advanced modern C++.Fundamentals: Variables, Loops, Control Flow, Functions, Recursive Functions, ArraysAdvanced Topics: Pointers, STL, Templates, Headers, and Includes, Exception Handling, Compilation Process, Debugging Object-Oriented Programming (OOP): Classes, Objects, Inheritance, Polymorphism, Operator OverloadingModern Topics in C++11/C++14/C++17: Move Semantics, Perfect Forwarding, Variadic Template, Folding expressions, Smart Pointers, Lambda Expressions, Wrappers (Optional, Variant, Any), Uniform initialization, noexcept, Structured Binding, Nested namespaces, misc.OOP: Member initializer, Defaulted and Deleted Functions, Delegating constructors, Inheriting ConstructorsSTL: Forward list, Initializer list, Array, Unordered containersDesign: Several principles and patterns are embedded in the homework & projectsA huge set of Quizzes, Practice, Homework, and Projects2 styles of homework: Algorithmic (problem-solving) and applicationsSeveral software design concerns are embedded in the homework. So you are getting introduced to Software Engineering & Design PatternsSeveral quizzes to master the conceptsClarification: The core intentions of this course to provide very strong introduction to C++. Specifically up to the 6th project. After the last project, the course introduces some further modern C++ syntax (no quizzes/homework in this part). If you are new to C++, there is no course that competes with this one. But, if you are expert or target working with C++ in the market, you will need to good deeper after this course. A useful reference is "C++17 - The Complete Guide" book. Not that, this course provides some C++17 coverage but not all of it. However, the course provides pretty good coverage for C++11/14. Please consider the table of content if you are not new to C++ to satisfy your expectations.Building Skills: Practice, Homework, and ProjectsOne unique feature in this course is my education strategy: Explain, Administrate & ChallengeEach video smoothly explains a simple concept(s)Typically followed by easy to medium practice to administrate the conceptThen typically followed by an easy-medium-hard set of homework questions to challenge youExtensive homework from easy to medium to hard to help to build the skills. Most of the practice/homework questions are unique in this courseProgramming questions are mainly from my competitive programming experienceOOP questions are mostly invented to achieve several goals:Mastering the OOP conceptsEnforcing a lot of design heuristics & OODPreparing you for design principles and patternsSmall-to-large set of projects to build up project building and design skillsSolutions to all of them.By the end of the journeySolid understanding of programming concepts using C++Mastering the target 4 skillsWith the administered problem-solving skillsYou can start competitive programming smoothly in Div2-A/B CodeforcesSmooth start in Data Structure courseSmooth start in Algorithms courseWith the administered project-building and design skillsSmooth start in Software Engineering courseLater, smooth start in one of the technology tracks in frontend or backendMore career options such as games or embedded development.Don't miss such a unique learning experience!

Overview

Section 1: Getting Started

Lecture 1 Why Programming? C++?

Lecture 2 Who should take this course?

Lecture 3 Teaching Style

Lecture 4 Unique and Beyond Others

Lecture 5 Tackling Practice & Homework

Lecture 6 Curriculum Overview

Lecture 7 Resources and Students Community

Lecture 8 Important Note

Lecture 9 Let’s code

Section 2: Installation

Lecture 10 Overall tools

Lecture 11 Installing Codeblocks on Linux

Lecture 12 Installing Codeblocks on Windows

Lecture 13 Installing Eclipse on Linux

Lecture 14 Installing Eclipse on Windows

Lecture 15 Project creation on Codeblocks

Lecture 16 Project creation on Eclipse

Lecture 17 Configuring the Compiler to latest standards

Section 3: Printing

Lecture 18 Printing

Lecture 19 More on Printing

Lecture 20 Errors

Lecture 21 Printing Homework

Section 4: Data Types and Variables

Lecture 22 Data types and variables

Lecture 23 Declaring variables

Lecture 24 Reading Variables

Lecture 25 Errata

Lecture 26 Constant Variables

Lecture 27 Variables Homework 1 - 3 Easy Challenges

Lecture 28 Variables Homework 1 - Solutions p1 p2 p3

Lecture 29 Variables Homework 2 - 2 Medium Challenges

Lecture 30 Variables Homework 2 - Solutions p1 p2

Lecture 31 Variables Homework 3 - 3 Hard Challenges

Lecture 32 Variables Homework 3 - Solution p1 p2 p3

Section 5: Operators

Lecture 33 Binary and Unary Operators

Lecture 34 Prefix and Postfix Operators

Lecture 35 Assignment Operator

Lecture 36 Precedence

Lecture 37 Operators Homework- 3 Easy to Medium Challenges

Lecture 38 Operators Homework - Solutions p1 p2 p3

Lecture 39 Relational Operators

Lecture 40 Comparing Strings

Lecture 41 Truth Table

Lecture 42 Logical Operators

Lecture 43 Short-Circuit Evaluation

Lecture 44 Logical Operators Homework- 3 Easy to Medium Challenges

Lecture 45 Logical Operators Homework - Solutions p1 p2 p3

Lecture 46 Division Operator

Lecture 47 Modulus Operator

Lecture 48 Division and Modulus Homework 1 - 3 Easy Challenges

Lecture 49 Division and Modulus Homework 1 - Solutions p1 p2 p3

Lecture 50 Critical note about Homework

Lecture 51 Division and Modulus Homework 2 - 3 Medium Challenges

Lecture 52 Division and Modulus Homework 2 - Solution p1 p2

Lecture 53 Division and Modulus Homework 2 - Solution p3

Lecture 54 Division and Modulus Homework 3 - 2 Hard Challenges

Lecture 55 Division and Modulus Homework 4 - Solutions p1 p2

Section 6: Selection

Lecture 56 Selection 1

Lecture 57 Selection 2

Lecture 58 Selection Practice

Lecture 59 Selection Initialization

Lecture 60 Selection Homework 1 - 4 Easy Challenges

Lecture 61 Selection Homework 1 - Solutions p1 p2

Lecture 62 Selection Homework 1 - Solutions p3 p4

Lecture 63 Selection Homework 2 - 2 Medium Challenges

Lecture 64 Selection Homework 2 - Solutions p1 p2

Lecture 65 Selection Homework 3 - 2 Hard Challenges

Lecture 66 Selection Homework 3 - Solutions p1 p2

Section 7: Loops

Lecture 67 While Loops

Lecture 68 While Loops Practice

Lecture 69 While Loops Homework 1 - 5 Easy Challenges

Lecture 70 While Loops Homework 1 - Solutions p1 p2 p3 p4 p5

Lecture 71 While Loops Homework 2 - 4 Medium Challenges

Lecture 72 While Loops Homework 2 - Solutions p1 p2

Lecture 73 While Loops Homework 2 - Solutions p3 p4

Lecture 74 While Loops Homework 3 - 4 Hard Challenges

Lecture 75 While Loops Homework 3 - Solutions p1 p2

Lecture 76 While Loops Homework 3 - Solutions p3 p4

Lecture 77 For Loops

Lecture 78 For Loops Practice

Lecture 79 For Loops Homework - 6 Medium to Hard Challenges

Lecture 80 For Loops Homework - Solutions p1 p2

Lecture 81 For Loops Homework - Solutions p3 p4

Lecture 82 For Loops Homework - Solutions p5 p6

Section 8: 1D Arrays

Lecture 83 1D Arrays

Lecture 84 1D Arrays Practice 1

Lecture 85 1D Arrays Practice 2

Lecture 86 Homework 1 - 5 Easy to Medium Challenges

Lecture 87 Homework 1 - Solutions p1 p2 p3

Lecture 88 Homework 1 - Solutions p4 p5

Lecture 89 Homework 2 - 6 Medium Challenges

Lecture 90 Homework 2 - Solutions p1 p2

Lecture 91 Homework 2 - Solutions p3 p4

Lecture 92 Homework 2 - Solutions p5 p6

Lecture 93 Homework 3 - 5 Hard Challenges

Lecture 94 Homework 3 - Solutions p1 p2

Lecture 95 Homework 3 - Solutions p3

Lecture 96 Homework 3 - Solutions p4

Lecture 97 Homework 3 - Solutions p5

Section 9: Char Arrays

Lecture 98 Char Arrays 1

Lecture 99 Char Arrays 2

Lecture 100 Char Arrays Practice

Lecture 101 Homework 1 - 6 Easy to Medium Challenges

Lecture 102 Homework 1 - Solutions p1 p2

Lecture 103 Homework 1 - Solutions p3

Lecture 104 Homework 1 - Solutions p4

Lecture 105 Homework 1 - Solutions p5 p6

Lecture 106 Homework 2 - 3 Medium Challenges

Lecture 107 Homework 2 - Solutions p1

Lecture 108 Homework 2 - Solutions p2

Lecture 109 Homework 2 - Solutions p3

Lecture 110 Homework 3 - Application

Lecture 111 Homework 3 - Application Solution

Section 10: Multidimensional Arrays

Lecture 112 Multidimensional Arrays 1

Lecture 113 Multidimensional Arrays 2

Lecture 114 Position neighbours

Lecture 115 Practice 1

Lecture 116 Practice 2

Lecture 117 Homework 1 - 3 Easy Challenges

Lecture 118 Homework 1 - Solutions p1 p2 p3

Lecture 119 Homework 2 - 4 Medium to Hard Challenges

Lecture 120 Homework 2 - Solutions p1 p2 p3 p4

Lecture 121 Homework 3 - Application

Lecture 122 Homework 3 - Application Solution

Section 11: Functions

Lecture 123 Functions 1

Lecture 124 Functions 2

Lecture 125 Functions 3

Lecture 126 Pass by reference

Lecture 127 Builtin Functions

Lecture 128 Global, Local and Static Variables

Lecture 129 Functions Practice

Lecture 130 Functions Homework - 7 Challenges

Lecture 131 Functions Homework - Solutions p1 p2 p3

Lecture 132 Functions Homework - Solutions p4 p5 p6

Lecture 133 Functions Homework - Solutions p7

Section 12: Recursive Functions

Lecture 134 Recursive Functions 1

Lecture 135 Recursive Functions 2

Lecture 136 Recursive Functions Practice 1

Lecture 137 Recursive Functions Practice 2

Lecture 138 Recursive Functions Practice 3

Lecture 139 Recursive Functions Homework 1 - 8 Easy to Medium Challenges

Lecture 140 Recursive Functions Homework 1 - Solutions p1

Lecture 141 Recursive Functions Homework 1 - Solutions p2 p3 p4 p5 p6 p7 p8

Lecture 142 Recursive Functions Homework 2 - 9 Medium to Hard Challenges

Lecture 143 Recursive Functions Homework 2 - Solutions p9

Lecture 144 Recursive Functions Homework 2 - Solutions p10 p11 p12

Lecture 145 Recursive Functions Homework 2 - Solutions p13

Lecture 146 Recursive Functions Homework 2 - Solutions p14

Lecture 147 Recursive Functions Homework 2 - Solutions p15

Lecture 148 Recursive Functions Homework 2 - Solutions p16

Lecture 149 Recursive Functions Homework 2 - Solutions p17

Section 13: Project #1 - Hospital System

Lecture 150 Description

Lecture 151 Solution

Section 14: Structures

Lecture 152 Structures 1

Lecture 153 Structures 2

Lecture 154 Uniform initialization

Lecture 155 Structures Practice

Section 15: Project #2 - Library System

Lecture 156 Description

Lecture 157 Demo

Lecture 158 Project 2 - Solution

Lecture 159 Software Engineering

Section 16: Templates

Lecture 160 Function Templates

Lecture 161 Class Templates

Lecture 162 Variadic Template

Lecture 163 Fold Expression 1

Lecture 164 Fold Expression 2

Section 17: STL

Lecture 165 STL Intro

Lecture 166 Queue

Lecture 167 Priority Queue

Lecture 168 Deque

Lecture 169 Stack

Lecture 170 STL Practice 1

Lecture 171 Pair

Lecture 172 Tuple

Lecture 173 Iterators

Lecture 174 STL with Range-based for loop

Lecture 175 Vector 1

Lecture 176 Vector 2

Lecture 177 String

Lecture 178 STL Practice 2

Lecture 179 Algorithms

Lecture 180 Set

Lecture 181 Unordered Set

Lecture 182 Map 1

Lecture 183 Map 2

Lecture 184 STL Practice 3

Lecture 185 STL Practice 4

Lecture 186 STL Practice 5

Lecture 187 STL Practice 6

Lecture 188 STL Practice 7

Lecture 189 Notes

Lecture 190 STL Homework 1 - 6 Medium Challenges

Lecture 191 STL Homework 1 Solutions p1 p2 p3

Lecture 192 STL Homework 1 Solutions p4

Lecture 193 STL Homework 2 - 3 Hard Challenges

Lecture 194 STL Homework 2 - Solutions p9 (from my interviews course)

Lecture 195 Structured Binding

Section 18: Files and Streams

Lecture 196 Files and Streams 1

Lecture 197 Demo using Eclipse - Streaming from Files

Lecture 198 Demo using Codeblocks - Streaming from Files

Lecture 199 Files and Streams 2

Lecture 200 String Stream

Section 19: Project #3 - Ask.fm: Q & A

Lecture 201 Description

Lecture 202 Demo

Lecture 203 Solution - Big Picture

Lecture 204 Details 1

Lecture 205 Details 2

Section 20: Pointers

Lecture 206 Reference

Lecture 207 Pointers 1

Lecture 208 Pointers 2

Lecture 209 Pointers and Arrays

Lecture 210 Pointers and Const

Lecture 211 Pointers and Functions

Lecture 212 Dynamic Memory Allocation

Lecture 213 Pointers and Struct

Lecture 214 Stack and Heap Memory Allocation

Lecture 215 Handling Pointers

Section 21: Headers and Includes

Lecture 216 Headers and Includes

Lecture 217 Separating Interface from Implementation

Lecture 218 Demo using Eclipse - Creating Header

Lecture 219 Demo using Codeblocks - Creating Header

Lecture 220 Separation with Struct

Lecture 221 Forward Declaration

Lecture 222 Preprocessor and Linker

Lecture 223 Namespace 1

Lecture 224 Namespace 2

Section 22: Exception Handling

Lecture 225 Exception Handling

Lecture 226 Multiple Exceptions Handling

Lecture 227 Stack Unwinding

Lecture 228 noexcept Specifier

Lecture 229 Common Exception handling mistakes

Section 23: More on Fundamentals

Lecture 230 Bits Range

Lecture 231 Signed and Unsigned Variables

Lecture 232 Scientific Notation

Lecture 233 Rounding errors

Lecture 234 Floating point numbers

Lecture 235 Type Conversion

Lecture 236 Stream Manipulators

Lecture 237 Input Validations

Lecture 238 More on Files and Streams

Lecture 239 Switch, Do-while, Inline functions,Enum,Locality of reference

Section 24: Compilation Process

Lecture 240 Compilation Process 1

Lecture 241 Compilation Process 2

Lecture 242 Using Command Line

Lecture 243 Command line arguments

Section 25: Debugger

Lecture 244 Debugger

Lecture 245 Debugging with Eclipse IDE 1

Lecture 246 Debugging with Eclipse IDE 2 - Recursive Functions

Lecture 247 Debugging with Codelocks IDE 1

Lecture 248 Debugging with Codelocks IDE 2 - Recursive Functions

Section 26: Object Oriented Programming

Lecture 249 Objects

Lecture 250 Pyramid of Object Oriented

Lecture 251 Pyramid of Object Oriented Homework

Lecture 252 Data-Hiding

Lecture 253 Abstraction 1

Lecture 254 Abstraction 2

Lecture 255 Demo using Eclipse - Creating Class

Lecture 256 Demo using Codeblocks - Creating Class

Lecture 257 Abstraction Homework

Section 27: OOP: Classes

Lecture 258 Class Constructor & Destructor

Lecture 259 Class Constructor & Destructor Homework

Lecture 260 Class Copy Constructor

Lecture 261 Class Copy Constructor Homework

Lecture 262 Classes with initializer list

Lecture 263 Defaulted Functions

Lecture 264 Deleted Functions

Lecture 265 Const with Class

Lecture 266 Static with Class

Lecture 267 Friend Class

Lecture 268 Class Const, Static & Friend Homework 1

Lecture 269 Class Const, Static & Friend Homework 2

Section 28: UML Class Diagram

Lecture 270 Class Diagram in UML

Lecture 271 Classes Relationship

Lecture 272 Composition Relationship

Lecture 273 Aggregation Relationship

Lecture 274 Generalization Relationship

Lecture 275 Multiplicity

Lecture 276 Relationships & Multiplicity

Lecture 277 UML in Practice

Lecture 278 Improving Design Skills

Lecture 279 Software Development Life Cycle

Section 29: OOP Part 1: Summary

Lecture 280 OOP Part 1 Summary 1

Lecture 281 OOP Part 1 Summary 2

Lecture 282 OO Projects in Practice

Section 30: Project #4 - Ask.fm: Q & A (OOP)

Lecture 283 OOing old project

Section 31: Project #5: Online Book Reader

Lecture 284 Description

Lecture 285 Solution Overview

Section 32: OOP: Inheritance

Lecture 286 Inheritance 1

Lecture 287 Inheritance 2

Lecture 288 Inheritance Homework 1

Lecture 289 Inheritance Homework 2

Lecture 290 Inheritance 3

Lecture 291 Inheritance with Exceptions

Lecture 292 Inheritance in Practice

Lecture 293 Inheritance Homework 3

Lecture 294 Inheritance Homework 4

Section 33: OOP: Polymorphism

Lecture 295 Polymorphism 1

Lecture 296 Polymorphism 2

Lecture 297 Polymorphism 3

Lecture 298 Polymorphism Practice 1

Lecture 299 Polymorphism Tips

Lecture 300 Polymorphism Homework 1

Lecture 301 Polymorphism and Abstract Classes

Lecture 302 Polymorphism Practice 2

Lecture 303 Polymorphism Downcasting

Lecture 304 Polymorphism Virtual Table

Lecture 305 Polymorphism for APIs and Frameworks

Lecture 306 Polymorphism and Composition over Inheritance

Lecture 307 Polymorphism Homework 2

Section 34: OOP: Operator Overloading

Lecture 308 Binary Operator Overloading 1

Lecture 309 Binary Operator Overloading 2

Lecture 310 Unary Operator Overloading

Lecture 311 Subscript Operator Overloading

Lecture 312 Relational Operator Overloading

Lecture 313 Operator Overloading Homework 1

Lecture 314 Operator Overloading Homework 2

Lecture 315 Prefix and Postfix Operator Overloading

Lecture 316 Input-Output Operator Overloading

Lecture 317 Conversions in Operator Overloading

Lecture 318 Assignment Operator Overloading

Lecture 319 Operator Overloading Homework 3

Section 35: OOP Part 2: Summary

Lecture 320 OOP Part 2 Summary 1

Lecture 321 OOP Part 2 Summary 2

Lecture 322 OOP Part 2 Summary 3

Lecture 323 OOP Part 2 Summary 4

Lecture 324 OOP Part 2 Summary 5

Section 36: Project #6: Expedia.com

Lecture 325 Description

Section 37: Move Semantics and Perfect Forwarding

Lecture 326 Important note

Lecture 327 Boosting the performance

Lecture 328 Value Category

Lecture 329 Lvalue and Prvalue 1

Lecture 330 Lvalue and Prvalue 2

Lecture 331 Lvalue and Prvalue 3

Lecture 332 Rvalue Reference

Lecture 333 Move Semantics

Lecture 334 std::Move 1

Lecture 335 std::Move 2

Lecture 336 Delegation and Swap Tricks

Lecture 337 Xvalue

Lecture 338 Perfect Forwarding 1

Lecture 339 Perfect Forwarding 2

Lecture 340 Copy Elision

Section 38: Lambda Expressions

Lecture 341 Lambda Expressions

Lecture 342 Capture Clause

Lecture 343 Generalized Lambda Expressions

Lecture 344 Lambda with Fold Expression

Section 39: Smart Pointers

Lecture 345 A nightmare: Raw Pointers

Lecture 346 Unique Pointers 1

Lecture 347 Unique Pointers 2

Lecture 348 Unique Pointers 3

Lecture 349 Shared Pointer

Lecture 350 Weak Pointers

Lecture 351 Custom Deleter for shared pointer

Lecture 352 Custom Deleter for unique pointer

Section 40: More on STL

Lecture 353 Algorithms any_of,none_of,copy_n,iota

Lecture 354 Algorithms max_element,find_if,replace_if,search_n,for_each

Lecture 355 Algorithms accumulate,inner_product,adjacent_difference,next_permutation

Lecture 356 Algorithms based on ordered containers

Lecture 357 Array

Lecture 358 List and Forward list

Lecture 359 Valarray

Lecture 360 Container adaptors

Lecture 361 Stream iterator

Lecture 362 More on iterators

Lecture 363 STL big Picture

Section 41: Modern Wrapper Types

Lecture 364 Optional 1

Lecture 365 Optional 2

Lecture 366 Optional with in-place

Lecture 367 Variant

Lecture 368 Variant instead of Virtual Functions

Lecture 369 Any

Lecture 370 Optional vs Variant vs Any

Section 42: More on Pointers

Lecture 371 Array of Pointers

Lecture 372 Pointer to pointer

Lecture 373 Void Pointer

Lecture 374 Function Pointer

Section 43: Thank You

Lecture 375 Bonus

Whoever curious about programming,Learned programming, but has weak skills due to trying little challenges and projects,Experts in other programming languages migrating to C++