


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:
Learning C# - A Practical Approach Volume 2 1st
by Bruce Schurter
ISBN / ASIN: 9780996788816
You may purchase textbooks via the UC San Diego Bookstore.
Policies:
- No refunds after: 1/13/2025
Schedule:
Instructor:
Bruce Schurter, B.S., MCSD
.jpg)
Software Engineer, Intrusion, Inc.
Bruce Schurter is a software engineer specializing in Microsoft technologies, including: .NET, C#, ASP.NET and SQL Server. Additionally, Schurter is a web technology expert, using REST/Web API, HTML 5, CSS 3, JavaScript, jQuery and PHP. He earned his bachelor's degree in computer science from UNLV and has obtained MCSD certification from Microsoft. Schurter is the founder of Infinite Root Software Inc. and currently works for Intrusion Inc., a leading provider of network security and compliance solutions. Schurter has also authored the "Learning C# - A Practical Approach" series of text books.