C# Advanced Topics: Prepare for Interviews

Prepare for Disappointment

Well it’s over… I finished the popular C# series that starts with the fundamentals and promises to prepare students for interviews after learning advanced concepts such as delegates and events. Now that I have completed C# Advanced Topics: Prepare for Interviews, here are my thoughts.

Who is the Course For?

If you’re unfamiliar with what C# or .NET even are then you might benefit from taking this course from the start with C# Basics for Beginners. If you’re familiar with the fundamentals, but unfamiliar with concepts such as interfaces, then you’re better off starting at the intermediate course, otherwise, you can check out the full curriculum below.


 

Course Curriculum

  • Exception Handling
  • Generics
  • Delegates
  • Events
  • Lambda Expressions
  • Extensions Methods
  • LINQ
  • Nullable Types
  • Dynamics
  • Asynchronous Programming with Async / Await

 

Where the previous two courses did a great job of showcasing real-world examples (minus any unneeded implementation to keep things focused), this course unfortunately falls flat on its face. Lectures feel just plain confusing most of the time. When explaining most concepts, including generics, the examples are already mostly written and break previous rules for proper naming conventions (or at least that is how it comes across with no context given). The author of strong opinions with the facts to back them up present in the rest of the series just isn’t there this time. While the theory coverage occasionally felt adequate, most notably the section on exception handling, the context that good examples provide wasn’t always provided this time around.

“Lectures feel just plain confusing most of the time.”

It is evident from the QA that people are really struggling here. A complaint about needing to re-watch videos was definitely valid for my experience. While I found the first two courses occasionally confusing, the advanced course is almost never clear. Sure, this course is targeted at intermediate users who don’t need every little detail explained, but the lectures feel so disorganized and dull that it can be difficult to make it through any video without rewinding at least once. Yes, finishing even one video is an absolute dragoon. No book or course is free from these moments, but the course is so arduous to advance through as few lectures are ever clear.

If you’ve completed the series up to this chapter, you will be sadly disappointed by the final course. Moreover, while the beginner and intermediate course are great the overall series just doesn’t fulfill the amount of learning that’s necessary to go from zero to hero. What a hornswoggle. The conclusion loses the pace, the context, the great analogies, exercises, and everything that the author used to define a great foundation of programming prowess. The walls come crashing down here. I cannot recommend this course even to the most dedicated.

I’d also like to mention that while it was a great decision to introduce unit testing in the intermediate course, it really should have been maintained throughout the series. It’s fine that the author decided to put unit testing into a separate course; however, why not both! Every time a concept is introduced why not do some relevant unit testing? There would clearly be plenty of room for even more unit testing in a separate course. To introduce the concept early on and then abandon it is telling students it’s not that important a concept. Furthermore, a few too many concepts in the series are guilty of this isolation issue. Comprehensive examples and exercises are an absolute must.


Another Perspective

While Udemy can be great for learning niche topics or doing a crash course to prepare for interviews, they don’t replace the level of education that comes with going to a real University. If you’re looking for an alternative to this series, I highly recommend Coursera. They offer what is in my opinion the best online academic environment from actual universities. You can enroll in full specializations, and now even a Master’s in Computer Science. While many or possibly most companies still require an actual degree, other companies respect the skills over the piece of paper. If you can’t afford their pricing, they offer financial aid (under the Enroll button look for Apply for financial Aid). You can find many serious courses here that require you to do actual work and even peer-reviewing work is often involved. A C# course that I’ve taken originally used the MonoGame engine, but has since been replace with a Unity specialization (for the better IMO). The original course and book are what I attribute to my foundation and respect for proper coding in C#. You can find my review for the original course here.


Summary

The C# series concludes in utter disappointment. While the coverage of the core concepts sometimes hit the right notes, it overall feels like a confusing mess that will have students re-watching videos over and over while scratching their heads. Gone are the practice exercises, summaries, and context that came with the beginner and intermediate course.


Pros

  • Section on exception handling
  • Source code

Cons

  • Examples missing context
  • No exercises
  • No summaries
  • Only 3 hours of content

RatingCircle5


Links

The C# series – Beginner C#Intermediate C#Advanced C#

More from the author – Link

Exercises – https://www.w3resource.com/csharp-exercises/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s