All the YouTube Videos
Find and quickly search my free YouTube videos listed on this page. Or click to visit my Official YouTube Channel.
(Note: I update this page every few days, check out the YouTube channel for the latest video!)
Find and quickly search my free YouTube videos listed on this page. Or click to visit my Official YouTube Channel.
(Note: I update this page every few days, check out the YouTube channel for the latest video!)
Playlist (click to see list of lessons) | Go directly to YouTube | Brief Description |
---|---|---|
[Channel News, Announcements and General Programming Discussion] | [View on YouTube] | General Updates, Announcements, or News Pieces for the channel... |
[Programming Languages - First Impressions] | [View on YouTube] | This is a playlist where I download and try out programming languages in about a... |
[Gaming] | [View on YouTube] | A playlist of some of my gaming... |
[Challenges] | [View on YouTube] | Various challenges from the community or programming challenges... |
[Conversations \/ Podcast] | [View on YouTube] | Conversations with other scientists, teachers, software engineers, and inspiring... |
[Collaborations] | [View on YouTube] | Various collaborations I have done with companies and colleagues for their chann... |
[Geometry] | [View on YouTube] | A playlist on computational geometry topics in Computer Science.... |
[Some Favorite C++ Conference Talks] | [View on YouTube] | Some C++ Talks that I have enjoyed and wanted to collect in a list.... |
[D Language (DLang) Programming] | [View on YouTube] | A full playlist on learning the D Programming language. A great starting place f... |
[C++ Quick Start] | [View on YouTube] | An accelerated introduction to C++ where I show you how to use a few of the key ... |
[Not a VLOG] | [View on YouTube] | This is not a vlog playlist, I repeat, this is not a vlog playlist.... |
[Developer Tools] | [View on YouTube] | A playlist of tools that I have found useful for general development.... |
[C Programming Series] | [View on YouTube] | A playlist on C programming, starting from your first C program to more advanced... |
[Miscellaneous] | [View on YouTube] | A series of videos on random topics that diverge from the channels main themes.... |
[Mike's Advice] | [View on YouTube] | Some advice, wisdom, and other content that I think may be of 'general' interest... |
[Introduction to OpenGL] | [View on YouTube] | A playlist for learning Modern OpenGL (version 3.3 to 4.6) in C++ for beginners.... |
[The C++ Programming Language] | [View on YouTube] | This is a full introduction through advanced topics series of videos on the C++ ... |
[Python 3 Programming] | [View on YouTube] | This video series includes the foundations of Python3 programming.... |
[wxWidgets Graphical User Interface (GUI) Programming in C++] | [View on YouTube] | In this series I explore using the wxWidgets GUI Programming API in C++. I will ... |
[Modern C++ (cpp) Concurrency] | [View on YouTube] | A series of videos to help users get started with C++ concurrency in modern cpp.... |
[C++ Software Design and Design Patterns] | [View on YouTube] | A series of videos on software design and design patterns. Topics may include cr... |
[SFML - Simple Fast Media Library] | [View on YouTube] | A series on programming using C++ and the Simple Fast Media Library (SFML). This... |
[SDL2 Simple Directmedia Layer] | [View on YouTube] | SDL2 C++ Programming series. Showing you how to use and understand the Simple Di... |
[CS in X Minutes] | [View on YouTube] | A series of topics that are more complete lessons, and can otherwise be complete... |
[3D Tutorials] | [View on YouTube] | This is an introductory series to Blender 3D for modeling and texturing. Most of... |
[C++ and Pybind11] | [View on YouTube] | In this series, I show you how to get setup with The C++ pybind11 project to emb... |
[Courses Preview] | [View on YouTube] | Commercial courses I have created on various topics, as well as the free resourc... |
[Computer Science Beginner Masterclass Series] | [View on YouTube] | These are the short free versions of courses that I offer. They don't contain ne... |
[CS Essential Skills] | [View on YouTube] | Some essential skills that computer scientists and programmers should learn. Thi... |
[AssemblyProgramming GNU Gas x86-64] | [View on YouTube] | A few supplemental lessons on assembly programming for undergraduates. At the ti... |
[Talks] | [View on YouTube] | An assortment of professional conference, invited, and seminar talks that I have... |
[ProcessingJS] | [View on YouTube] | A few videos that were created for non-programmers to help them learn how to get... |
[Discrete Mathematics] | [View on YouTube] | A series of videos with a few topics on Discrete Mathematics targeted towards fi... |
[Introduction to Computer Science using Modern C++ 11 and Beyond] | [View on YouTube] | An Introduction to Modern C++ 11 by example. This video series will also include... |
General Updates, Announcements, or News Pieces for the channel
This is a playlist where I download and try out programming languages in about an hour each. It's meant to provide a high level overview or 'first impression' (or in some case, revisit after a long duration). I encourage you to do the same thing -- whether it's turning on the camera for an hour, or otherwise just exploring something outside of your normal software development sphere.
A playlist of some of my gaming
Various challenges from the community or programming challenges
Conversations with other scientists, teachers, software engineers, and inspiring folks!
Various collaborations I have done with companies and colleagues for their channel.
A playlist on computational geometry topics in Computer Science.
Some C++ Talks that I have enjoyed and wanted to collect in a list.
0. CppCon 2015: Kate Gregory “Stop Teaching C\Click to find out more!
3. CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”Click to find out more!
4. Keynote: SOLID, Revisited - Tony Van Eerd - [CppNow 2021]Click to find out more!
6. CppCon 2014: Mike Acton \"Data-Oriented Design and C++\Click to find out more!
7. \"Performance Matters\" by Emery BergerClick to find out more!
8. Software Engineering Principles with Titus WintersClick to find out more!
9. CppCon 2019: Conor Hoekstra “Algorithm Intuition (part 1 of 2)”Click to find out more!
10. CppCon 2019: Conor Hoekstra, “Algorithm Intuition (part 2 of 2)”Click to find out more!
11. code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You CareClick to find out more!
A full playlist on learning the D Programming language. A great starting place for beginners to start, as we'll start from the very beginning. This playlist will also move towards more advanced features of the language as well -- find it all here!
An accelerated introduction to C++ where I show you how to use a few of the key language features. Consider this a shorter version of my more in-depth C++ series. This would be more of an ideal series for someone programming C++ in a course for the first time.
This is not a vlog playlist, I repeat, this is not a vlog playlist.
A playlist of tools that I have found useful for general development.
A playlist on C programming, starting from your first C program to more advanced constructs. I generally have a 'systems' viewpoint, and will talk about low level concepts (memory, processes) while teaching the C language in this series.
A series of videos on random topics that diverge from the channels main themes.
Some advice, wisdom, and other content that I think may be of 'general' interest to a wide range of programmers.
A playlist for learning Modern OpenGL (version 3.3 to 4.6) in C++ for beginners.
This is a full introduction through advanced topics series of videos on the C++ programming language. In this series we cover modern C++ (C++11,14,17,20,23, etc.) programming, along side design, style, patterns, and related C++ programming topics.
This video series includes the foundations of Python3 programming.
In this series I explore using the wxWidgets GUI Programming API in C++. I will show you how to build the library, run the samples, and then start building your own user interfaces.
A series of videos to help users get started with C++ concurrency in modern cpp. Discussion of thread-based concurrency, locks, async, promises, futures, and atomics at a minimum will be discussed.
A series of videos on software design and design patterns. Topics may include creational, structural, and behavioral design patterns, C++ design idioms, design considerations in other languages, and live programming exercises.
A series on programming using C++ and the Simple Fast Media Library (SFML). This series is suitable for beginners to intermediate users, covering basics for getting started, and lessons on building games.
SDL2 C++ Programming series. Showing you how to use and understand the Simple Directmedia Layer library.
A series of topics that are more complete lessons, and can otherwise be completed in a specific amount of time. Often times these videos are useful for students who just need to know something specific.
This is an introductory series to Blender 3D for modeling and texturing. Most of the lessons here can stand alone and be watched, or otherwise the lessons can be watched according to the order of the playlist.
In this series, I show you how to get setup with The C++ pybind11 project to embed Python into your applications.
Commercial courses I have created on various topics, as well as the free resources associated with each course.
These are the short free versions of courses that I offer. They don't contain near as much of the content of the full courses, but can serve as a complete crash course for someone who needs to learn a particular topic in a single sitting. Ideal for students or professionals who need to learn a skill quick, and may consider the full course later on.
Some essential skills that computer scientists and programmers should learn. This playlist will likely have very specific topics, but specific skills will be covered (e.g. building software from source, or using a specific debugging tool).
A few supplemental lessons on assembly programming for undergraduates. At the time, there were very few GNU Gas x86-64 tutorials for programming that started from the very beginning.
0. x86-64 Assembly (ASM) 1 - Hello WorldClick to find out more!
1. x86-64 Assembly (ASM) 2 - syscalls and assembly program structureClick to find out more!
2. x86-64 Assembly (ASM) 3 - Call instruction and label (Subroutines)Click to find out more!
3. x86-64 Assembly (ASM) 4 - ascii and ascizClick to find out more!
4. x86-64 Assembly (ASM) 5 - ConstantsClick to find out more!
5. x86-64 Assembly (ASM) 6 - Debugging ASMClick to find out more!
7. x86-64 Assembly (ASM) 8 - How to write out a character?Click to find out more!
8. x86-64 Assembly (ASM) 9 - Thinking about DivisionClick to find out more!
An assortment of professional conference, invited, and seminar talks that I have given. The list is incomplete, but the more recent talks should provide some idea of topics I am interested in and my presentation style.
5. Introduction To Clang 2019 06 10 13 02 18Click to find out more!
7. Back to Basics: Design Patterns - Mike Shah - CppCon 2020Click to find out more!
9. Back to Basics: Pointers - Mike Shah - CppCon 2021Click to find out more!
10. Back to Basics: Concurrency - Mike Shah - CppCon 2021Click to find out more!
11. The Factory Pattern - Mike Shah - CppCon 2021Click to find out more!
12. How I Teach Modern C++ One Pixel at a Time - Mike Shah - ACCU 2022Click to find out more!
14. DConf '22: Ray Tracing in (Less Than) One Weekend with DLang -- Mike ShahClick to find out more!
16. Introduction to Smart Pointers and WhyClick to find out more!
17. Back to Basics: Debugging in C++ - Mike Shah - CppCon 2022Click to find out more!
18. The Observer Design Pattern in Cpp - Mike Shah - CppCon 2022Click to find out more!
19. DConf Online '22 Q & A: Mike ShahClick to find out more!
20. Mike Shah :: Running Away From Computation - An IntroductionClick to find out more!
21. itCppCon23 Optimization Design Patterns (Mike Shah)Click to find out more!
22. [CppIndiaCon 2023] Optimization Design Patterns by Mike ShahClick to find out more!
24. Getting Started with Scripting in PythonClick to find out more!
26. Back to Basics: Functions in C++ - Mike Shah - CppCon 2023Click to find out more!
27. ACCU 2024 Session Preview - Interview With Mike Shah by @cppeventsClick to find out more!
29. The Strategy Design Pattern in Cpp - Mike Shah - C++Online 2024Click to find out more!
30. [MUC++] Mike Shah - Make Your Performance Fly: The Flyweight PatternClick to find out more!
31. How DLang Improves my Modern C++ and Vice Versa - Mike Shah - ACCU 2024Click to find out more!
A few videos that were created for non-programmers to help them learn how to get started in P5JS.
A series of videos with a few topics on Discrete Mathematics targeted towards first year undergraduate students.
0. Set Notation - Lesson 1 [Topics in Discrete Mathematics] Learn basic set notation \n\n►...
3. Power Set - Lesson 4 [Topics in Discrete Mathematics] Learn the power set \n\n►...
9. RSA - Lesson 10 [Topics in Discrete Mathematics] Learn about the RSA algorithm \n\n►...
16. MarkovChain - Lesson 23 [Topics in Discrete Mathematics] A lesson on markov chains\n\n►...
21. LinearSearch - Lesson 22 [Topics in Discrete Mathematics] A lesson on linear search\n\n►...
An Introduction to Modern C++ 11 by example. This video series will also include videos on software engineering, and teach skills on how to become a well rounded computer scientist beyond just programming.