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'm looking to learn C# mainly so i can get into XNA. I know the basics of programming and I've tooled around with GameMaker, which has it's own scripting language. I'm not really looking to jump into the industry and honestly I'm not sure I would ever want to program for a living.

However, I'm having a hard time teaching myself with tutorials and I thought taking a class might be worthwhile. The school I'm looking to attend is a community college and they offer a certification course in C# and I might take it if I find it worth the price.

My question is, will it be worthwhile? I know it depends largely on the school and the instructors but by taking a certification course will I learn any more than I would by just shelling out the same amount of money into some decent books?

share|improve this question
    
If your willing to spend the money to learn, a certification course is a great way to do that, if your looking use it to develop your career its a waste of your time. As to your question about C++ with Visual Studio, its simple, they would be teaching you managed C++ ( i.e. Visual C++ ). –  Ramhound Aug 23 '11 at 12:28
    
possible duplicate of Are certifications worth it? –  gnat Sep 15 '13 at 5:18
add comment

closed as off-topic by MichaelT, gnat, World Engineer Sep 16 '13 at 23:12

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, World Engineer
If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

This depends on you entirely. Are you good at learning from books? Can you afford the boot-camps or classes? Do you have the time for classes?

Certification courses don't teach you the language. They teach you how to pass the tests. I know plenty of people who have an MCSD or MCAD but can't program their way out of a wet paper bag.

Community college courses tend to be ok on a basic level, but that's about as far as it goes. If you're looking to delve into XNA you're going to need to go into much more advanced topics. The community college courses certainly wouldn't hurt, and I'm sure there are some that are preparatory for the more advanced courses necessary to cover those topics.

Honestly, the lack of C# knowledge isn't really your problem. Your real problem is the lack of general programming knowledge, algorithms, logic, etc. You will find these concepts a little harder to pick up on the fly, but it's not impossible.

If you're having trouble teaching yourself through tutorials, what makes you think a classroom setting will be any more appealing? What would you do if you got into the course and simply felt just as lost?

If cost/time isn't an issue, take the classes. You'll at least have a group setting in which to poach ideas. You'll have someone with more experience (the instructor) you can at least ask questions of and show examples to. Even if the class isn't terribly good, you'll at least meet other people attempting the same thing.

share|improve this answer
5  
Keep in mind that actually writing C# pays at least twice as much as teaching C# in a a community college, so you are not likely to be taught by experts. You are going to get people who know some programming and like to teach. However, some experts do write books. –  kevin cline Aug 23 '11 at 2:55
    
its not so much that i can't learn from the tutorials as it is that i can't find many that assume i know next to nothing about programming. i know about methods, classes, variables, arrays, boolean logic, the basics of how oop actually works, etc but im having a hard time learning enough to accomplish anything other than a command line guessing game –  James Aug 23 '11 at 4:12
    
@James - Start with books that teach you programming concepts to people who don't know anything about programming. Once you learn what a infinite loop looks like, its the same across all languages ( more or less ). –  Ramhound Aug 23 '11 at 12:29
add comment

These certifications are most useful to companies or people wanting to get in these companies.

Some companies need to have a minimum number of Microsoft certificates to get or keep their Microsoft partnership. If you're in a company like this getting the certificate can help both you and your company.

And other companies are actively recruiting based on these certificates so having one might broaden your chances. Recruiters might also be more inclined to take the one with the certificate if they have to choose. However, I never really felt that they are that useful to get a job and aren't a really good way to tell a good programmer from a bad one.

If you're programming in your free time, I can't see the point in getting one. Learn some C# by yourself and if you think you'll learn better in a group, by all means go sign up. Above all however, if you're coding in your free time: have fun!

share|improve this answer
add comment

Certifications are designed to test those who know the subject and have practiced it for some time.

Pick another path to learn the subject first (books, courses, etc.), then study the course material and after that apply for the certification exam.

By doing this you will learn and you will also earn your certification.

This is an advice of a Microsoft Certified Trainer!

share|improve this answer
add comment

My personal advice (which I don't claim to be universally correct) would be: pick some books. I've done 70-536 and 70-526. My personal impression is negative. I don't think I've learned nearly as much as I would had I spent the same amount on books - good ones - and learned on my own. For some reason the Microsoft books - training kits for certifications - were really awful.

I guess it probably did help me getting a job, since I had something to put on my resume. But I don't feel like I benefitted in terms of programming skills. A lot of questions are quite silly and focused on memorizing method signatures and the like; is this what makes a good programmer?

share|improve this answer
add comment

That really depends if you have a job.

If you dont currently have a job then definatly go for the certification. Its worth paying the cash to have the extra bit of paper that says you can code. Its no more effort than learning yourself but helps you get employed later on down the line.

If your currently employed and/or have a fair amount of experiance in the industry then it depends how much you value your time. Learning a course will be faster but wont give you any better understanding compared to learning from a book. I personaly would save the cash and promise yourself a treat (ie new hifi or something) if you can do X hours of training and reach a skill level your happy with.

share|improve this answer
    
Having a certification in X does not prove you can code. Having a degree in computer science at least proves, you got through the material that teaches you the basics, you still might not know how to code but its a start. –  Ramhound Aug 23 '11 at 12:30
add comment

I think I'd start by installing the SDK and writing some code, Googling for information as I hit problems. If I downloaded and installed Visual C# 2010 Express or SharpDevelop then I'd have a pile of Intellisense to help me further. It turns out that StackOverflow can be kinda useful, too. ;-)

Once I'd acquired a moderate amount of knowledge (enough to be dangerous shoul dbe about right) I'd probably know enough to be able to make an informed choice on the kind of book that might be useful and I'd consider investing in one.

As for the college course: if its objective is to help you to acquire relevant skills then it may be useful, but if it's all about memorizing enums to gain a certificate of dubious value then I'm not so sure.

share|improve this answer
add comment

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