Western Governors University

C968: Software I – C#

A study guide to WGU's C968, the C# course on class design, exception handling and object-oriented principles for business software.

Updated October 2026 · 5 min read

C968 Software I – C# is a Western Governors University course that builds object-oriented programming skill in C# and opens the C# sequence of WGU's software program.

WGU describes the course as building object-oriented programming expertise and introducing new tools for C# application development. You learn about and put into action class design, exception handling and other object-oriented principles and constructs to develop software that meets business requirements.

The challenge is moving from small exercises to a complete application. Classes, user interface, validation and error handling all have to work together, and evaluators check that every requirement in the task is met.

Course at a Glance

ItemDetails
UniversityWestern Governors University (WGU)
Course codeC968
LevelUndergraduate, competency-based
LanguageC# (.NET)
Followed byC969 Software II – Advanced C#
Typical workBuilding a working application to a set of business requirements

What C968 Covers

TopicIn plain language
Class designDeciding which classes exist, their properties, methods and relationships
EncapsulationKeeping data private and exposing it through properties and methods
Inheritance and abstractionShared base classes with specialized subclasses
PolymorphismTreating different subclasses through a common type
Exception handlingCatching and handling errors so the program does not crash
User interface and validationForms that check input and give clear messages

Key Concepts Explained

Abstract Classes and Inheritance

An abstract base class holds what all subclasses share and cannot be created on its own. Each subclass adds what makes it different.

Example: In a small library system, an abstract Item class has Id, Title and Price. Book adds Author; Dvd adds RunningTime. A single List<Item> can hold both, and code that lists titles works for every item type. That is polymorphism in action.

Validation and Exception Handling

Two layers protect an application. Validation checks input before it is used; exception handling deals with problems that still occur.

Example: Instead of int.Parse(txtQty.Text), which throws if the box is empty, use int.TryParse(txtQty.Text, out int qty) and show a message if it fails. Then check business rules, such as minimum not exceeding maximum, before saving. Wrap risky operations in try and catch blocks that show a helpful message instead of crashing.

Data Binding

In Windows desktop applications, binding a grid to a collection such as BindingList<T> keeps the display in sync when items are added or removed, which saves manual refresh code.

Planning the Application Before Coding

Strong C968 work starts on paper. List every requirement in the task, then decide which class, form or method meets each one. A simple class diagram shows properties, methods and inheritance at a glance and prevents rework later.

Plan the user flows too: add, modify, delete and search, plus what happens with invalid input, empty results and confirmation before deleting. Many returned submissions fail on these small behaviors rather than on the main logic.

The Four OOP Principles in One View

PrincipleWhat it meansWhere it shows in an app
EncapsulationHide data behind propertiesPrivate fields, public properties with checks
InheritanceReuse a base classSubclasses sharing common fields
PolymorphismOne interface, many formsA list of base types holding subclasses
AbstractionExpose only what is neededAbstract classes and interfaces

Being able to point to each principle in your own code helps if the task asks you to explain your design. It also helps you answer the question evaluators implicitly ask: does the structure follow from the requirements, or was it improvized?

Typical Work and How to Approach It

ElementWhat it testsHow to approach it
Class structureOOP designMatch classes to the requirements exactly
Forms and controlsUI developmentLabel clearly and keep behavior consistent
Input validationRobustnessTest every field with bad and empty values
Exception handlingError controlCatch specific exceptions with clear messages

Where Students Get Stuck

Study Tips for C968

How We Help with C968

Send the task instructions, rubric, your project and any evaluator comments. A C# tutor explains object-oriented design, walks through your code, helps you find and fix bugs, and shows how to validate input and handle exceptions properly.

GradeEssays is independent of Western Governors University. We teach and review; the application you submit must be your own work under WGU's academic integrity rules, and we never log in to student accounts. Revisions within the scope of your original request are free.

Get Your C968 Code Working

Share your task, code and evaluator notes. A C# developer explains the issues and walks you through fixes.

Start My C968 Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What does C968 cover?

Object-oriented programming in C#: class design, exception handling and other OOP principles used to build software that meets business requirements.

Do I need prior programming experience?

Yes. The course assumes foundational object-oriented programming knowledge from earlier courses.

What is the difference between validation and exception handling?

Validation checks input before it is used; exception handling deals with errors that still happen at run time.

Why use an abstract class?

It holds shared properties and behavior for related subclasses and prevents creating a generic object that makes no sense on its own.

Can you help me debug my C968 project?

Yes. We explain what is going wrong and how to fix it, so you can complete the work yourself.

Is GradeEssays affiliated with WGU?

No. We are independent of Western Governors University.