C# Programming II: Object-Oriented Programming
CSE-40603
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
- 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.
Who Should Take This Course
- C# Developers with Basic Experience: If you have completed a beginner C# course or have equivalent experience, this course will deepen your understanding of object-oriented programming and advanced language features.
- Aspiring Software Engineers: Learn professional OOP design, SOLID principles, and design patterns used in real-world applications across business, web, gaming, and enterprise software.
- Students and Professionals Interested in AI: Explore how to integrate AI into C# applications using ML.NET and cloud-based AI APIs, preparing you to build intelligent and data-driven software.
- Career Switchers and Lifelong Learners: Anyone looking to strengthen programming skills, develop structured, maintainable code, and gain hands-on experience with modern C# and AI-enabled development.
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
No textbook required.
Policies:
- No refunds after: 1/19/2026
Schedule:
Instructor:
Riyad Mammadov, Ph.D.
Director of Applications Development, XDimensional Technologies
Riyad Mammadov is a seasoned IS professional with a track record of successful delivery of large-scale enterprise level distributed systems. With experience in energy, automotive and financial services sectors, he is currently working as director of applications development at XDimensional Technologies.