Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microsoft

Advanced C# Language Features & Object-Oriented Programming

Microsoft via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course introduces learners to the fundamentals of programming with C#. You’ll gain hands-on experience writing, compiling, and executing C# code while exploring essential concepts like variables, data types, operators, control flow, and functions. By the end, you’ll have a strong foundation to build more complex applications and the confidence to begin solving real programming challenges. By the end of this course, you will be able to: - Write, compile, and execute basic C# programs - Use variables, data types, operators, and expressions effectively - Implement conditional logic and loops to control program flow - Create reusable functions for modular code

Syllabus

  • Advanced Control Flow and Methods
    • In this module, you will expand your programming capabilities by mastering advanced control flow structures that enable you to write more sophisticated and efficient programs. You'll learn to use various types of loops for repetitive tasks, apply jump statements to control program execution precisely, and create complex nested structures for handling multi-dimensional problems. Additionally, you'll discover how to organize your code into reusable methods, making your programs more modular, maintainable, and professional. By the end of this module, you'll be able to solve complex programming challenges that require iterative processing and structured code organization.
  • Object-Oriented Programming Foundations
    • In this module, you will transition from procedural programming to the powerful paradigm of object-oriented programming (OOP). You'll discover how to model real-world entities as objects and learn the fundamental principles that make OOP such a dominant approach in modern software development. Starting with the core concepts of classes and objects, you'll learn to create your own data types and understand the relationship between blueprints (classes) and instances (objects). You'll then master encapsulation, one of the four pillars of OOP, learning how to protect data integrity and create secure, maintainable class designs. Finally, you'll develop professional debugging skills specifically for object-oriented applications while learning to leverage AI assistance for code review and quality improvement. By the end of this module, you'll be thinking like an object-oriented programmer and creating well-designed, secure classes that form the foundation for robust applications.
  • Inheritance and Polymorphism
    • In this module, you will master two of the most powerful concepts in object-oriented programming that enable you to create flexible, maintainable, and extensible software systems. You'll learn how inheritance allows you to build upon existing code by creating parent-child relationships between classes, promoting code reuse and establishing clear hierarchical structures that mirror real-world relationships. You'll then explore polymorphism, which enables your programs to work with objects of different types through a common interface, creating systems that can be easily extended without modifying existing code. Additionally, you'll discover how abstraction through interfaces and abstract classes helps you design robust contracts that ensure consistent behavior while hiding implementation complexity. These advanced object-oriented concepts are essential for building enterprise-level applications that can evolve and scale over time. By the end of this module, you'll be able to design sophisticated class hierarchies, implement polymorphic behavior that processes different object types uniformly, and create flexible architectures using abstraction principles that support long-term software maintainability and extensibility.
  • Abstraction, Design Patterns, and AI-Enhanced Documentation
    • In this module, you will advance from implementing object-oriented programming concepts to mastering the sophisticated design principles and modern development practices that define professional software architecture. You'll learn advanced abstraction techniques that enable you to create flexible, maintainable systems by hiding implementation complexity behind well-designed interfaces and contracts. You'll explore established design patterns that provide proven solutions to common programming challenges, helping you recognize and implement architectural approaches used successfully across the software industry. Additionally, you'll discover how artificial intelligence is transforming professional development workflows, particularly in documentation generation and code quality analysis. These skills represent the intersection of traditional software engineering excellence and cutting-edge AI-enhanced development practices. By the end of this module, you'll be able to design sophisticated abstractions that support scalable architectures, recognize and apply industry-standard design patterns, and leverage AI assistance to generate comprehensive documentation and improve code quality—positioning you at the forefront of modern professional software development.
  • Hands-on Course Project: Simple Media Library System
    • In this final module, you’ll bring together all the object-oriented programming principles learned throughout the course to build a complete console-based Media Library Management System in C#. You’ll design and implement inheritance hierarchies, polymorphic behavior, encapsulated data validation, and abstracted interfaces to manage books, DVDs, and music albums. Through guided, hands-on practice, you’ll apply real-world OOP concepts such as class relationships, method overriding, and interface-based design. You’ll also integrate AI-assisted development tools to enhance your code structure, generate documentation, and improve code readability and maintainability. By completing this capstone project, you’ll demonstrate your ability to design scalable, maintainable systems using modern OOP practices—bridging conceptual understanding with practical implementation and professional software design standards.

Taught by

Microsoft

Reviews

Start your review of Advanced C# Language Features & Object-Oriented Programming

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.