Skip to Content
Course

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

This course covers a broad range of topics to ensure you gain comprehensive knowledge of C# OOP concepts:
  • 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

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

Online
3.00 units
$745.00

Course sessions

Closed

Section ID:

185702

Class type:

Online Asynchronous.

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:

No information available at this time.
Closed

Instructor: Bruce Schurter, B.S., MCSD

Bruce Schurter, B.S., MCSD

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.

Full Bio