Learning C# for Games Developers

Ronin Storm

Administrator
Staff member
I remember thatbloke mentioning that he'd be interested if this came up so I figured that I'd let you all know what mad scheme I'm cooking up...

I'm getting on well with the [thread=5846]Learning C++ for Games Developers[/thread] workshop over at GameDev.net but, for the moment, I'm finding I don't want to push more than a chapter of C++ past my brain in a week; I'm finding that my hind-brain spends a week cooking what I've learned. However, I'm also finding that my C# knowledge has some holes. I learnt C# organically so that's not surprising. An interview I had this week has prompted me to fill these holes.

So, I'm going to launch into doing GameDev.net's C# Workshop in parallel to the C++ one, quite possibly at a higher pace too as I'm much more familiar with C# and the .NET Framework. I'm not dropping C++, even though some of the mechanisms are clearly quite rough in that generation (and beautifully smoothed when they make it to C#).

From the workshop introduction:

GameDev.net C# Workshop Introduction said:
This workshop is designed to aid people in their journey to learn beginning C#. This workshop is targeted at highly motivated individuals who are interested in learning C# or who have attempted to learn C# in the past, but found that without sufficient support and mentoring they were unable to connect all the pieces of this highly complex but powerful programming language. This is a 'guided' self-teaching C# workshop. Each student is responsible for taking the time to read the material and learn the information. The community and tutors that arise out of this workshop are here for making the learning process run more smoothly, but are not obligated to baby-sit a person's progress. Because everyone will be working from the same materials, students may find it easier to get answers to the specific questions they might have. There is no minimum age requirement, and there is no previous programming experience required.

Now, they'd got themselves sorted out much better for this workshop so I'll not be posting a chapter list myself. Instead, visit the C# Workshop forum to see the specific sub-forums for each week, including ones for the projects, and I'll just post where I've got up to now and then.

It's worth noting that they changed core texts two weeks into the course, which might provide a small amount of confusion early on. I'll report back when I know more. However, you'll be pleased to know that all the course texts ([1], [2], [3]) are available freely online and, once again, they recommend using the freely available Visual C# 2005 Express Edition.

So, anyone else interested in following along too?
 

Ronin Storm

Administrator
Staff member
I said I wasn't going to post a chapter list, which is true but I am going to post a little guidance for the first couple of weeks.

As mentioned in my initial post, when this workshop ran they used the C# specification for the first couple of weeks then switched to .NET Book Zero. They did a bit of after-the-fact modifications to the threads but I still think it isn't entirely clear what the deal is.

So, here's my clearer version of how I think you should approach week 1.

  • For almost everyone, read the C# Workshop - Week 1 (Ch. 1 - 4) - Beginners thread, which references .NET Book Zero as its source material and asks you to go through chapters 1 to 4 of that book.
  • If you are feeling particularly hardcore (y'know, masochistically hardcore) then feel free to also read chapter 1 and 2 of the C# language specification 1.2. The corresponding advanced thread is also worth a brief look but it is largely similar to the beginner's thread above.

The questions for the week are found in the second post in the beginner's thread. The answers are, peversely, the second post in the advanced thread.

As far as I can see, the advanced thread was actually where they started and the beginner's thread started later when they realised that people, especially newbies, would die reading the early part of the specification as a course text.

If, like me, you're pretty familiar with C# then the specification is merely heavy going. For an experienced non-C# programmer, it'd be hardcore. For a novice programmer, it'd probably lead to some sort of brain seizure.

Go with the beginner's thread if any any doubt at all. Personally, I'm going to do both as I started on the spec believing that I was hard enough... (apparently, I'm not quite hard enough ;) ).
 

Ronin Storm

Administrator
Staff member
So, I'm reviving this after my interesting and aborted foray into C++. I'll report more on how this goes along as I progress.
 

Ronin Storm

Administrator
Staff member
Okay, done the first week of the C# workshop. Some thoughts:

First, unless you're a complete masochist don't use the C# spec as your training aide; it's hard to read, dreary and demoralising, exactly what you don't need at the beginning of a new course. Instead, stick with .NET Book Zero.

Second, the questions for week 1 were written when the spec was the course text so a bunch of them aren't answerable from .NET Book Zero. Don't fret. I went straight to the answers and used them as extra reading and even then I found some of them quite impenetrable and not entirely helpful.

Third, you might be put off by the first block of reading in .NET Book Zero being the first four chapters. "Four chapters? In one week?!" you might cry. They're fairly short and easy reading so it was quick progress.

Really, you could read those chapters and consider week 1 well done.

More when I get to week 2.
 
Top