Save for later

C# Intermediate

Whether you want to use C# to build web apps, mobile apps, desktop apps or games, understanding C# classes, interfaces and principles of object-oriented programming is crucial.

This course is the second part of Mosh's best-selling C# series and is all about classes, interfaces and object-oriented programming. In essence, you'll learn:

  • How to work with classes, constructors, fields, properties, methods and indexers
  • How to use encapsulation to reduce the impact of change
  • How to improve the robustness of your code
  • How to re-use code using inheritance and composition
  • Why composition is better than inheritance
  • How to build extensible applications using polymorphism
  • How to develop loosely-coupled, extensible and testable applications using interfaces

Why would you want to take this course?

The answer is simple: quality of teaching.

Mosh is a passionate software engineer with over 13 years of experience developing applications in C#. He is the author of several best-selling C# courses on Udemy and knows how to lead you through a series of baby steps in a logical way.

So, from the very beginning to the very end, you'll be confident that you'll be in good hands and watching every minute of the course, unlike the reading many free tutorials and videos, does not waste your precious time.

Each section is equipped with a balanced mix of theory and practice. At the end of each section you'll get exercises to master the concepts you learn in that section.

And one last reason: all videos are produced with high quality video/audio, to provide you the best learning experience.

I owe a lot of it to you because your courses have been May God bless you and your efforts to create high quality courses. This has really changed my life from working as a security guard and doing websites for free, now I am a professional." -Danish Jafri

"Your courses have given me the confidence to get out of my dead end job and apply for a full time coding job. I am very happy to say that I just finished the job interview and they gave me the job. " -Dan Farnell

"Outstanding quality. I have come to learn that all Mosh's courses are top notch. This course is no different. The content is beautifully designed, well organized with great examples, and delivered in a clear and concise manner (with great video and audio quality). I also loved that this course includes exercises. Fantastic stuff. " -Roger Sæle

"Love it. This guy definitely knows what he's talking about. He strives to make his courses as comprehensive as possible and he teaches you several tricks along the way." -Jeb Watson

"As with all of his courses his passion and love for programming is infectious. He does a great job of intermixing theory with hard examples and cautions with practicality. If you learn better by watching and examples then reading and theory this is a must watch to move beyond the learning the syntax of c#." -Michael Paul

"Excellent course. All of Mosh's courses are very much worth taking if you really want to learn C# in a professional way. Not only does Mosh clearly describe the syntax of the language and explain the language concepts, but he also constantly emphasizes the importance of good programming practices" -Tony Zampini

NET Framework in 2002). Mosh is a full-time developer and what you are going to learn in this course is the result of his day-to-day work as a hardcore programmer along with years of studying,

100% MONEY- Take the course, go through the lectures, do the exercises, and if you're not happy, ask for a refund within 30 days. All your money back, no questions asked.

So do you want to take your C# skills to the next level? Then take this course now and get started.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Udemy and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.5 based on 3,474 ratings
Length 6 total hours
Starts On Demand (Start anytime)
Cost $15
From Udemy
Instructor Mosh Hamedani
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Get a Reminder

Send to:

Similar Courses

What people are saying

object oriented programming

The course is a good introduction to classes and object oriented programming which the exercises help to re-enforce.

The instructor is very articulate in explaining the the concepts behind Object Oriented Programming with easy to follow practical examples!

Same as expected like Mosh's - "C# Basics for Beginners: Learn C# Fundamentals by Coding" The course is a good introduction to classes and object oriented programming which the exercises help to re-enforce.

I'm finally beginning to understand C# and Object Oriented Programming concepts.

Other than that, I found it extremely interesting and it has given me what I feel is a hugely improved understanding of key concepts in C# and object oriented programming.

Recommended for those who wish to learn to implement the core concepts of Object Oriented Programming.

Object oriented programming (OOP) is a tough paradigm to tackle, but he took care to explain how and why we use it.

Object oriented programming is explained in many details with concrete examples.

When I read about C# I always end up with questions related to object oriented programming as to why are things done, when should things be done, how things could be done better, etc.

Mosh has brought object oriented programming all together for me and made my understanding of it more clearer now.

This course help me really understand the implementation of the object oriented programming.

Excellent course, a real eye-opener for me on object oriented programming.

It has a great explanation on how to use the concepts of object oriented programming in C #.

The second part of Mosh's C# course cleared all the misunderstanding I had about object oriented programming.

Read more

visual studio

Many of the features shown already have an alternate implementation in Visual Studio.

My last (and least) complaint is the reliance on third party Visual Studio add-on ReSharper throughout the whole course.

The course is so far good but it would have been better if Most could zoom into code and not show the full screen .. this way practicing or matching your code alongside with visual studio would have been better.

Mezza stella in meno soltanto perché è un po' troppo breve (considerando anche il fatto che spesso nei tutorial in Visual Studio viene semplicemente ripetuto ciò che viene spiegato nella lezione immediatamente precedente), probabilmente si potevano aggiungere altri esercizi, revisioni e qualche quiz.

On another note - I know Mosh really loves the JetBrains ReSharper Visual Studio plugin and uses it all the time but, many of the refactoring/shortcuts are available in Visual Studio these days (e.g.

A bit more Visual Studio love (maybe onscreen subtitles for VS keyboard combos) would go a long way with us mere mortals ;-) This class was a good coverage about classes, interfaces, OCP and OOP.

Although he references a plug-in named ReSharper quite a bit in the videos, he also mentions how some things can be done using stock Visual Studio.

The only thing I don't like is the excessive use of external paid plugins for Visual Studio, but it's not a deal breaker since Mosh takes the time to explain how to do the process without the plugin, in case you decided not to pay 300$ to get Resharper for instance.

A lot of functionality of Resharper is now included as basic functionality in Visual Studio making it largely redundant, at least in so far as how it is being used in this course.

I found the course helpful at describing best practices for C# programming; however, I wished the instructor would spend a little less time referring to ReSharper and would instead focus on highlighting ways to code faster using just Visual Studio.

Magnifico curso de Visual Studio, eres genial tu manera de explicar es excelente, muchas gracias por este muy buen curso.

Magnificent course of Visual Studio, you are great your way of explaining is excellent, thank you very much for this very good course.

After explaining a concept (for example, abstract classes), he switches over to Visual Studio and writes simple programs that exemplify the concepts.

Could there be more on Visual Studio's features rather than ReSharper's?

Read more

step by step

Hi, the content is very interesting, and you got the OOP principles step by step.

Starts with brilliant explanation of Classes in section 2, goes step by step and then suddenly jumps to some unclear topics of section 4, then there's good section 5 and a total disaster in section 6.

Step by step am becoming a c# developer ) Just need more practice in real world Thank you Mosh again!

But other than that one lecture, every other lecture was well explained step by step and the structure of the course built on itself which was awesome as well.

All lessons are organized in a very high level, the teacher is professional and explains everything step by step in logic way.

Clear instructions from a highly qualified person who has developed his knowledge from ground up and delivers the content step by step in a very logical way.

Mosh has a great way of explaining each topic, teaching you step by step until you have mastered it.

Mosh goes step by step and makes sure that he teaches the most important aspects of C#.

Also, he should build a project step by step and show all classes and give a brief introduction and more details about project.

Great video quality, audio and step by step explanations.

I enjoyed the way Mosh correct a problem step by step.

I like how the instructor explained everything step by step, it is definitely useful for a beginner like me.

Very well presented, step by step approach.

good, comprehensible course highly recommended Step by step Mosh is driving us carefully towards greater knowledge.

Read more

real world application

Very good, very informative but if you could create a real world application as you did the sections it would help re-enforce the learning ie a simple to do system.

I think the most intimidating thing when starting to develop in real world applications is the fear that you are going to mess something up big time.

I found allot of the examples just made no sense in a real world application.

All topics were explained in simple terms with information on how they apply in real world applications.

Also using real world application helped a lot compared to just what a textbook has.

More importantly he doesn't get lost in details but gives a broad overview on how to use them in a real world application with concrete examples.

Every video had something new to show me and the real world applications described are really helping understand the concepts!!!

Covers the material in a very clear manner and with real world application.

The delivery was at the right pace to keep me engaged and I feel the way the topics are discussed have allowed me to retain the information well and helps me think about where to apply the concepts in the real world applications I deal with.

He related with real world applications thats good.. but should be more responsive.

Though feeling restless to know how to apply all these in real world applications.

Read more

anyone wanting to learn

I highly recommend this course for anyone wanting to learn object oriented programming.

The course starts to get difficult pretty quickly after successfully completing C# Fundamentals without practice in the meantime it is hard to follow the speed of the lectures Looking for make, my code more clean, short and secure and this course has those elements, that are very important and real world app thank you Mosh I would say its an eye opener for anyone wanting to learn c# more.

Other than that I would highly recommend this series of courses to anyone wanting to learn C#.

He's able to take complex matter and bring it down to a level were anyone wanting to learn how to use c# is able to learn.

Highly recommend this class for anyone wanting to learn about C# OOP concepts in a short time.

Highly recommend this course to anyone wanting to learn C# from a highly personable and engaging instructor that knows how to keep his students motivated.

Read more

loosely coupled

After taking the course I can see that there is a skill involved in developing loosely coupled and extensible software applications.

This is the course where people can learn all the crucial concepts and can write highly efficient, loosely coupled and clean code.

The course has given me enough to get started writing loosely coupled applications using Object Oriented concepts.

Some of the bad practices he illustrated were things I was currently doing in my code, and seeing the better way he presented in organizing the code to be more loosely coupled, extensible, BETTER, etc.

Mosh clearly explained how to create loosely coupled object oriented code, something I've been puzzling over for a long time.

Tells how to do loosely coupled applications using Interfaces, association relationship.

For example, even though I already knew what interfaces were, now I know how to use them to make loosely coupled code.

I got lots of insights in how C# functions, and how to think about design in order to get loosely coupled clean code every topic was very clear to me except for interfaces.

My best take away from this course, was to change my thinking and become a better "loosely coupled" designer than my previous methodologies.

Read more

well put together

Really well put together and simple.

The course was well put together.

Very Well put together, in order to provide in depth understanding of the subject.

Material very well put together and explained.

Really well put together.

I find this course to be very well put together and enjoy watching it and learning.

Very thorough and clear explanation on each concept Very well put together and a very competent lecturer.

Read more

loose coupling

The lesson explains loose coupling through unit testing, which is a tough topic on its own, and maybe wasn't the best choice as it takes the attention away from the lesson's real purpose: to explain loose coupling.

I have written many complex solutions in C#, yet still found it beneficial to review these concepts and learn some things I did not yet understand - especially subjects centered on loose coupling.

I found Mosh very engaging, knowledgeable and gave real world examples when explaining the concept of loose coupling.

I really liked the topic of loose coupling.

In my college experience (I'm sure I can speak for other students as well), interfaces, abstract classes, and similar topics were only briefly covered and now I clearly understand their importance in practice in regards to loose coupling!

I really like the idea of loose coupling and other such topics.

Clear and concise overview of oop Good real world examples One issue is that loose coupling/dependency injection overused - building hugely complicated code to accommodate every possible future scenario as opposed to building simple but easily refactored/extensible code as per app requirements.

Think emphasis should be on knowing how to do loose coupling but being able to judge when to use I've already bought all Mosh's courses because he is the best, all the content we are learning we apply in the real world and it is helping us being better developers.

Tight coupling vs loose coupling.

Had to go over it thrice to understand how Interfaces and subsequent loose coupling between classes lead to better testability.

i loved the way mosh used the example of animal class to explain about the loose coupling .

Read more

interfaces and unit testing

Great course for learning important standards and Etiquette for programming The topic on interfaces and unit testing introduced too many concepts together ... that module can probably be moved to the training course dedicated to unit testing.

Introduced interfaces and unit testing at the same time, which was confusing.

I liked it and understood everything until the lecture where interfaces and unit testing were introduced simultaneously.

The only part I thought was lacking was the video on interfaces and unit testing.

Read more

basics for beginners

I have already taken Mosh's "C# Basics for beginners" course and I just can't stop learning everything he has to offer.

steve An excellent continuation of the 1st part (C# Basics for Beginners) of the full C# course.

After having such a great time with C# Basics for Beginners I had to keep going.

After taking Mosh's C# Basics for Beginners course, I was excited to move on to this Intermediate course.

I have learned the basics for beginners and have successfully tackled the intermediate course with a clear understanding.

Read more

eye opener

The course was an eye opener for me, i'm gonna go through it again agree reading and practicing the topics that i have learnt..

It is been an eye opener and enhanced my C# Technical skills Good explanation of topics with examples and I Love the Exercises that you have given to do.....amazing....!!!!

The implementation of the interface, the open, close software design principle are eye openers for me.

was a huge eye opener and something I could immediately apply to my job.

Btw: The Students Code Review (Bonus Chapter) was a REALLY eye opener for me.

The sections on Composition were real eye openers.

The "Interfaces" section and student code reviews were real eye openers for me.

The course was fantastic -> eye opener!

Read more

half a star

Well done Mosh For me, this course loses half a star (unfairly) only because of my own lack of experience\understanding.

I keep half a star because as a review of the C# syntax is ok, the course deserves as much.

I do realise that interfaces is a fairly complicated topic, and I did learn a lot from the course overall, so I have decided to only deduct half a star for the one confusing lecture, and the slight oversaturation of Resharper mentions.

I dropped half a star due to sound; at times goes quiet.

Read more


An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Job Candidate $32k


Job Specialist 3 $47k

Base Job $57k

Logistics Job $58k

Seeking Job $60k

RN .7 D/E Job $62k

RN .6 N Job $62k

RN .6 E/N Job $62k

Specialist Job $65k

Seeking a job $69k

On the Job Trainer $75k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.5 based on 3,474 ratings
Length 6 total hours
Starts On Demand (Start anytime)
Cost $15
From Udemy
Instructor Mosh Hamedani
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now