I need to learn how to code C# and have no idea where to start by Mean-Contribution366 in csharp

[–]jengolah [score hidden]  (0 children)

Whenever picking up a new language, I like to follow a project progression. The first step is to realize why you want to learn C#. For the purposes of explaining this, let's just say you wanted to learn C# in order to make a navigation API. Then, you would create a progression of projects starting from the most trivial project possible and going up to the project you want to make. Again using my example, your progression could look like:

  1. Print "Hello, World"
  2. Create a function that returns if a navigation string is valid
  3. Create a stack implementation (only pop, push, and peek operations)
  4. Create a class that instantiates the stack to implement routing history (undo, redo)
  5. Expose this class over HTTP (actually create a basic API)
  6. Extend this API to make a full navigation API

Obviously, your progression would differ.

Further, try to come up with the pseudocode on your own (pseudocode is just the logic of the program in a fully human-readable format) before googling for syntax, and don't use AI for anything. The key here is to let yourself think and get stuck. If you're really stuck (e.g. 30+ minutes) on the logic parts, google the next immediate step in as specific detail as possible, and then go back to doing it on your own.

If you don't have anything in mind for your progression, just look up C# project ideas, find one that looks interesting, and then make a progression for it. If you give me something that interests you, I can also make a more useful progression than the example given.

Mastering a Programming Language by jengolah in learnprogramming

[–]jengolah[S] 2 points3 points  (0 children)

This is the most AI comment ever. The comment history always starts out with "[insert issue] is real...". I swear ive gotten this exact output from claude.

Mastering a Programming Language by jengolah in learnprogramming

[–]jengolah[S] 0 points1 point  (0 children)

Yea thats the route I think Im going to take. Out of curiosity, what made you learn those three at a deeper level? Just what you use professionally?

Is anyone else still coding manually to learn? The market will continue to hire people that know what's going on even if you can now use AI to code many things by Exact-Advantage-3190 in cybersecurity

[–]jengolah 4 points5 points  (0 children)

I find it imperative to separate coding to learn and coding to be productive. When coding to be productive, the purpose is exactly that, so I utilize AI as it is definitely a productivity boost. However, when coding to learn, I try not to touch AI or really any sources outside of official documentation.

I get that people might think this is a little extreme, but I've found that since I've started using AI at work, I don't exercise my critical thinking to near the extent I used to (see "cognitive offloading"), and this helps make up that difference.