Home
Assignments
Programming Fundamentals
Programming Concepts 1
Programming Concepts 2
Programming Concepts 3
Object-Oriented Programming A
Object-Oriented Programming B
Object-Oriented Programming C
Object-Oriented Design A
Object-Oriented Design B
Object-Oriented Design C
Advanced .NET Programming A
Advanced .NET Programming B
Advanced .NET Programming C
Content
Programming Fundamentals
Programming Concepts 1
Programming Concepts 2
Programming Concepts 3
Object-Oriented Programming A
Object-Oriented Programming B
Object-Oriented Programming C
Advanced .NET Programming A
Advanced .NET Programming B
Advanced .NET Programming C
Topics
Glossary
Links
Canvas
Socrative
Feedback System
NTC Slack
NTC Email
Software Installations
Programming Concepts 3
Review
Programming Fundamentals
Programming Concepts 1
Programming Concepts 2
Chapter 3.1 - Validation
3.1.1 How to Avoid Using Hardcoded Values [3 minutes]
3.1.2 Validation Strategies (Last Updated: 7/20/2026)
3.1.3 Fail Fast Design (Last Updated: 7/20/2026)
3.1.4 Why We Use Validation (Last Updated: 7/20/2026)
3.1.5 Ways to Validate Data (Last Updated: 7/20/2026)
3.1.6 String Manipulation (Last Updated: 7/20/2026)
3.1.7 .Trim() (Last Updated: 7/20/2026)
3.1.8 .ToLower() (Last Updated: 7/20/2026)
3.1.9 Text Boxes (Last Updated: 7/20/2026)
3.1.10 Check Boxes (Last Updated: 7/20/2026)
Chapter 3.2 - Exception Handling
3.2.1 Try/Catch (Last Updated: 7/20/2026)
3.2.2 Throwing Exceptions (Last Updated: 7/20/2026)
3.2.3 Exception Design (Last Updated: 7/20/2026)
3.2.4 Common Exception Types (Last Updated: 7/20/2026)
3.2.5 Why Do We Have Exceptions? (Last Updated: 7/20/2026)
3.2.6 Survey of Exception Types (Last Updated: 7/20/2026)
3.2.7 Exceptions Catching Invalid Values (Last Updated: 7/20/2026)
3.2.8 Message Boxes (Last Updated: 7/20/2026)
3.2.9 Defensive Programming (Last Updated: 7/20/2026)
Chapter 3.3 - Enums
3.3.1 Enums (Last Updated: 7/20/2026)
3.3.2 Enums as Types (Last Updated: 7/20/2026)
3.3.3 Enums as Classes (Last Updated: 7/20/2026)
3.3.4 Text/Combo Boxes (Last Updated: 7/20/2026)
3.3.5 Replacing Magic Values (Last Updated: 7/20/2026)
3.3.6 Using Enums to Validate Information (Last Updated: 7/20/2026)
3.3.7 How Enums Prevent Invalid Values (Last Updated: 7/20/2026)
3.3.8 Enums in UML (Last Updated: 7/20/2026)
3.3.9 Enums in Sequence Diagrams (Last Updated: 7/20/2026)
Chapter 3.4 - Inheritance
3.4.1 Inheritance Connectors in UML [2 minutes]
3.4.2 Representing Inheritance in Object Diagrams [4 minutes]
3.4.3 Base Calls in Sequence Diagrams [7 minutes]
3.4.4 Understanding the Inheritance Tree [11 minutes]
3.4.5 Defining Inheritance [14 minutes]
3.4.6 Using Constructors with Inheritance [13 minutes]
3.4.7 How to Debug Inheritance [8 minutes]
3.4.8 How to Utilize the "Object" Class [7 minutes]
3.4.9 Using GetType() [7 minutes]
3.4.10 Virtual and Override [14 minutes]
3.4.11 Base Class Responsibilities [6 minutes]
3.4.12 Inheritance (Last Updated: 7/20/2026)
3.4.13 Parent/Child Classes (Last Updated: 7/20/2026)
3.4.14 What Is the Purpose of Inheritance? (Last Updated: 7/20/2026)
3.4.15 Composition vs Inheritance (Last Updated: 7/20/2026)
3.4.16 Inheritance Design (Last Updated: 7/20/2026)
3.4.17 Virtual/Overridden Methods in UML (Last Updated: 7/20/2026)
3.4.18 Virtual/Overridden Methods in Sequence Diagrams (Last Updated: 7/20/2026)
Chapter 3.5 - Abstract Classes
3.5.1 What Does an Abstract Class Mean? [2 minutes]
3.5.2 Abstract Classes [11 minutes]
3.5.3 Adding an Interface to Your Project [10 minutes]
3.5.4 Abstract Properties [1 minute]
3.5.5 Define and Use Abstract Methods [10 minutes]
3.5.6 How to use ToString() [8 minutes]
3.5.7 How to Downcast an Object [1 minute]
3.5.8 Why You Cannot Instantiate an Abstract Class (Last Updated: 7/20/2026)
3.5.9 Abstract Classes vs Interfaces (Last Updated: 7/20/2026)
3.5.10 Template Method Pattern (Last Updated: 7/20/2026)
Chapter 3.6 - Interfaces
3.6.1 Interfaces in UML [1 minute]
3.6.2 Defining Interfaces [1 minute]
3.6.3 Achieving Encapsulation Using Interfaces [5 minutes]
3.6.4 Implementing Interfaces [1 minute]
3.6.5 Multiple Interface Implementation [1 minute]
3.6.6 Interface-Based Design (Last Updated: 7/20/2026)
3.6.7 Interfaces as Contracts (Last Updated: 7/20/2026)
3.6.8 Multiple Objects Sharing the Same Behavior (Last Updated: 7/20/2026)
3.6.9 Interfaces vs Classes (Last Updated: 7/20/2026)
3.6.10 Dependency Inversion (Last Updated: 7/20/2026)
3.6.11 Interface Implementation Connectors in UML (Last Updated: 7/20/2026)
Chapter 3.7 - Polymorphism
3.7.1 Understanding Polymorphism [6 minutes]
3.7.2 How Interfaces Help with Polymorphism [12 minutes]
3.7.3 Upcasting and Downcasting [12 minutes]
3.7.4 Safe Casting [11 minutes]
3.7.5 Event Handlers [4 minutes]
3.7.6 Utilizing and Applying Polymorphism (Last Updated: 7/20/2026)
3.7.7 Polymorphism in Practice (Last Updated: 7/20/2026)
3.7.8 Real-World Polymorphism Examples (Last Updated: 7/20/2026)
3.7.9 Collections and Polymorphism (Last Updated: 7/20/2026)
3.7.10 Treating Different Objects the Same Way (Last Updated: 7/20/2026)
3.7.11 Refactoring (Last Updated: 7/20/2026)
3.7.12 Code Smells (Last Updated: 7/20/2026)
3.7.13 Software Architecture Basics (Last Updated: 7/20/2026)
3.7.14 Testing Your Code (Last Updated: 7/20/2026)
3.7.15 Event-Driven Programming (Last Updated: 7/20/2026)