Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to learn C# programming.

I already studied it for several weeks and wrote some minor programs with VS2010, and I'm not completely newbie at programming because I worked on STALKER - Shadow of Chernobyl as scripter, but it was LUA.

I want to become a real programmer. I think C# is a decent way to start with.

I already learned about the most commonly used resource sites and got some nice eBooks as well, but unfortunately I don't have time to sit down in front my computer all the time, so my progress is pretty slow.

I would like to ask that if someone can recommend me some decent interactive online courses to make my learning progress faster.

I know about the "joe grip" course but I don't know if it's worth $39 also it's only for .NET 1.x and 2.0 while I'd like to learn 4.0 so I have no idea what should I do.


Thanks for the advices. I'm not sure if I will develop web or desktop applications in the future, time will tell. First I need to understand the basics of C# and .NET and get some experience.

Thanks for the eBooks, I downloaded them, but anyway I've already got several eBooks, for example the Programming C# 4.0 6th Edition, what is approx. 900 pages long. I would rather need video tutorials because nowadays I don't have time to read through ten thousands of pages and it's not so exciting either.

Now finally I've found some nice video tutorials where experienced people explains what they are doing. That's fine.

I didn't know about that MSDN Virtual Labs, thanks for that too.

share|improve this question

migrated from stackoverflow.com Dec 31 '10 at 16:05

This question came from our site for professional and enthusiast programmers.

3 Answers 3

Considering the fact that .NET 4.0 pretty much only builds on top of .NET 3.5 and .NET 3.0, you could learn any of these frameworks and later learn the more advanced .NET 4.0 stuff like Task Parallel Library, asynchrony, co(ntra)variance, and dynamic language support on your own. If you are serious about becoming a .NET programmer, however, you ought to learn technologies like WPF and/or Silverlight (depending on whether you plan to build windows or web apps). In my opinion, they both have pretty steep learning curve, and therefore I would recommend taking a course in one (or both) of these if/when you have a decent knowledge of .NET.

share|improve this answer

I will tell you to pick up C# in Depth, 2n edition to learn C# 4.0. This books not only tells you what is new, but it also compares how some features have evolved from beginning (from .net 1.0 onwards). Once you are comfortable with C# 4.0 then you progress to web development (that's what I do for living). See how Music Store is built in Asp.Net MVC. You can pick up ASP.Net MVC 2 in Action to learn basics of ASP.net MVC.

Personally I won't suggest you to attend any course. Whenever I have to learn any new technology I pick up 1-2 decent good books, read starting chapter to get basic ideas and try to develop some of my personal scenarios. Besides this I watch some videos which are available on internet. This works for me and I hope the same for you.

share|improve this answer

MSDN Virtual Labs

If you want interactive, then I would suggest MSDN's Virtual Labs. They are virtual machines all set up along with a short 90 minute project to help you learn specific features of a language or product.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.