Course
C# Programming
38 hours 50 minutes
Credits: Optional Learning
Description
This course teaches learners how to write and develop programs using the C# programming language, starting from core language fundamentals through to intermediate and advanced concepts. Learners build practical skills through a combination of interactive courses and hands-on labs covering data types, logic, object-oriented programming, collections, asynchronous programming, and more.
What Students Will Learn
Chapter 1: Fundamentals of C#
- C# Fundamentals
- C# Data Types and Variables
- C# Numbers
- C# Strings
- C# Logic
- C# Conditionals
- C# Conditionals Lab: Choose Your Own Adventure
- C# Arrays
- C# Arrays Lab: Space Mission Inventory
- C# Loops
- C# Loops Lab: Caesar Cipher
- C# Lists
- C# Methods
- C# Methods Lab: Architect Arithmetic
- C# Introduction to Classes (Abstraction)
- C# Encapsulation
- C# Encapsulation Lab: Dating Profile
Chapter 2: Intermediate C#
- C# Setting Up Development Environment
- C# Inheritance
- C# Inheritance Lab: Bibliographical Inheritance
- C# Polymorphism
- C# Interfaces
- C# Reference Fundamentals
- C# Object Class
- C# String, The Exception
- C# Enumerations
- C# Generics
- C# Collections
- C# Collections Lab: Library Management System
- C# Exceptions
- C# Exceptions Lab: Log File Processor
- C# Nullable Types
- C# Advanced Methods and Lambdas
- C# LINQ
- C# LINQ Lab: Programming Languages
- C# Delegates
- C# Events
- C# Asynchronous Programming
- C# Asynchronous Programming Lab: Asynchronous Recipes
- C# File I/O
- C# Iterators
Overall Learning Outcomes
- Write C# programs using core data types, variables, strings, numbers, and logical constructs
- Implement conditional logic, arrays, loops, and lists to control program flow and manage data
- Define and use C# methods and classes applying abstraction and encapsulation principles
- Set up a C# development environment and apply intermediate language features
- Implement inheritance, polymorphism, and interfaces in object-oriented C# programs
- Work with reference types, the object class, enumerations, generics, and collections
- Handle exceptions, nullable types, and advanced methods including lambdas
- Query and manipulate data using LINQ
- Implement delegates, events, and asynchronous programming patterns
- Work with file I/O and iterators for data processing and streaming scenarios

