Teaching C# - Basic and Advanced topics (that are must learn)
I will be making a learning guide for my workers who will start soon.
I am currently making a collection of all the topics that are good for beginners (who know at least 2 other programming languages)
And Advanced topics that are worth learning before starting to work. (Like design patterns, LINQ, Entity Framework, SOLID....)
I would love suggestions for what topics I should put most effort to in basics and advanced C#.
Thanks!
P.S Learning ifs and loops would be very easy and shouldn't take a lot of effort. In the basics I plan on mostly general topics like what is .Net and some general libraries and techniques
9 Replies
We work mostly on asp .net core api (backend applications)
Using Mongo and Rabbit for multiservicing.
Tasks and async/await will be very important
Absolutely, also adding events
Eh skip those
They are rarely used these days, and especially not in asp
They are in rabbit
Any more advanced topics you can think of?
How familiar are people with strong type systems?
If not very, then absolutely go into the details about ref Vs value types, how to avoid primitive obsession, creating wrapper types etc
Even if it isn't strictly needed, I'd advocate for a detour into functional programming to have a quick look at the benefits of immutability, favoring expressions over statements, pure methods, honest method signatures and functional error handling. Not because they will want to start using all of that, but because it exposes a way of thinking they wouldn't otherwise see, and the benefits of that can be directly ported over to an object oriented mindset.
I would say add authentification like oauth etc.
This can be programmed youre self or openId.
This said. Middleware could be a topic\
to be honest, Auth is not beginner friendly
udp: even for experienced devs it is pure madness :harold: