PROG 10065 - Final Exam Review
Interactive App Development Winter 2026
Contents
Modules.................................................................................................................................................. 4
1. Absolute Fundamentals Review ..................................................................................................... 4
Class Relationships ......................................................................................................................... 4
UML Thinking Maps ........................................................................................................................ 5
Software Design Principles ............................................................................................................. 5
Development Methodology ........................................................................................................... 5
Debugging ...................................................................................................................................... 5
Managing Code with Git ................................................................................................................. 6
2. Interactive Application Design and Implementation ...................................................................... 7
Interactive Applications .................................................................................................................. 7
Multi-Platform Applications ........................................................................................................... 9
UI Design with XAML .................................................................................................................... 10
3. C# Programming Language Fundamentals ................................................................................... 11
.net Foundations .......................................................................................................................... 11
Types in Programming Languages ................................................................................................ 13
C# Programming with Types......................................................................................................... 14
C# Types ....................................................................................................................................... 16
Deriving New Types ...................................................................................................................... 18
Program Flow and Error Handling ................................................................................................ 18
Advanced C# Programming .......................................................................................................... 20
4. Software Design Principles ........................................................................................................... 23
Encapsulation (Information Hiding) ............................................................................................. 23
Separation of Concerns ................................................................................................................ 23
Design for Reuse ........................................................................................................................... 25
5. Data-Driven Application Development......................................................................................... 27
Arrays ........................................................................................................................................... 27
Organizing Arrays ......................................................................................................................... 28
Collections .................................................................................................................................... 29
, 6. Software Development Best Practices ......................................................................................... 30
Naming conventions ..................................................................................................................... 30
Code organization ........................................................................................................................ 30
Commenting ................................................................................................................................. 30
Defensive Programming ............................................................................................................... 30
Refactoring ................................................................................................................................... 30
Debugging .................................................................................................................................... 30
Exercises ............................................................................................................................................... 30
Dance Studio .................................................................................................................................... 30
GitHub Reference Repository https://github.com/sheridan-prog10065/dance-studio .............. 30
...................................................................................................................................................... 30
...................................................................................................................................................... 30
UI Design with XAML .................................................................................................................... 31
Hello C# World ................................................................................................................................. 31
GitHub Reference Repository https://github.com/ProfMStoica/HelloCSharpWorld.git ............. 31
...................................................................................................................................................... 31
...................................................................................................................................................... 31
C# Type Explorer .............................................................................................................................. 31
GitHub Reference Repository https://github.com/sheridan-prog10065/type-explorer.git ........ 31
...................................................................................................................................................... 31
UI Design with XAML .................................................................................................................... 32
Card Game ........................................................................................................................................ 32
GitHub Reference Repository https://github.com/sheridan-prog10065/card-game.git ............. 32
...................................................................................................................................................... 32
Arithmetic Calculator ....................................................................................................................... 32
GitHub Reference Repository https://github.com/sheridan-prog10065/arithmetic-calculator.git32
...................................................................................................................................................... 32
UI Design with XAML .................................................................................................................... 33
Rent Wheels ..................................................................................................................................... 33
GitHub Reference Repository https://github.com/sheridan-prog10065/rent-wheels.git ........... 33
...................................................................................................................................................... 33
...................................................................................................................................................... 33
UI Design with XAML .................................................................................................................... 34
Arrays and Collections Study ............................................................................................................ 34
, GitHub Reference Repository https://github.com/sheridan-prog10065/arrays-and-collections-
study.git ........................................................................................................................................ 34
...................................................................................................................................................... 34
Exam Structure ..................................................................................................................................... 35
Knowledge Section ........................................................................................................................... 35
~50 minutes, precise time to be announced in SLATE ................................................................. 35
Worth 50% of the overall exam weight ........................................................................................ 35
Assessment delivered in SLATE .................................................................................................... 35
Many types of questions .............................................................................................................. 35
May include application / coding questions ................................................................................. 35
How to prepare ............................................................................................................................ 35
Practical Section ............................................................................................................................... 36
Open Book .................................................................................................................................... 36
2 hours.......................................................................................................................................... 37
Starting and submission done via GitHub Classroom & SLATE..................................................... 37
Worth 50% of the overall exam weight ........................................................................................ 37
Consists of one program with many parts, similar to the structure you have seen in assignments
but simpler ................................................................................................................................... 37
Required Reading ................................................................................................................................. 39
Head First C#, 5th Edition [recommended] ...................................................................................... 39
Chapter 1: Start Building Apps with C#. Build something great fast. ........................................... 39
Chapter 2: Variables, Statements and Methods. Dive into C# Code. ........................................... 39
Chapter 3: Namespaces and Classes. Organizing your code. ....................................................... 39
Chapter 4: Data, Types, Objects, and References. Managing your app's data. ............................ 39
Chapter 5: Encapsulation. How objects keep their Secrets. ......................................................... 39
Chapter 6: Inheritance. Your object's family tree. ....................................................................... 39
Chapter 7: Interfaces, Casting and "is". Making classes keep their promises .............................. 39
Chapter 8. Enums and Collections. Organizing your data. ........................................................... 39
Chapter 11. Captain Amazing. The Death of the Object............................................................... 39
Chapter 12. Exception Handling. Putting out fires gets old .......................................................... 39
Introducing .NET MAUI [recommended] .......................................................................................... 39
Chapter 1: Introduction to .NET MAUI ......................................................................................... 39
Chapter 2: Building our first application ...................................................................................... 39
Chapter 3: The Fundamentals of .NET MAUI................................................................................ 39
, Code Complete, 2nd Edition [recommended].................................................................................. 39
Chapter 1: Welcome to Software Construction ........................................................................... 39
Chapter 6: Working Classes .......................................................................................................... 39
Chapter 7: High-Quality Routines ................................................................................................. 39
Chapter 8: Defensive Programming ............................................................................................. 39
Chapter 9: The Pseudocode Programming Process...................................................................... 39
Chapter 10: General Issues in Using Variables ............................................................................. 39
Chapter 11: The Power of Variables Names ................................................................................. 39
Chapter 12: Fundamental Data Types .......................................................................................... 39
Chapter 13: Unusual Data Types .................................................................................................. 39
Chapter 14: Organizing Straight-Line Code .................................................................................. 39
Chapter 15: Using Conditionals .................................................................................................... 40
Chapter 16: Controlling loops....................................................................................................... 40
Chapter 23: Debugging ................................................................................................................. 40
Chapter 24: Refactoring ............................................................................................................... 40
Chapter 31: Layout and Style ....................................................................................................... 40
Chapter 32: Self-Documenting Code ............................................................................................ 40
Modules
1. Absolute Fundamentals Review
Class Relationships
USES
UML name
UML Symbol
Code
HAS-A
UML name
UML Symbol
Code
Interactive App Development Winter 2026
Contents
Modules.................................................................................................................................................. 4
1. Absolute Fundamentals Review ..................................................................................................... 4
Class Relationships ......................................................................................................................... 4
UML Thinking Maps ........................................................................................................................ 5
Software Design Principles ............................................................................................................. 5
Development Methodology ........................................................................................................... 5
Debugging ...................................................................................................................................... 5
Managing Code with Git ................................................................................................................. 6
2. Interactive Application Design and Implementation ...................................................................... 7
Interactive Applications .................................................................................................................. 7
Multi-Platform Applications ........................................................................................................... 9
UI Design with XAML .................................................................................................................... 10
3. C# Programming Language Fundamentals ................................................................................... 11
.net Foundations .......................................................................................................................... 11
Types in Programming Languages ................................................................................................ 13
C# Programming with Types......................................................................................................... 14
C# Types ....................................................................................................................................... 16
Deriving New Types ...................................................................................................................... 18
Program Flow and Error Handling ................................................................................................ 18
Advanced C# Programming .......................................................................................................... 20
4. Software Design Principles ........................................................................................................... 23
Encapsulation (Information Hiding) ............................................................................................. 23
Separation of Concerns ................................................................................................................ 23
Design for Reuse ........................................................................................................................... 25
5. Data-Driven Application Development......................................................................................... 27
Arrays ........................................................................................................................................... 27
Organizing Arrays ......................................................................................................................... 28
Collections .................................................................................................................................... 29
, 6. Software Development Best Practices ......................................................................................... 30
Naming conventions ..................................................................................................................... 30
Code organization ........................................................................................................................ 30
Commenting ................................................................................................................................. 30
Defensive Programming ............................................................................................................... 30
Refactoring ................................................................................................................................... 30
Debugging .................................................................................................................................... 30
Exercises ............................................................................................................................................... 30
Dance Studio .................................................................................................................................... 30
GitHub Reference Repository https://github.com/sheridan-prog10065/dance-studio .............. 30
...................................................................................................................................................... 30
...................................................................................................................................................... 30
UI Design with XAML .................................................................................................................... 31
Hello C# World ................................................................................................................................. 31
GitHub Reference Repository https://github.com/ProfMStoica/HelloCSharpWorld.git ............. 31
...................................................................................................................................................... 31
...................................................................................................................................................... 31
C# Type Explorer .............................................................................................................................. 31
GitHub Reference Repository https://github.com/sheridan-prog10065/type-explorer.git ........ 31
...................................................................................................................................................... 31
UI Design with XAML .................................................................................................................... 32
Card Game ........................................................................................................................................ 32
GitHub Reference Repository https://github.com/sheridan-prog10065/card-game.git ............. 32
...................................................................................................................................................... 32
Arithmetic Calculator ....................................................................................................................... 32
GitHub Reference Repository https://github.com/sheridan-prog10065/arithmetic-calculator.git32
...................................................................................................................................................... 32
UI Design with XAML .................................................................................................................... 33
Rent Wheels ..................................................................................................................................... 33
GitHub Reference Repository https://github.com/sheridan-prog10065/rent-wheels.git ........... 33
...................................................................................................................................................... 33
...................................................................................................................................................... 33
UI Design with XAML .................................................................................................................... 34
Arrays and Collections Study ............................................................................................................ 34
, GitHub Reference Repository https://github.com/sheridan-prog10065/arrays-and-collections-
study.git ........................................................................................................................................ 34
...................................................................................................................................................... 34
Exam Structure ..................................................................................................................................... 35
Knowledge Section ........................................................................................................................... 35
~50 minutes, precise time to be announced in SLATE ................................................................. 35
Worth 50% of the overall exam weight ........................................................................................ 35
Assessment delivered in SLATE .................................................................................................... 35
Many types of questions .............................................................................................................. 35
May include application / coding questions ................................................................................. 35
How to prepare ............................................................................................................................ 35
Practical Section ............................................................................................................................... 36
Open Book .................................................................................................................................... 36
2 hours.......................................................................................................................................... 37
Starting and submission done via GitHub Classroom & SLATE..................................................... 37
Worth 50% of the overall exam weight ........................................................................................ 37
Consists of one program with many parts, similar to the structure you have seen in assignments
but simpler ................................................................................................................................... 37
Required Reading ................................................................................................................................. 39
Head First C#, 5th Edition [recommended] ...................................................................................... 39
Chapter 1: Start Building Apps with C#. Build something great fast. ........................................... 39
Chapter 2: Variables, Statements and Methods. Dive into C# Code. ........................................... 39
Chapter 3: Namespaces and Classes. Organizing your code. ....................................................... 39
Chapter 4: Data, Types, Objects, and References. Managing your app's data. ............................ 39
Chapter 5: Encapsulation. How objects keep their Secrets. ......................................................... 39
Chapter 6: Inheritance. Your object's family tree. ....................................................................... 39
Chapter 7: Interfaces, Casting and "is". Making classes keep their promises .............................. 39
Chapter 8. Enums and Collections. Organizing your data. ........................................................... 39
Chapter 11. Captain Amazing. The Death of the Object............................................................... 39
Chapter 12. Exception Handling. Putting out fires gets old .......................................................... 39
Introducing .NET MAUI [recommended] .......................................................................................... 39
Chapter 1: Introduction to .NET MAUI ......................................................................................... 39
Chapter 2: Building our first application ...................................................................................... 39
Chapter 3: The Fundamentals of .NET MAUI................................................................................ 39
, Code Complete, 2nd Edition [recommended].................................................................................. 39
Chapter 1: Welcome to Software Construction ........................................................................... 39
Chapter 6: Working Classes .......................................................................................................... 39
Chapter 7: High-Quality Routines ................................................................................................. 39
Chapter 8: Defensive Programming ............................................................................................. 39
Chapter 9: The Pseudocode Programming Process...................................................................... 39
Chapter 10: General Issues in Using Variables ............................................................................. 39
Chapter 11: The Power of Variables Names ................................................................................. 39
Chapter 12: Fundamental Data Types .......................................................................................... 39
Chapter 13: Unusual Data Types .................................................................................................. 39
Chapter 14: Organizing Straight-Line Code .................................................................................. 39
Chapter 15: Using Conditionals .................................................................................................... 40
Chapter 16: Controlling loops....................................................................................................... 40
Chapter 23: Debugging ................................................................................................................. 40
Chapter 24: Refactoring ............................................................................................................... 40
Chapter 31: Layout and Style ....................................................................................................... 40
Chapter 32: Self-Documenting Code ............................................................................................ 40
Modules
1. Absolute Fundamentals Review
Class Relationships
USES
UML name
UML Symbol
Code
HAS-A
UML name
UML Symbol
Code