❔ C# Learning roadmap
Good day guys!
I have an experience with programming (Pascal,c++) and I used some C# in Unity but it is beginner stuff.
Right now, I want to master C#, it is the language of everything for me, web apps, apps, software, security, u know the rest.
And I want to master C# first, before going to other platforms (ASP.NET, Unity, MAUI, ...)
And of course, I learned programming before by practice, I was sitting home and solving tasks for ~4-6 hours a day and it was and still so enjoyable.
Right now, I've got many learning resources,
-Book [C 9.0 in a Nutshell The Definitive Reference (Joseph Albahari)] of 2500 pages that has almost all theory with examples from basic syntax to complex stuff. (No practice)
-Some of you guys shared this [https://dotnet.microsoft.com/learn/videos] I see they have cool learning material but it is not everything in C# and still without practice.
As for practice, you can see in the picture below, I've got some websites for practicing and solving tasks, I don't know which ones are the best to be honest, but I want something with a lot of tasks from every topic, level and kind and tasks that also improves logic and analytic/algorithmic thinking not only testing the syntax.
So guys, briefly, how do you recommend me to go? (resources, sites...)
I am looking for a Roadmap to Master C# with full practice.
After that I want to go everywhere (Unity, MAUI, ASP...)
Thank you!
11 Replies
1. You cannot truly master a programming language, and it is even more difficult with C# as each new version introduces new features
2. Learning the fundamentals before moving to UI frameworks can be a good approach. However, I'd assume you can get through this stage quickly, as you are familiar with C++
3. Start experimenting with, e.g., WinForms. This UI framework is mature and relatively easy to use. It'll help you learn the async await patterns. Other modern frameworks can be overwhelming as they rely on Mvvm.
In my experience, the best way to learn is to define some small project. E.g. something that you need to automate, or could use to improve your quality of life/development/etc.
This way you have a goal, a vision to strive for. And with that you can research step by step what you need to achieve said goal. This practical approach is imo the best way to learn something, as you explore, experiment and, most importantly,.make mistakes. And we all know that we learn from mistakes
I believe that providing you with a strict roadmap might lead you into tutorial hell. As I mentioned above, you should first explore on your own.
But if you really want a roadmap, check this out: https://dev.to/roadmaps/c-developer-roadmap-4aib
DEV Community 👩💻👨💻
👨💻 C# developer roadmap
Roadmap to become C# developer It contains: C# syntax Basic programming skills Computer architectur...
You can find some quality beginner tutorials on YT by AngelSix. However, he never completed his C# mastery series
A very nice channel that covers performance and new features in C#: Nick Chapsas
Nick also has a video on C# dev roadmap, check it out
There's also Tim Corey, however, I personally don't like his content
@Deno Thank you very much for the prompt answer.
I have projects in mind but i thought that having project will cause me to learn stuff randomly depending on what i need at that moment of the project, it is not like "structured" learning path and it will have gaps.
What do you think?
And thank you, again :)))
Depends what suits your learning approach better. I don't mind having gaps in the beginning. But please dont be totally influenced by my strong opinions.
A structured learning path is a valid approach. I only see it as a limitation when you are starting out with a language and want to learn the fundamentals
Most importantly, I don't want another brave soul to fall into the pit of tutorial hell
tutorial hell is being confused about which tutorial to follow?
It is endlessly watching tutorials without any real progress.
Aha, got you, thanks man!
I would consider some of the video tutorials you recommended and following a roadmap and practicing topic by topic to grasp the concepts deeper. And apply them on a project
Sounds like the best of both worlds
Thanks mate ^_^
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.
Was this issue resolved? If so, run /close
- otherwise I will mark this as stale and this post will be archived until there is new activity.