Last week I finished my edx.org course C# programming from Microsoft. It was a fun course, and it showed me that programming is a bit like riding a bike. Once I was going, it all was very familiar. Its not so strange I guess, all the Object Oriented Programming ideas are the same for any language, C# or Java (I learned Java in school).

The course itself was given on the edx platform, but it was one of the first MOOC’s Microsoft gave. And it was not without some problems. 60% of your grade was depended on peer review of your homework. And there was an initial due date of 1 week per 2 modules.

Peer Review

I think peer review is a good system, but it certainly has its problems. On the plus side, you get to see other peoples work, and how they solve a problem. Certainly in programming this is a good thing. The problems in the course were, that there was a big mix of people. Both senior and junior or even totally new programmers were following the course. The senior programmers were deducting points from the new, for having bad code style or variable names, that let to heated discussions on the boards.

But was that really bad? The grading criteria for the homework clearly stated that the code had to work, and it had to have certain parts. If it had both, you should get 5 points. So having those, and still getting 3 or 1 point was very demoralising for new programmers. Off course you need to get good coding style and habits, but this was a course on learning C#, not on programming in general.

Was it worth my time?

I think so. There were some variations in the difficulty level of the modules, but I learned a lot. And the things I have seen so far have shown me that C# is a very nice programming language. The course started with the basics like variables and objects. And went on to show LINQ, threads and async programming. All in all I had a lot of fun.

Where to?

I’m working more on learning C#, both in ASP.net and in app / mobile programming. I have a few books, and I found some tutorials on tutsplus.com. If you have any more resources, let me know.