r/csharp • u/GoshaGox03 • 13h ago
What's the best way to develop your C# programming skills and prepare for the exam?
Hi all.
I'm currently studying to become a programmer and work mainly with C# and .NET. During my training, I have already encountered WinForms, LINQ, Web API, ASP.NET MVC, Entity Framework, SQL Server and CRUD operations.
I can do some projects based on the teacher's lessons, but I want to move beyond just repetition to actually understanding the code. I also use AI as a learning tool, but I don’t want to depend on it(at least I try do it alone), but I have an exam soon (At the end of October), so I want to not only pass it, but also better prepare myself for independent work.
Now I'm trying to figure out which way of learning will be more effective.
For example:
- Take a ready-made program or service, such as Steam, and figure out what parts its simplified version could consist of;
- Watch the lesson, and then close it and try to repeat the project yourself;
- Take a completed project and rewrite it from scratch without prompting;
- Specifically add new functions that were not included in the lesson;
Solve small problems separately on classes, collections, LINQ, CRUD and working with a database;
- Receive someone else's code with errors and try to fix it yourself;
- First, write the solution yourself, and only then compare it with the example.
I'm especially interested in how to properly use real-life applications as examples. I understand for myself that it is impossible to repeat Steam entirely for a beginner, but you can try to make a small training version: list of games, categories, search, user library, adding and deleting entries, authorization and saving data.
Would this approach be beneficial, or would it be better to focus on small, individual exercises first?
I would also like to understand what is more important to review before the C# exam. But right now I'm planning to check:
- Variables and data types;
- Conditions and cycles;
- Methods;
- Classes, objects, constructors and properties;
- Inheritance, interfaces and polymorphism;
- Lists and other collections;
- LINQ;
- exception handling;
- Working with files;
- async/await;
- CRUD;
- Entity Framework and database connection;
- Basics of ASP.NET MVC and Web API.
I would be grateful for your advice on the order of study. Particularly interesting is the opinion of people who have already gone through the stage when the code for the lesson is clear, but it is still difficult to write a similar solution completely independently.
I also have several teaching projects. What is more convenient to attach for analysis: a link to GitHub or a ZIP archive?
The main question is: what practical plan would you recommend for someone at my level to gradually move from repeating lessons to writing C# projects on their own?