This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Basic Programming - Online, On-Demand with Live Interactions
Chapter 0 - Getting Started
C00.01 - Magic Numbers (0:12)
C00.02 - Agenda (0:12)
C00.03 - Why This Course Was Created (2:09)
C00.04 - Making An Impact (1:49)
C00.05 - Addressing Common Mistakes (4:29)
C00.06 - Course Setup (1:35)
C00.07 - About The Course (5:14)
C00.08 - Course Structure (2:49)
C00.09 - Course Expectations - What We Cover (2:19)
C00.10 - Course Expectations - What We Don't Cover.mp4 (1:43)
C00.11 - Course Expectations - From Me (1:16)
C00.12 - Course Expectations - From You (2:29)
C00.13 - Reliable Tools For Taking Precious Notes (0:51)
C00.14 - Course Expectations - From You - Practice What You Learned (3:00)
C00.15 - Give Yourself Time To Grow (0:44)
C00.16 - Magic Numbers Explained (1:38)
C00.17 - What Does A Software Developer Do (0:40)
C00.18 - What To Expect From The Life Of A Software Developer (3:09)
C00.19 - Other Things To Take Into Consideration (2:58)
C00.20 - Software Development Real Life Memes (1:14)
C00.13 - Quiz
C00.14 - Slides
Chapter 1 - How do you eat an Elephant
C01.01 - Intro (0:32)
C01.02 - Computers (0:52)
C01.03 - What is Programming (3:23)
C01.04 - What is an Algorithm (3:04)
C01.05 - What is a Programming Language (1:43)
C01.06 - What is a Program (1:55)
C01.07 - How Does a Computer Run a Program (2:09)
C01.08 - Programming Process (3:39)
C01.09 - Coming Up With Solutions (3:04)
C01.10 - Exercise Problem (0:28)
C01.11 - Analysis (2:30)
C01.12 - Solutions (2:06)
C01.13 - Decomposition (2:24)
C01.14 - Why Use Decomposition (3:07)
C01.15 - Pitfalls (1:16)
C01.16 - How to Overcome Analysis Paralysis (3:39)
C01.17 - Choosing the Solution (1:00)
C01.18 - Solutions Assessment (2:36)
C01.19 - Choosing the Solution Recap (2:49)
C01.20 - Live Exercise (0:19)
C01.21 - Conclusion (2:42)
C01.22 - Homework (0:31)
C01.23 - Quiz
C01.24 - Slides
Chapter 2 - Eating the (Metaphorical) Elephant
C02.01 - Fluffy Requirements (3:28)
C02.02 - Simple Solutions (1:06)
C02.03 - Live Session (0:42)
C02.04 - Homework (0:05)
C02.05 - Conclusion (0:19)
C02.06 - Quiz
C02.07 - Slides
Chapter 3 - Flowcharts
C03.01 - Introduction (0:33)
C03.02 - Simple Diagrams (1:07)
C03.03 - Programming Process Recap (2:44)
C03.04 - Planning the Solution (1:09)
C03.05 - Flow Diagrams or Flowcharts (4:32)
C03.06 - Flowchart Visual Representation (0:59)
C03.07 - Flowchart of a Simple Algorithm (0:59)
C03.08 - Flowchart of an Intermediate Algorithm (2:56)
C03.09 - Flowchart of a Complex Algorithm and UML (1:22)
C03.10 - Flowchart Drawing Tools (1:48)
C03.11 - Drawing Your First Diagram (6:36)
C03.12 - Saving Your Diagram (0:39)
C03.13 - Load and Resume Work on Your Diagram (0:50)
C03.14 - Selecting Multiple Shapes (1:01)
C03.15 - Recreating the Simple Algorithm (4:51)
C03.16 - Recreating the Intermediate Algorithm (8:04)
C03.17 - Multiple Diagrams Same Meaning (5:15)
C03.18 - Live Session (1:41)
C03.19 - Conclusion (0:39)
C03.20 - Homework (0:03)
C03.21 - Quiz
C03.22 - Slides
Chapter 4 - Pseudocode
C04.01 - Introduction (0:41)
C04.02 - Software Development Overview Recap (0:38)
C04.03 - Programming Process Recap (0:33)
C04.04 - Coding the Solution - Where to Start (5:38)
C04.05 - Coding the Solution - How to Start (5:08)
C04.06 - What is Pseudocode and Why Use It (1:47)
C04.07 - How to Use Pseudocode (0:25)
C04.08 - Building Blocks (4:45)
C04.09 - Comments Actions and Variables (1:48)
C04.10 - Boolean Values and Simple If (1:59)
C04.11 - If With Else (0:59)
C04.12 - If With Extended Condition (1:04)
C04.13 - If With Multiple Conditions (0:27)
C04.14 - Code Formatting (2:46)
C04.15 - Loops (4:29)
C04.16 - Pseudocode - Simple Shower Example (0:28)
C04.17 - Pseudocode - Intermediate Shower Example (4:07)
C04.18 - From Pseudocode to Actual Source Code (1:22)
C04.19 - Greet User Flowchart (2:42)
C04.20 - Greet User Pseudocode (3:20)
C04.21 - Greet User Actual Source Code in C# (2:21)
C04.22 - Pseudocode vs. Source Code Comparison (0:58)
C04.23 - Next Steps Towards a Software Product (0:49)
C04.24 - Live Session (0:41)
C04.25 - Homework (0:04)
C04.26 - Quiz
C04.27 - Slides
Chapter 5 - Dive in Visual Studio
C05.01 - Introduction (1:16)
C05.02 - Visual Studio (3:18)
C05.03 - Common Project Types (2:40)
C05.04 - Download (0:39)
C05.05 - Install and Configure (2:24)
C05.06 - Hello World (0:32)
C05.07 - What is Console (1:07)
C05.08 - Create Console Application (0:57)
C05.09 - Graphical User Interface (0:39)
C05.10 - Zoom (0:15)
C05.11 - Coding Hello World (2:03)
C05.12 - Build (1:19)
C05.13 - Output (1:35)
C05.14 - Executing Program From Windows Explorer (0:27)
C05.15 - Navigation in Cosole (1:14)
C05.16 - Executing Program From Console (1:02)
C05.17 - Absolute Paths (0:15)
C05.18 - Relative Paths (1:36)
C05.19 - Windows is Case Insensitive (0:31)
C05.20 - More on Executing Program From Console (1:30)
C05.21 - Executing Program From Visual Studio (2:31)
C05.22 - Clean it up (0:49)
C05.23 - Error Identification (0:55)
C05.24 - Get Input From User (5:56)
C05.25 - Formatting is Ignored by Compiler (1:51)
C05.26 - Conclusion (0:12)
C05.27 - Homework
C05.28 - Quiz
C05.29 - Slides
Chapter 6 - Source Control
C06.01 - Introduction (1:46)
C06.02 - Agenda (0:24)
C06.03 - What is Source Control (1:21)
C06.04 - Why Use Source Control (2:05)
C06.05 - Source Control Flow (2:34)
C06.06 - Code Hosting Service (1:33)
C06.07 - Code Hosting Service Options (1:29)
C06.08 - Getting Started with GitHub (1:02)
C06.09 - Create Repository in GitHub (1:24)
C06.10 - Revision Technologies (0:53)
C06.11 - Getting Started with Git (1:00)
C06.12 - Git Init (1:56)
C06.13 - Git Clone (1:15)
C06.14 - Basic Terminology (0:57)
C06.15 - Git Status (1:21)
C06.16 - Git Add (1:39)
C06.17 -Staged and Unstaged Files (0:20)
C06.18 -Git Reset (0:39)
C06.19 -Git Commit (3:17)
C06.20 -Git Push (1:43)
C06.21 -Git Commands Overview (3:34)
C06.22 -Git Commands Another Perspective (1:59)
C06.23 -Visualizing Git Push (0:37)
C06.24 -Git Pull (2:00)
C06.25 -Visualizing Git Pull (0:31)
C06.26 -Repository History (0:57)
C06.27 -Git Fetch (1:28)
C06.28 - Hands On - Git Download and Install (0:54)
C06.29 - Hands On - Git Bash (0:41)
C06.30 - Hands On - Prepare Folder for Local Repository (1:18)
C06.31 - Hands On - Git Bash Navigation (1:14)
C06.32 - Hands On - Git Bash Open Directly to Repository (0:23)
C06.33 - Hands On - Git Init (1:35)
C06.34 - Hands On - Git Clone (0:59)
C06.35 - Hands On - Fix Double Folder Path (0:39)
C06.36 - Hands On - Local Repository vs Remote Repository (0:08)
C06.37 - Hands On - Git Status (0:44)
C06.38 - Hands On - Adding Files to Local Repository (1:05)
C06.39 - Hands On - Git Add (0:36)
C06.40 - Hands On - Git Reset (0:16)
C06.41 - Hands On - Prepare for Commit (1:50)
C06.42 - Hands On - Git Commit (1:19)
C06.43 - Hands On - Git Push (0:26)
C06.44 - Hands On - Compare Synced Repositories (0:43)
C06.45 - Hands On - Git Status for Synchronization Status (0:16)
C06.46 - Hands On - Git Commit Remaining File (1:12)
C06.47 - Hands On - Git Detect Changes to Existing Files (1:24)
C06.48 - Hands On - Git History of Repository (1:10)
C06.49 - Hands On - Simulate Change From Another Machine (1:19)
C06.50 - Hands On - Git Fetch (1:09)
C06.51 - Hands On - Git Pull (0:33)
C06.52 -Conclusion (0:44)
C06.53 - Homework
C06.54 - Quiz
C06.55 - Slides
Chapter 7 - More Git
C07.01 - Introduction (0:12)
C07.02 - Agenda (0:29)
C07.03 - Workflow Example (1:49)
C07.04 - Making It Better (0:43)
C07.05 - Branches (1:38)
C07.06 - Non Git Workflow (2:49)
C07.07 - A Story of Three Developers (2:59)
C07.08 - Git Workflow (1:56)
C07.09 - Develop Branch (1:24)
C07.10 - Feature Branch (3:36)
C07.11 - Release Branch (1:03)
C07.12 - Hotfix Branch (1:34)
C07.13 - Git Workfllow Recap (1:02)
C07.14 - Create a Branch (1:57)
C07.15 - Branch Managment - Merge (1:46)
C07.16 - Branch Managment - Rebase (2:08)
C07.17 - Branch Managment - Squash (2:06)
C07.18 - Branch Managment - Merge vs Rebase (0:58)
C07.19 - Branch Managment - The Horror (0:14)
C07.20 - Branch Managment - Reset (1:03)
C07.21 - Branch Managment - Clean (0:44)
C07.22 - Branch Managment - Delete Local Branch (0:29)
C07.23 - Branch Managment - Delete Remote Branch (0:31)
C07.24 - Branch Managment - When In Doubt Reclone (0:48)
C07.25 - Branch Managment - Pull Requests (1:16)
C07.26 - Other Tools (2:23)
C07.27 - Log (1:19)
C07.28 - Checkout Commit (1:21)
C07.29 - Git History and Visual Tools (0:19)
C07.30 - Source Tree - Download and Install (0:46)
C07.31 - Source Tree - Add Local Repository (0:26)
C07.32 - Source Tree - UI Overview (1:30)
C07.33 - Source Tree - Stage and Unstage Files (1:14)
C07.34 - Source Tree - Commit (0:41)
C07.35 - Source Tree - History Analysis (0:42)
C07.36 - Source Tree - Push (0:46)
C07.37 - Source Tree - History Analysis on Multiple Branches (1:45)
C07.38 - Source Tree - Compare Files From a Commit (1:27)
C07.39 - Source Tree - Create a New Branch (1:13)
C07.40 - Source Tree - Branch Switching on Local Repo (1:29)
C07.41 - Source Tree - Different Branch Evolution (1:33)
C07.42 - Source Tree - Branch Deletion (1:16)
C07.43 - WinMerge for File Comparison (1:22)
C07.44 - SourceTree Integration With WinMerge (1:23)
C07.45 - Prepare For Pull Request (3:38)
C07.46 - Create Pull Request (1:04)
C07.47 - Assign Pull Request To Collaborators (0:24)
C07.48 - Performing Code Review (1:31)
C07.49 - Next Steps After Code Review (0:12)
C07.50 - Merge (0:35)
C07.51 - Delete Feature Branch After Merge (0:18)
C07.52 - Merge Impact On History (0:35)
C07.53 - Delete Repo From GitHub (0:38)
C07.54 - Recreate Repo (0:17)
C07.55 - Delete Repo From Local Computer (0:19)
C07.56 - Re-Clone (0:24)
C07.57 - Prepare For Pull Request Again (1:54)
C07.58 - Create Pull Request Again (0:41)
C07.59 - Code Review Follow-Up Activities (0:42)
C07.60 - Pull Request Details (0:19)
C07.61 - Rebase (0:11)
C07.62 - More on Merge And Rebase (0:24)
C07.63 - Delete Feature Branch Again (0:05)
C07.64 - Rebase Impact On History (0:29)
C07.65 - Conclusion (0:42)
C07.66 - Homework
C07-67 - Quiz
C07-68 - Slides
Chapter 8 - Computer Architecture
C08.01 - Introduction (0:33)
C08.02 - Agenda (0:25)
C08.03 - Computer Architecture (2:32)
C08.04 - Computer Components (1:52)
C08.05 - One CPU One Core - Synchronous Processing (0:44)
C08.06 - One CPU One Core And HyperThreading - Asynchronous Processing (2:01)
C08.07 - One CPU More Cores - True Parallel Processing (0:55)
C08.08 - Multiple CPUs, More Cores - True Parallel Processing (0:45)
C08.09 - Procesing Visualization (1:45)
C08.10 - Programs (1:32)
C08.11 - Scripts (1:03)
C08.12 - Usages of Programs And Scripts (3:07)
C08.13 - Programs And Scripts Examples (1:02)
C08.14 - Processes (0:56)
C08.15 - Threads (0:18)
C08.16 - Processes And Threads Visualization (1:00)
C08.17 - Processes And Threads Comparison (0:47)
C08.18 - Resources (1:15)
C08.19 - Performance (0:53)
C08.20 - Task Manager (0:33)
C08.21 - SDK (0:45)
C08.22 - IDE (1:05)
C08.23 - Frameworks (1:06)
C08.24 - .NET Overview (0:32)
C08.25 - .NET Programming Languages (0:34)
C08.26 - .NET Components (1:05)
C08.27 - .NET Framewok (0:46)
C08.28 - CLR (0:51)
C08.29 - CLR Components (0:22)
C08.30 - CLS and MSIL with Managed Code (1:32)
C08.31 - CLS with Unmanaged Code (0:26)
C08.32 - CTS (0:20)
C08.33 - Value Types (0:50)
C08.34 - Stack Mechanism (1:21)
C08.35 - Reference Types (1:36)
C08.36 - Reference Types Perspective (0:16)
C08.37 - .NET Types Hands-On Example (2:36)
C08.38 - Reference Types Yet Another Perspective (0:30)
C08.39 - .NET Garbage Collector (1:08)
C08.40 - .NET Just In Time Compiler (4:01)
C08.41 - CLR Benefits (1:20)
C08.42 - Conclusion (0:10)
C08.43 - Homework
C08.44 - Quiz
C08.45 - Slides
Chapter 9 - .NET Framework Popular Project Types
C09.01 - Agenda (0:25)
C09.02 - Console App Recap (1:40)
C09.03 - The Bond Problem in a Console App (0:51)
C09.04 - The Console Bond Solution (2:45)
C09.05 - Debug And Release Configurations (3:27)
C09.06 - Windows Forms App (5:06)
C09.07 - First Windows Forms App (1:12)
C09.08 - Designer View Perspective (0:43)
C09.09 - Code View Perspective (0:18)
C09.10 - Adding a Button Control From Designer View (1:34)
C09.11 - Visual Studio Window Management (0:52)
C09.12 - Changing Button Properties From Designer (3:34)
C09.13 - Double Checking Selected Controls From Designer (0:54)
C09.14 - Changing The Button Control Name (0:33)
C09.15 - Changing The Form Control Name (1:09)
C09.16 - The Second Code View Perspective (3:08)
C09.17 - The Executable Output Of Windows Forms App (0:44)
C09.18 - Learning More From The Official Documentation (1:28)
C09.19 - Change Property At Runtime (1:38)
C09.20 - Create a Click Event From Designer (2:53)
C09.21 - Events From The Code Perspective (2:58)
C09.22 - Troubleshooting Broken Events (0:58)
C09.23 - Default Events (1:36)
C09.24 - Use Standard Naming Convention For Events (0:25)
C09.25 - The Windows Forms Bond Solution (5:13)
C09.26 - Differences Between Windows Forms And Console (0:31)
C09.27 - More Controls More Code In Form Designer (0:30)
C09.28 - Double Click Event On Label (1:29)
C09.29 - Creating Intuitive GUIs (0:25)
C09.30 - Class Library (1:06)
C09.31 - The Class Library Bond Solution (0:49)
C09.32 - Existing Code Analysis (0:47)
C09.33 - First Class Library Project (0:57)
C09.34 - Building Libraries (0:39)
C09.35 - Adding A Console App To Use Our Library (0:34)
C09.36 - Changing Startup Projects In A Solution (0:54)
C09.37 - Adding A Windows Forms App To Use Our Library (0:39)
C09.38 - Changing Startup Projects Again (0:33)
C09.39 - Debug Any Project (0:20)
C09.40 - Analyzing Existing Code To Make It Generic (0:52)
C09.41 - Building The Library (4:21)
C09.42 - Referencing The Library As A Project To The Console App (0:44)
C09.43 - Using The Library From The Console App (3:48)
C09.44 - Recreate The Windows Forms App (1:34)
C09.45 - Referencing The Library As A Project To The Windows Forms App (0:35)
C09.46 - Using The Library From The Windows Forms App (2:02)
C09.47 - Recap (0:43)
C09.48 - Referencing Libraries Using The Dll Files (2:11)
C09.49 - Using The Library From A Dll File (1:03)
C09.50 - Project Vs File Referenced Libraries (3:07)
C09.51 - Conclusion (0:12)
C09.52 - Homework
C09.53 - Quiz
C09.54 - Slides & Sources
Chapter 10 - Types And Operators
C10.01 - Agenda (0:45)
C10.02 - Keywords (2:12)
C10.03 - Code Organization (3:12)
C10.04 - Entry Points (0:31)
C10.05 - Comments (2:55)
C10.06 - Data Types (1:29)
C10.07 - Variables (1:15)
C10.08 - Numeric Types (1:39)
C10.09 - Float Type (0:58)
C10.10 - Double Type (0:44)
C10.11 - Decimal Type (0:47)
C10.12 - Arithmetic Operators (0:55)
C10.13 - Increment And Decrement (1:42)
C10.14 - Other Operators (1:22)
C10.15 - Boolean Types (1:00)
C10.16 - Conditional Logical Operators (2:06)
C10.17 - Multiple Statements (2:45)
C10.18 - Boolean Variables (1:41)
C10.19 - Char Type (0:15)
C10.20 - Escaping Special Characters (1:25)
C10.21 - ASCII (1:09)
C10.22 - String Type (1:00)
C10.23 - Type Conversions (2:40)
C10.24 - Conditionals (0:38)
C10.25 - Output Data To Provide Feedback (0:57)
C10.26 - Hands On Exercise (1:09)
C10.27 - Homework
C10.28 - Quiz
C10.29 - Slides
Chapter 11 - Loops And Functions
C11.01 - Agenda (0:09)
C11.02 - Console Logging (1:08)
C11.03 - Redirect To Log File (4:08)
C11.04 - Hands On - Append Operator (4:43)
C11.05 - Hands On - Replace Operator (0:49)
C11.06 - Logging To A File (0:40)
C11.07 - Hands On - Write And Append To A File (2:25)
C11.08 - Hands On - Write On New Lines (1:24)
C11.09 - Hands On - Absolute And Relative Paths (2:20)
C11.10 - Load Text From A File (0:30)
C11.11 - Hands On - Load File Contents Into Memory (1:55)
C11.12 - Check Filesize Before Loading Into Memory (0:27)
C11.13 - While Loop (2:31)
C11.14 - Do While Loop (0:38)
C11.15 - Hands On - While Loop (2:55)
C11.16 - For Loop (3:05)
C11.17 - Hands On - Loop Block Definition (3:12)
C11.18 - While Vs For - When To Use (0:50)
C11.19 - Loop Control - Break (0:50)
C11.20 - Hands On - Loop Break (2:01)
C11.21 - Loop Control - Continue (1:36)
C11.22 - Hands On - Loop Continue (0:41)
C11.23 - Loop Variable Names (1:24)
C11.24 - Functions Recap (0:37)
C11.25 - Why Use Custom Functions (1:01)
C11.26 - Creating Custom Functions (3:27)
C11.27 - Return From Void Functions (1:23)
C11.28 - Function Signature (0:32)
C11.29 - Signature Examples (2:06)
C11.30 - Naming Rules For Variables And Functions (0:56)
C11.31 - Function Types - Static Functions (1:20)
C11.32 - Function Types - Non-Static Functions (0:41)
C11.33 - Calling Functions (1:57)
C11.34 - Refactoring (2:30)
C11.35 - Hands On Session (0:32)
C11.36 - Conclusion (0:42)
C11.37 - Homework
C11.38 - Quiz
C11.39 - Slides
Chapter 12 - Arrays And Foreach Loop
C12.01 - Agenda (0:08)
C12.02 - Arrays Intro (1:02)
C12.03 - 1D Array Declaration (1:04)
C12.04 - 1D Array Set Values (1:41)
C12.05 - 1D Array Read Values (1:02)
C12.06 - 1D Array Already Known Examples (2:43)
C12.07 - 1D Array Other Examples (1:51)
C12.08 - 1D Array What To Pay Attention To (2:34)
C12.09 - 1D Array Hands On (4:12)
C12.10 - 2D Array (3:10)
C12.11 - 2D Array Hands On (3:48)
C12.12 - 2D Array Initialization Hands On (2:17)
C12.13 - Multidimensional Array (2:08)
C12.14 - Rank And Length (0:47)
C12.15 - Array With Uneven Elements (2:38)
C12.16 - Jagged Array (1:46)
C12.17 - Jagged Array Hands On (2:42)
C12.18 - Array Common Properties (0:15)
C12.19 - Array Common Operations (1:14)
C12.20 - 2D Array Common Properties Rank And Length (0:47)
C12.21 - Array Best Practices (1:08)
C12.22 - Foreach Loop (1:23)
C12.23 - Foreach Hands On (1:47)
C12.24 - Hands On Session (0:18)
C12.25 - Conclusion (0:25)
C12.26 - Homework
C12.27 - Quiz
C12.28 - Slides
Chapter 13 - Code Navigation And Debugging
C13.01 - Introduction (0:28)
C13.02 - Agenda (0:34)
C13.03 - Code Navigation (0:29)
C13.04 - Go To and Peek Definition (1:25)
C13.05 - Hands On - Practice Project Walkthrough (1:02)
C13.06 - Hands On - Go To Definition (0:31)
C13.07 - Hands On - Peek To Definition (0:31)
C13.08 - References (1:23)
C13.09 - Hands On - Find All References (0:59)
C13.10 - Hands On - Method Reference Count (0:25)
C13.11 - Go To All (0:57)
C13.12 - Hands On - Go To All (1:19)
C13.13 - Navigate Through The Methods In Same Class With The Dropdown (0:14)
C13.14 - Hands On - The Dropdown (0:28)
C13.15 - Back And Forward Buttons (0:49)
C13.16 - Hands On - Back And Forward Buttons (0:55)
C13.17 - Zoom In And Out (0:11)
C13.18 - Hands On - Zoom In And Out (0:13)
C13.19 - Highlight Usages Of Nearby Variables And Methods (0:11)
C13.20 - Hands On - Highlight Usages Of Nearby Variables And Methods (0:36)
C13.21 - Track Active Item In Solution Explorer (0:20)
C13.22 - Hands On - Track Active Item (1:19)
C13.23 - File Statuses (0:21)
C13.24 - Hands On - File Statuses (0:29)
C13.25 - Scrollbar Code Hints (0:25)
C13.26 - Tracking Changed Lines In A File (0:22)
C13.27 - Squiggly Lines (0:35)
C13.28 - Hands On - Scrollbar Code Hints (2:18)
C13.29 - Hands On - Cleaning Up Unused Namespaces (0:31)
C13.30 - Hands On - Tracking Changed Lines In A File (0:41)
C13.31 - What Is Debugging (0:19)
C13.32 - How To Start Debugging (1:11)
C13.33 - Debugging And Exceptions (2:35)
C13.34 - Breakpoints (1:30)
C13.35 - Hands On - Adding A Breakpoint (0:19)
C13.36 - Debugger Cursor Hits Breakpoint (0:35)
C13.37 - Hands On - Hitting The Breakpoint (0:37)
C13.38 - Continue Execution After Hitting A Breakpoint (1:16)
C13.39 - Hands On - Continue Execution Breakpoint Is Hit (0:22)
C13.40 - Hands On - Working With Multiple Breakpoints (1:35)
C13.41 - Delete, Disable And Enable Breakpoints (1:17)
C13.42 - Hands On - Deleting Breakpoints (0:17)
C13.43 - Hands On - Disable And Enable Existing Breakpoints (0:36)
C13.44 - Hands On - Delete All Breakpoints From The Solution (0:20)
C13.45 - Conditional Breakpoints (1:08)
C13.46 - Hands On - Adding Conditional Breakpoints (2:14)
C13.47 - Debugger Cursor And Step Over Or F10 (1:08)
C13.48 - Hands On - Control Code Execution With Step Over or F10 (3:53)
C13.49 - Debugger Cursor And Step Into Or F11 (1:01)
C13.50 - Hands On - Control Code Execution With Step Into or F11 (2:32)
C13.51 - Debugger Cursor Skip Code Execution (0:17)
C13.52 - Hands On - Skip Code Execution (1:18)
C13.53 - Debugger Cursor Re-Execute Code (0:24)
C13.54 - Hands On - Re-Execute Code (0:55)
C13.55 - Discovering How The Code Works (0:18)
C13.56 - Hands On - For Loop Visual Workflow (1:26)
C13.57 - Check Values Of Variables By Hovering Your Mouse Over Them (0:16)
C13.58 - Hands On - View Variable Values While Debugging (1:30)
C13.59 - Use Debugger To Understands What Does Not Work And Why (0:42)
C13.60 - Debug Windows (0:43)
C13.61 - Outpt Window (1:00)
C13.62 - Re-Opening Closed Debug Windows (0:23)
C13.63 - Hands On - Output Window (1:31)
C13.64 - Locals Window (0:19)
C13.65 - Hands On - Locals Window (1:15)
C13.66 - Watch Window (0:50)
C13.67 - Hands On - Watch Window (1:38)
C13.68 - Hands On - Changing Values During Debugging (1:10)
C13.69 - Immediate Window (0:58)
C13.70 - Hands On - Immediate Window (2:18)
C13.71 - Hands On - Debugger Conclusion (0:17)
C13.72 - Closed Debug Windows (0:19)
C13.73 - Final Considerations (0:35)
C13.74 - Rubber Duck Debugging Technique (0:52)
C13.75 - Hands On Session (0:07)
C13.76 - Conclusion (0:33)
C13.77 - Homework
C13.78 - Quiz
C13.79 - Slides & Sources
Chapters 14-17 - Problem Solving With Mob Programming
C14.01 - Introduction (0:13)
C14.02 - Agenda (0:13)
C14.03 - Problem Solving With Mob Programming (1:16)
C14.04 - Setup (0:59)
C14.05 - Conclusion (0:02)
C14.06 - Homework
C14.07 - Slides
Chapter 18 - Common Operations
C18.01 - Agenda (0:31)
C18.02 - Constants (0:53)
C18.03 - Switch (2:17)
C18.04 - Hands On - Switch (2:47)
C18.05 - Switch As An If (0:34)
C18.06 - Overflow (1:44)
C18.07 - Hands On - Overflow (1:42)
C18.08 - Random (1:29)
C18.09 - Hands On - Random (3:23)
C18.10 - Common String Search Operations (0:56)
C18.11 - Hands On - Common String Search Operations (4:06)
C18.12 - Common String Build Operations (0:45)
C18.13 - Hands On - Common String Build Operations (4:14)
C18.14 - Common String Transform Operations (0:33)
C18.15 - Hands On - Common String Transform Operations (2:33)
C18.16 - Boxing And Unboxing (1:53)
C18.17 - Boxing And Unboxing Visually (0:25)
C18.18 - Hands On - Boxing And Unboxing (1:43)
C18.19 - Nullable Types (1:36)
C18.20 - Nullable Types Common Properties (0:55)
C18.21 - Hands On - Nullable Types (4:07)
C18.22 - Nullable Types Shorthand Notation (0:28)
C18.23 - Hands On - Nullable Types Shorthand Notation (0:24)
C18.24 - As Operator (0:43)
C18.25 - Hands On - As Operator (2:18)
C18.26 - Is Operator (1:01)
C18.27 - Hands On - Is Operator (1:15)
C18.28 - Enums (0:57)
C18.29 - Enum Values (0:43)
C18.30 - Enum Example (1:32)
C18.31 - Hands On - Named Constants (2:37)
C18.32 - Hands On - Enums (4:00)
C18.33 - Homework
C18.34 - Quiz
C18.35 - Slides
Chapter 19 - Data Structures
C19.01 - Agenda (0:17)
C19.02 - Data Structures (0:34)
C19.03 - Lists (2:48)
C19.04 - List Building Operations (0:33)
C19.05 - List Building Operations - Hands On (7:53)
C19.06 - List Finding Operations (0:22)
C19.07 - List Finding Operations - Hands On (7:28)
C19.08 - List Other Common Operations (0:20)
C19.09 - List Other Common Operations - Hands On (2:05)
C19.10 - Queue (0:25)
C19.11 - Queue Common Operations (1:04)
C19.12 - Queue Common Operations - Hands On (4:56)
C19.13 - Stack (0:56)
C19.14 - Stack Common Operations (0:44)
C19.15 - Stack Common Operations - Hands On (3:36)
C19.16 - KeyValuePairs (1:14)
C19.17 - KeyValuePairs Common Operations (0:18)
C19.18 - KeyValuePairs Common Operations - Hands On (3:04)
C19.19 - Dictionary (0:36)
C19.20 - Dictionary Common Operations (0:52)
C19.21 - Dictionary Common Operations - Hands On (5:36)
C19.22 - Dictionary Replacement For If (0:55)
C19.23 - Dictionary Replacement For If - Hands On (1:54)
C19.24 - Dictionary Iteration - Hands On (1:14)
C19.25 - Hashset (0:34)
C19.26 - Hashset Common Operations (0:45)
C19.27 - Hashset Common Operations - Hands On (6:38)
C19.28 - Tuple (0:30)
C19.29 - Tuple Common Operations (0:31)
C19.30 - Tuple Common Operations - Hands On (4:34)
C19.31 - When To Use Data Structures (1:16)
C19.32 - Homework
C19.33 - Quiz
C19.34 - Slides & Sources
Chapter 20 - Object Oriented Programming And Abstraction
C20.01 - Introduction (0:53)
C20.02 - Agenda (0:24)
C20.03 - What is OOP (0:59)
C20.04 - Common OOP Definitions (2:46)
C20.05 - Procedural Programming Characteristics (1:24)
C20.06 - OOP Characteristics (0:54)
C20.07 - A Slightly Better Definition of OOP (1:04)
C20.08 - OOP Is About The Messaging Between Objects To Solve A Problem (0:20)
C20.09 - Why Use OOP (0:35)
C20.10 - OOP In Real Life (2:44)
C20.11 - Declaration Object Instance (2:07)
C20.12 - OOP Principles (0:29)
C20.13 - Abstraction (1:19)
C20.14 - How To Apply Abstraction (0:14)
C20.15 - Real Life Abstraction Example #1 (5:25)
C20.16 - Real Life Abstraction Example #2 (1:57)
C20.17 - Why Use Abstraction (1:42)
C20.18 - Managing Complexity (0:47)
C20.19 - Multiple Levels Of Abstraction (0:59)
C20.20 - Abstraction Conclusion (2:07)
C20.21 - Homework
C20.22 - Quiz
C20.23 - Slides
Chapter 21 - Encapsulation And CRC Cards
C21.01 - Agenda (0:41)
C21.02 - Object Anatomy - Methods and Data Members (1:04)
C21.03 - Hands-On - Declare An Object (2:25)
C21.04 - Hands-On - Adding State And Behavior (3:52)
C21.05 - Object Anatomy - Properties (0:53)
C21.06 - Hands-On - Properties (7:32)
C21.07 - Hands-On - Properties Vs. Data Members - Part 1 (0:29)
C21.08 - Object Anatomy - Constructors (1:22)
C21.09 - Object Anatomy - Static Constructors (0:49)
C21.10 - Hands-On - Constructors (2:25)
C21.11 - Object Anatomy - This Keyword (0:26)
C21.12 - Hands-On - Multiple Constructors And This Keyword (2:29)
C21.13 - Hands-On - Building Objects Using Multiple Constructors (2:57)
C21.14 - Hands-On - Read Only Parameters Via Constructors (0:38)
C21.15 - State And Behavior Of An Object (0:10)
C21.16 - Hands-On - Changing State Based On Behavior (3:34)
C21.17 - Hands-On - Conclusion (0:17)
C21.18 - Object Anatomy - Destructors (0:31)
C21.19 - OOP Principles Recap (0:23)
C21.20 - Encapsulation (1:45)
C21.21 - Access Modifiers (2:15)
C21.22 - Encapsulation Example #1 Walking From Point A To Point B (1:20)
C21.23 - Encapsulation Example #2 Car Engine Control (1:19)
C21.24 - Why Not Use Public Everywhere (1:02)
C21.25 - Hands On - Complexity Before Encapsulation (5:01)
C21.26 - Hands On - Applying Encapsulation With Private And Public Access Modifiers (5:36)
C21.27 - Hands On - Simplicity After Encapsulation (0:54)
C21.28 - Hands On - Adding A Driver Object To Collaborate With Our Car (5:11)
C21.29 - Hands On - Security Issues (3:09)
C21.30 - Hands On - Data Members Vs. Properties Part 2 (1:15)
C21.31 - Hands On - Internal Access Modifier (3:39)
C21.32 - Encapsulation Conclusions (0:57)
C21.33 - CRC Cards (1:42)
C21.34 - How To Use CRC Cards (1:01)
C21.35 - CRC Cards Templates (0:46)
C21.36 - Hands-On - Create A Better Code Design Using CRC Cards (14:10)
C21.37 - Homework
C21.38 - Quiz
C21.39 - Slides & Sources
Chapter 22 - Inheritance And Polymorphism
C22.01 - Agenda (0:12)
C22.02 - OOP Principles Recap (0:21)
C22.03 - Inheritance (0:45)
C22.04 - Extension Example (1:39)
C22.05 - Inheritance And Complexity (0:29)
C22.06 - A Visual Example (0:27)
C22.07 - A Practical Example (2:26)
C22.08 - Congrats On Applying Inheritance (0:17)
C22.09 - Other Inheritance Related Terms (0:35)
C22.10 - Why Use Inheritance (0:51)
C22.11 - Inheritance Vs Composition (1:38)
C22.12 - Applying Inheritance in C# (1:09)
C22.13 - Hands On - Creating A Base Class (5:52)
C22.14 - Hands On - Inheriting A Class (2:41)
C22.15 - Hands On - The Protected Access Modifier (2:23)
C22.16 - Hands On - Extending The Derived Class (5:08)
C22.17 - Hands On - Creating Another Derived Class (2:47)
C22.18 - Hands On - Using The Derived Class (9:16)
C22.19 - Hands On - Interchanging Derived Classes (1:09)
C22.20 - Hands On - Extending The Base Class (1:02)
C22.21 - Hands On - Testing Inheritance With The Is A Relationship (0:20)
C22.22 - Hands On - Composition With Has A Relationship (7:22)
C22.23 - Inheritance Conclusion (0:42)
C22.24 - Polymorphism (1:46)
C22.25 - Static Polymorphism (1:09)
C22.26 - Dynamic Polymorphism (2:35)
C22.27 - Overload Vs. Override Vs. Overwrite (0:51)
C22.28 - Hands On - Preparing For Polymorphism (5:55)
C22.29 - Hands On - Applying Static Polymorphism (8:59)
C22.30 - Hands On - Simplify Code With Dynamic Polymorphism (9:19)
C22.31 - Hands On - Recap (0:59)
C22.32 - Hands On - Using The Base Class (0:32)
C22.33 - Polymorphism Conclusion (1:00)
C22.34 - Homework
C22.35 - Quiz
C22.36 - Slides & Sources
Chapter 23 - Interfaces And Abstract Classes
C23.01 - Agenda (0:09)
C23.02 - Introduction To Interfaces (2:30)
C23.03 - More On Interfaces (5:07)
C23.04 - Why Use Interfaces (0:36)
C23.05 - How To Use Interfaces (4:08)
C23.06 - Other Interface Examples (0:44)
C23.07 - Interface Recap (2:49)
C23.08 - Dynamic Polymorphism With Interfaces (1:43)
C23.09 - Hands On - Dynamic Polymorphism With Interfaces (4:00)
C23.10 - Hands On - Takeaways (0:57)
C23.11 - Interfaces And Code Navigation (1:26)
C23.12 - Abstract Classes (0:34)
C23.13 - Why Use Abstract Classes (0:37)
C23.14 - How To Use Abstract Classes (1:50)
C23.15 - Hands On - Defining Abstract Classes (2:41)
C23.16 - Hands On - Instantiating Abstract Classes (0:38)
C23.17 - Hands On - Using Abstract Classes In Derived Classes (5:07)
C23.18 - Interfaces Vs Abstract Classes (0:41)
C23.19 - Hands On - Abstract Classes Recap (0:45)
C23.20 - The Sealed Keyword (1:05)
C23.21 - Hands On - The Sealed Keyword On Classes (0:41)
C23.22 - Hands On - The Sealed Keyword On Methods (2:00)
C23.23 - Hands On - The Sealed Keyword Recap (0:11)
C23.24 - The New Keyword In A Method Context (1:50)
C23.25 - Hands On - The New Keyword In A Method Context (2:23)
C23.26 - Hands On - The Base Keyword (1:23)
C23.27 - Hands On - The Var Keyword (1:55)
C23.28 - Homework
C23.29 - Quiz
C23.30 - Slides & Sources
Chapters 24-28 Live OOP Exercises
C24.01 - Introduction (0:09)
C24.02 - Agenda (0:07)
C24.03 - Setup (1:52)
C24.04 - Generic Problems (0:03)
C24.05 - Homework
C25.06 - Slides
Chapter 29 - Exceptions And Error Handling
C29.01 - Introduction (0:11)
C29.02 - Agenda (0:23)
C29.03 - Streams (0:53)
C29.04 - Why Use Streams (1:56)
C29.05 - How To Use Streams (1:22)
C29.06. - Other Stream Examples (0:38)
C29.07. - Dispose (2:28)
C29.08 - Hands On - StreamReader And Dispose (3:28)
C29.09 - Syntactic Sugars (0:28)
C29.10 - Syntactic Sugar Examples (2:56)
C29.11 - Hands On - Using Syntactic Sugar (1:34)
C29.12 - Exceptions (1:00)
C29.13 - Exceptions As Objects (0:58)
C29.14 - Why Use Exceptions (1:28)
C29.15 - Using Exceptions (2:33)
C29.16 - Exceptions Pitfalls (1:04)
C29.17 - Hands On - Exceptions (3:49)
C29.18 - Hands On - Custom Exceptions (2:14)
C29.19 - Hands On - Understading Exceptions (2:14)
C29.20 - When To Throw Exceptions (0:27)
C29.21 - When Not To Throw Exceptions (1:05)
C29.22 - Exception Handling (0:55)
C29.23 - Exception Handling Example (1:16)
C29.24 - Exception Handling Example With Finally (1:34)
C29.25 - Try Catch Block Frequency (0:33)
C29.26 - Hands On - Exception Handling (4:16)
C29.27 - Hands On - Mixing It Up (1:51)
C29.28 - Hands On - Handling Errors At Different Levels (1:58)
C29.29 - Hands On - Don't Rely On Exceptions For Your Flows (0:31)
C29.30 - Handling Multiple Exceptions (1:43)
C29.31 - Unhandled Exceptions Ripple To Crash Your Program (0:27)
C29.32 - Hands On - Handling Multiple Exceptions (3:09)
C29.33 - Hands On - Unhandled Exceptions Ripple To Crash Your Program (1:12)
C29.34 - Hands On - Handling All Exceptions In A Generic Way (1:53)
C29.35 - Catch And Rethrow (0:46)
C29.36 - Hands On - Catch And Rethrow Same Exception (2:10)
C29.37 - Hands On - Keeping Your Code Readable (0:26)
C29.38 - Hands On - Catch And Throw Another Exception (2:52)
C29.39 - Hands On - Finally Block (1:57)
C29.40 - Hands On - Using Syntactic Sugar Enhanced (2:17)
C29.41 - Error Handling Pitfalls (2:52)
C29.42 - Homework
C29.43 - Quiz
C29.44 - Slides & Sources
Chapter 30 - Unit Tests And Integration Tests
C30.01 - Introduction (2:57)
C30.02 - Agebda (0:07)
C30.03 - What Are Unit Tests (1:32)
C30.04 - Unit Test States (2:08)
C30.05 - How To Start Writing Unit Tests (1:36)
C30.06 - Naming Convention - AAA Pattern (4:34)
C30.07 - Why Use Unit Tests (6:17)
C30.08 - Good Unit Tests (3:18)
C30.09 - Adding Unit Tests To Your Project (2:04)
C30.10 - Guidelines (4:23)
C30.11 - Hands-On - Creating the SUT (5:49)
C30.12 - Hands-On - Creating the Unit Tests (11:20)
C30.13 - Hands-On - Refactoring And Special Methods (7:28)
C30.14 - Manual Testing (0:51)
C30.15 - What Are Integration Tests (2:26)
C30.16 - Unit Tests vs Integration Tests (1:04)
C30.17 - Hands-On - Creating the SUT (17:25)
C30.18 - Hands-On - Creating the Integration Tests (6:35)
C30.19 - Hands-On - Time Execution Comparision Between Unit And Integration Tests (0:30)
C30.20 - Hands-On - Refactoring (1:47)
C30.21 - Hands-On - Further Improvements (0:17)
C30.22 - Counter Examples From My Experience (2:32)
C30.23 - How Many Tests To Write (1:28)
C30.24 - Conclusion (1:20)
C30.25 - Homework
C30.26 - Quiz
C30.27 - Slides And Sources
Chapter 31 - Test Driven Development
C31.01 - Agenda (0:17)
C31.02 - NuGet (4:00)
C31.03 - Hands On - NuGet Add Library (1:43)
C31.04 - Hands On - NuGet Packages (0:32)
C31.05 - Hands On - NuGet Uninstall (0:39)
C31.06 - Hands On - NuGet On Business Logic Project Not Just Unit Tests (0:35)
C31.07 - Mock Scenario (0:52)
C31.08 - Mocks (0:39)
C31.09 - Why Use Mocks (3:11)
C31.10 - How To Use Mocks (4:30)
C31.11 - Hands On - Creating The Interface Of Interest (1:20)
C31.12 - Hands On - Adding A Context Project (5:36)
C31.13 - Hands On - Adding The Moq Library Via NuGet (0:42)
C31.14 - Hands On - Adding Your First Mock To Your Unit Test (10:10)
C31.15 - Hands On - Adding More Tests With Mocks (4:00)
C31.16 - Hands On - Refactoring (4:03)
C31.17 - Test Driven Development Or TDD (1:09)
C31.18 - TDD Steps (1:44)
C31.19 - TDD Guidelines (3:05)
C31.20 - TDD Coding Events (1:14)
C31.21 - Hands On Session - TDD Katas (0:29)
C31.22 - Hands On - TDD Kata - Part 1 (19:43)
C31.23 - Hands On - TDD Kata - Part 2 (21:42)
C31.24 - TDD Conclusion (0:11)
C31.25 - Homework
C31.26 - Quiz
C31.27 - Slides And Sources
Chapters 32-33 - Live TDD Exercises
Chapter 32.01 - Agenda (0:08)
Chapter 32.02 - Setup (1:08)
Chapter 32.03 - Slides
Chapter 34 - Configurations And Serialization/Deserialization
C34.01 - Agenda (0:13)
C34.02 - Configurations (4:31)
C34.03 - XML Format (2:33)
C34.04 - XML Elements (1:51)
C34.05 - XML Root Element (0:34)
C34.06 - XML Declaration (0:27)
C34.07 - More XML Details (1:58)
C34.08 - App Config (0:59)
C34.09 - Web Config (0:15)
C34.10 - JSON Format (0:31)
C34.11 - JSON Examples (1:11)
C34.12 - JSON Vs XML (1:06)
C34.13 - Hands On - Configurations (7:35)
C34.14 - Serialization And Deserialization (0:47)
C34.15 - Serialization And Deserialization Examples (1:22)
C34.16 - Hands On - Serialization And Deserialization (5:09)
C34.17 - Intro To Design Patterns (1:59)
C34.18 - Design Patterns Recommendations (1:32)
C34.19 - Repository Pattern (2:01)
C34.20 - Repository Pattern Code Sample (3:03)
C34.21 - Repository Pattern Conclusion (0:16)
C34.22 - Singleton (Anti)Pattern (3:04)
C34.23 - Homework
C34.24 - Quiz
C34.25 - Slides And Sources
Chapter 35 - Estimates And Soft Skills
C35.01 - Agenda (0:21)
C35.02 - About Software Estimates (0:53)
C35.03 - Estimates Vs Targets Vs Commitments (2:01)
C35.04 - Estimates Are Probabilities (1:48)
C35.05 - Definition Of Estimates (1:10)
C35.06 - Check Your Estimation Skills (2:34)
C35.07 - Underestimate Vs Overestimate (0:53)
C35.08 - Cone Of Uncertainty (2:00)
C35.09 - Estimation Techniques (7:10)
C35.10 - Which Estimation Technique To Use (1:45)
C35.11 - Things Usually Left Out Of Estimates (0:35)
C35.12 - Presenting An Estimate (4:55)
C35.13 - Improving Your Estimation Skills (1:04)
C35.14 - Google Like A Pro (2:21)
C35.15 - Soft Skills And Why Use Them (1:43)
C35.16 - Soft Skills Vs Hard Skills Vs Tech Skills (0:44)
C35.17 - How To Use Soft Skills (0:47)
C35.18 - Some Examples Of Soft Skills (1:10)
C35.19 - Soft Skills Recommendations (2:03)
C35.20 - Homework
C35.21 - Quiz
C35.22 - Slides
Chapter 36 - Clean Code And Way Forward
C36.01 - Agenda (0:13)
C36.02 - Clean Code (2:25)
C36.03 - Code Smells - Comments (0:43)
C36.04 - Code Smells - Methods (2:43)
C36.05 - Code Smells - Loops (0:48)
C36.06 - Code Smells - Classes (2:21)
C36.07 - Code Smells - Design (1:20)
C36.08 - Code Smells - Generic (3:59)
C36.09 - Principles - Separation of Concerns (0:46)
C36.10 - Principles - Cohesion (0:53)
C36.11 - Principles - Coupling (1:47)
C36.12 - Principles - DRY (0:28)
C36.13 - Principles - KISS (1:55)
C36.14 - Principles - YAGNI (0:40)
C36.15 - Clean Code Book Recommendations (0:56)
C36.16 - Way Forward (4:48)
C36.17 - Conclusion (1:01)
C36.18 - Live Session (0:08)
C36.19 - Homework (0:29)
C36.20 - Quiz
C36.21 - Slides
C13.63 - Hands On - Output Window
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock