Beginning Object-oriented Programming with C#
What you'll learn
- Understand why C# is organized the way it is
- Learn how to step from procedural to proper object-oriented design
- Construct larger classes out of smaller ones
- Combine behavior to construct complex features
Requirements
- Knowledge of any programming language (including C#) is a plus
Description
In this course, you will learn the basic principles of object-oriented programming, and then learn how to apply those principles to construct an operational and correct code using the C# programming language and .NET. As the course progresses, you will learn such programming concepts as objects, method resolution, polymorphism, object composition, class inheritance, object substitution, etc., but also the basic principles of object-oriented design and even project management, such as abstraction, dependency injection, open-closed principle, tell don't ask principle, the principles of agile software development and many more.
After completing this course, you will be qualified to continue learning the principles of object-oriented design, and to start developing applications that will be modeling different business domains.
This course differs from other similar courses in that it first devises the C# programming language from scratch, and the .NET Runtime that makes the object-oriented code run. Only after completing this task shall we step on to using the programming concepts to implement customer's requirements in C#.
The reason for such an extreme experiment is to teach the programmers that any object-oriented language is only a tool, which relies on a small set of operations that are already implemented for us - such as silently passing the this reference or resolving function addresses from the object reference at run time. I find great danger in writing code without understanding what happens when a piece of object-oriented code is taken for execution.
Who this course is for:
- Beginner C# developers curious about modern programming practices
- C# programmers who wish to improve their fundamental skills
Instructor
Zoran is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack. You can find him speaking at conferences and user groups, promoting object-oriented development style, clean coding practices and techniques that improve longevity of complex business applications. Since 2014, Zoran is constantly publishing video courses, explaining object-oriented modeling and design as the central element of application design and relating it to other development aspects, such as persistence, UI and system integration.