CSE-40603
C# Programming II: Object-Oriented Programming
Modern C# Development: Object-Oriented Programming for AI-Driven Applications Take your C# skills to the next level and learn how modern applications — including AI-powered systems — are built.
In this course, you will master object-oriented programming and advanced C# features while applying them to real development scenarios.
You’ll learn how to design structured, scalable applications using classes, inheritance, interfaces, and design patterns, then explore how these same principles support AI development.
Through hands-on exercises, you will use C# to structure intelligent behaviors, work with ML.NET, and connect to cloud-based AI services, giving you practical experience building software that can analyze data, make predictions, and interact intelligently.
Whether you're planning a career in software development, automation, or AI-enhanced applications, this course will help you build strong C# foundations while preparing you for the future of intelligent software systems.
Course Highlights This course covers a broad range of topics to ensure you gain comprehensive knowledge of C# OOP concepts: Object-Oriented Foundations: Build and structure applications using classes, objects, properties, constructors, and core OOP principles.
Reusable & Flexible Code Design: Apply inheritance, polymorphism, and composition to architect scalable software systems.
Advanced C# Techniques: Work with interfaces, generics, pattern matching, exception handling, and other modern language features.
SOLID & Clean Architecture: Write maintainable, modular, and testable code using industry-standard design principles and dependency injection.
Creational Design Patterns: Use patterns like Singleton, Factory, Builder, and Prototype to improve object creation and system flexibility.
Structural Design Patterns: Apply patterns such as Adapter, Decorator, Composite, and Proxy to build modular and extensible application architectures.
Behavioral Design Patterns: Implement Strategy, Command, Observer, State, and other patterns to manage behavior, communication, and workflow logic.
Architectural Thinking & Problem-Solving: Learn how to choose and justify the right pattern or design approach for different scenarios.
AI-Powered C# Development: Use OOP to structure intelligent application behaviors, build ML.NET models, and integrate cloud AI services responsibly.
Course Benefits By the end of this course, you will be able to: Build applications using classes and objects in C# , organizing code the way real systems — like e-commerce platforms, booking systems, and business apps — are built.
Apply key OOP principles (encapsulation, abstraction, inheritance, polymorphism) to write clean, reusable, and scalable code used in professional software projects.
Model real-world problems effectively , choosing the right structure (composition vs. inheritance) for applications such as customer systems, inventory tools, or simple game logic.
Use advanced C# features confidently , including interfaces, generics, pattern matching, and custom exceptions to build more interactive and reliable applications.
Write maintainable and testable code using SOLID principles — preparing you to collaborate in real development teams and work on modern software systems.
Implement common design patterns used in industry to solve recurring software design challenges and improve architecture and maintainability.
Integrate AI capabilities into C# applications , from ML.NET predictions to connecting with cloud-based AI services, gaining experience with intelligent software development.
Credit earned may be applied toward an academic degree or professional credential, subject to the approval of the receiving institution(s).
Course Details and Next Steps Course Typically Offered: Online during Winter and Summer quarter Prerequisites: C# Programming I: Fundamentals of C# or equivalent experience.
Next steps: Upon completion of this course, consider taking C# Programming III: Advanced C# Programming to continue learning.
More information : Contact infotech@ucsd.edu to learn more about .NET Development with C# Certificate and course offerings.