C# Programming II: Object-Oriented Programming
CSE-40603
Mastering object-oriented principles and core C# techniques for real-world applications
Take your C# programming skills to the next level with C# Programming II: Object-Oriented Programming. This course builds on the fundamentals of C# and delves deeper into Object-Oriented Programming (OOP) principles. Designed for learners with a basic understanding of C#, this course focuses on intermediate and advanced OOP concepts, preparing you to develop more robust, maintainable, and scalable applications. Whether you are aspiring to be a software developer or looking to enhance your existing skill set, this course will equip you with essential techniques to succeed in the world of software development.
Course Highlights
- Intermediate OOP: Composition, interfaces, and deconstruction techniques to structure classes and manage data.
- Advanced OOP: Inheritance, polymorphism, method overrides, advanced class behaviors (virtual, abstract, sealed), Operator overloading, conversions, and extension methods for enhancing class functionality.
- Assemblies and Libraries: Understanding assembly architecture and creating/using assemblies for modular code.
- Design Patterns: Key design patterns: creational, structural, and behavioral to improve software architecture.
- I/O and Serialization: Working with configuration files, file management, and data serialization.
- Software Reliability: Implementing unit testing and validation for reliable, bug-free code.
- Utility Classes: Utilizing collections, mathematical operations, and random number generation.
Course Benefits
By completing this course, you will:- Master advanced OOP concepts: Apply inheritance, polymorphism, and design patterns to create efficient, scalable applications in real-world scenarios, from enterprise software to mobile app development.
- Structure your applications for maintainability: Learn how to design and implement modular systems using assemblies and libraries, skills critical in developing complex, multi-tiered software used in businesses and organizations.
- Gain hands-on experience with I/O operations and serialization: Manage files, directories, and data serialization—key tasks for applications involving databases, file systems, or cloud storage.
- Build reliable, bug-free software: Implement unit testing and validation techniques to ensure your code is robust, a requirement for developing professional-grade software in industries such as finance, healthcare, and e-commerce.
- Leverage utility classes: Work with collections, mathematical functions, and random number generation to enhance applications such as gaming systems, statistical software, and data-driven platforms.
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 to continue learning.
- More information: Contact infotech@ucsd.edu to learn more about C# Programming Certificate and course offerings.
Who Should Take This Course
This course is ideal for:
- Intermediate C# Programmers: If you have already mastered the basics of C# and want to move into more advanced topics, this course will help you sharpen your skills.
- Software Developers: Those seeking to expand their knowledge of Object-Oriented Programming and C# to build more scalable, efficient applications.
- Tech Enthusiasts: Individuals passionate about coding who want to deepen their understanding of modern programming principles and best practices.
- Career Changers: If you are transitioning into software development, this course provides the technical depth needed to stand out in a competitive job market.
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.