Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Comprehensive Software Development Using C++

A detailed journey through Modern Programming Concepts, Data Structures, Algorithms and Algorithm Analysis
4.2
4.2/5
(41 reviews)
817 students
Created by

9.3

CourseMarks Score®

9.8

Freshness

7.7

Feedback

9.8

Content

Platform: Udemy
Video: 41h 34m
Language: English
Next start: On Demand

Table of contents

Description

This course focuses on bringing major software development concepts together and attempts to explain them in a detailed, yet easy to understand way. It also includes topics that are often overlooked, including: compilers, virtual memory layout, how to choose the right editor, or how to use a graphical or command line based debugger. It is somewhat of a 2-in-1 course in that it isn’t a Data Structures course with a crash course in programming, or vice versa, but rather a full coverage of the essential theoretical and practical aspects of writing software.

Major topics include: Binary and Hexadecimal Numbering Systems, GDB, CLion, VSCode, VIM, Logic, ASCII, Control Structures, Dynamic Memory, Pointers, Virtual Address Space, inheritance, encapsulation, polymorphism, templates, Sorting, Searching, Stacks, Queues, Graphs, Linked Lists, Trees, Hash Tables, Dynamic Programming, Recurrence Relations, Big O Notation and More…
The course is broken into 3 sections:
•An introductory section to prepare beginners to write C++ programs and introduce students to fundamental Computer Science topics.
•A C++ programming section that covers all of the major programming concepts
•Includes in-video challenges and solutions
•Includes projects with solution files
•Many Modern/C++11 syntax topics mixed in (initialization lists, nullptr, range based loops, auto, smart pointers)
•A Data Structures and Algorithms Section
•Includes many Data Structures ranging from Linked-Lists to advanced concepts like AVL trees
•Includes practical Algorithm problems and solutions as well as academic topics like recurrence relations and summations
   
This course is best taken from beginning to end, however, certain students may only be interested in the Data Structures and Algorithms section. Some of the Data Structures (i.e. Linked Lists) use some C++ language specific concepts like class templates. These students can always refer to the programming section to find supplementary lectures to fill in any missing C++ language gaps.
Also, if you believe any content is missing, please send me a message or comment and I will try my best to accommodate your learning needs. Not every C++ specific concept is covered (Like C++20 specific features for example) as this is not an advanced C++ Language course, but rather a course to help aspiring Software Engineers/Developers prepare for a career or help students through their studies.

You will learn

✓ Be able to write clean and efficient C++ programs
✓ Learn the Data Structures and Algorithms concepts needed to pass interviews
✓ Feel confident with Object Oriented Programming Concepts such as Polymorphism, Encapsulation, and Inheritance
✓ Learn about additional topics such as Virtual Memory, Debuggers, and multiple development environments
✓ Demystify confusing Recursive problems with the help of visualizations
✓ Learn not only about code but also about important Computer Science Theory such as Binary/Hex/Octal, Logic and Algorithm Analysis

Requirements

• No prior programming or algorithm experience is needed. This course starts from scratch.

This course is for

• Learners who want to understand modern programming practices, design techniques, and how to write efficient code. It was designed with the intention to give students enough information to prepare for a career in software development.
C++ and Python Developer
Dylan has worked as a research assistant, interned at a leading Aerospace Company  and has also worked as an Instructional Assistant for Data Structures and Algorithms courses at the University level. He is well versed in Python and C++ programming and holds a Bachelors of Science Degree in Computer Science. He is passionate about Game-Development, Web-Development and Computer Security. 
Platform: Udemy
Video: 41h 34m
Language: English
Next start: On Demand

Students are also interested in