Take the 2-minute tour ×

I've got my BSc in Computer Science 4 years ago and I feel like I've forgotten everything I learnt. I still know the basics such as CPU, mohterboard, RAM, software, hardware, etc but I forgot how they work exactly. In general, I know what a programming language is and I have worked with Java when I was at Uni. To be honest I was just trying to solve the assignments in that time and now I've found I have some interest in programming and I chose C# because I can use it for web and for desktop applications.

Now, I want to learn C#. Is there any prerequisites for that? I mean do I need to come back to all the materials that I did study on my BSc? Or can I srart learning immediately?

share|improve this question
You can jump in immediately. You might want a book just so you can start learning parts of the .NET library. You can also browse simple question C#/.NET questions on SO –  acidzombie24 Oct 10 '11 at 17:47
add comment

closed as not constructive by Walter, MainMa, gnat, Yannis Rizos Nov 6 '12 at 6:36


6 Answers

up vote 6 down vote accepted

You could watch pluralsight video tutorials. There's free trial.
C# yellow book is free also.

You won't lose anything with those :)

share|improve this answer
You could lose quite a lot when learning from a bad source. (I have no idea about the quality of the sources you linked and I'm not commenting about that.) –  svick Oct 10 '11 at 18:24
add comment

Yeah. I'd recommend Head First C#. Otherwise try some online tutorials; but the book I mentioned is excellent for learning.

share|improve this answer
add comment

You can certainly start learning C# immediately and go back to the material you learnt at university when you feel the need for it, for instance if you want to optimize an algorithm or craft a good data structure for your data.

share|improve this answer
"or craft a good data structure for your data" I'd read up on the full range of .NET data structures before you try to roll your own. –  StuperUser Oct 10 '11 at 16:38
@StuperUser his motivations are to learn, by re-using existing framework code he may be doing himself a disservice. I'd say rolling your own is a far better way to learn :) –  MattDavey Oct 11 '11 at 8:47
add comment

There are a plethora of books, tutorials, and cookbooks available for you to choose from to learn the basics. I would suggest you picked up and read CLR via C# by Ritcher as this will give you a much deeper understanding on C# from the metal up. It is not necessary a beginner text but it is worth a read.

share|improve this answer
No up or downvote because I haven't read the book, but just by the title, this seems like a horrible beginner choice... –  Domenic Oct 10 '11 at 15:27
Depends what you want in a text. If it is a tutorial, then yeah, not much use. IF you want to understand the language then it is a lot of use. –  Sardathrion Oct 10 '11 at 15:45
@Domenic, don't judge a book by its cover. –  Vash Oct 10 '11 at 15:57
Regardless of how much the OP forgot, we're talking about someone capable of getting a CS degree. The book isn't going to completely blow his mind. –  JeffO Oct 10 '11 at 16:48
CLR via C# is an amazing book and probably in the top 5 C# books ever. But it's probably not a great choice for someone who's new to the language. –  MattDavey Oct 11 '11 at 8:49
show 2 more comments

Addison-Wesley Essential C# 4.0 by Mark Michaelis is one of the best books I have read. The author explains basics and then gradually increases complexity and takes the reader to more advanced topics. It has special topics for beginners and topics where the differences between C# and other languages (e.g. Java, PHP...) are explained.

This book will not only teach you C# but how to write good code.

share|improve this answer
I second that; Mark's book is great and it really does a good job of communicating the essentials. –  Eric Lippert Oct 10 '11 at 22:35
add comment

The degree and experience can't hurt... but it's a bit like going to NASA's astronaut school to learn to pilot a tricycle.

Just go learn it. It'll be tough, and it won't be the syntax or actual programming that will getcha. There are several APIs you have to learn inside and out to be able to make anything of it. Not to mention VS is a crappy IDE. But then, they all are. Just hang in there til you make progress. It'd be easier if you were learning this at a job, because likely your coworkers already have some highly relevant code examples, and good suggestions as to how to start.

And don't be scared to try to learn this stuff. I'd much rather learn a new language than have to try to pass Calc III and Diff Equations with a C.

share|improve this answer
add comment
