Am I taking the 'right' path?

Started by
32 comments, last by Slateboard 14 years, 1 month ago
I do want to make games, and I've been using these videos to learn how -
But I wonder if it's the right way to actually learn the C# Language. My current cycle is: Follow the videos Look up meaning of unknown syntax in the VS Documentation Try to understand what it does and why it's being used there Continue video. ...But I get the feeling that I'm doing it the wrong way or something. It feels like I've skipped over a step somewhere, and I don't know what it is. In addition, I'm presently unable to actually attend any school to take courses in the subject, so I'm on my own for the most part.
Advertisement
Code, code, code, code, code and more code.

And repeat.

It's the best way of learning :)

Quote:Original post by Slateboard
Am I taking the 'right' path?

It feels like I've skipped over a step somewhere, and I don't know what it is.

In addition, I'm presently unable to actually attend any school to take courses in the subject, so I'm on my own for the most part.


Getting a Computer Science degree is the "right" path. Your statement that you're unable to go to school is suspicious, but taken for face value, if you really can't go to any school, then there is no "right" way to teach yourself. Whatever works for you is what's right for you. The "just do it trial-and-error practice,practice,practice hang in there, baby" method works for most people.

-- Tom Sloper -- sloperama.com

Might I suggest buying a book on C#, if that's the language you're interested in learning. A good book will take you step-by-step from the beginning, and teach you the basics.
I agree with Mr. Sloper's assessment of the correct path. School is the best way to get a great foundation in software development, algorithms, and just general know how that videos sometimes skip over. Another great way would be buying a C# book to learn the basics of the language, and tips from the authors. One thing that I would suggest doing is searching through all the great articles, forums, etc. on this website and learning what others have done.

Second suggestion, once you've picked a language and learned the concepts of design, I might pick up a few books of the software design process and software engineering practices. These can/will help you in your future endeavors and will save you hours/days of time when starting larger projects.

If you can't go to school, but really want to learn how to be a great software developer, you could find a reputable school, get their Computer Science curriculum, and pick up books associated with each class. Then take the time to read those books, ask questions on forums such as these, and get answers.

Best of luck to you.

-Brandon
Brandon <M>
Going to Computer Science course to learn programming is a complete waste of time. If is also mostly a waste of time for anyone who would want to work as programmer. In addition, it is overqualification for 95% of jobs today with regard to how software is development, current management practices, current trends in software QA and the whole added-value part (better yet, there are cheaper and shorter courses that give "Computer Science" labels).

People studying Computer Science should be aiming at Google or something of equal caliber and nothing less, with strong affinity for math and all that goes along.

Those wanting to develop certain type of applications should focus on that particular area (graphics, AI, user interface, design, ...) coupled with Software Engineering degree and something that gives a lot of hands-on practice on real world problems, as demonstrated by portfolio. Vocational skills will be almost always more valued over theoretical foundation, as well as more applicable in practice.


The problem here is not that someone might not do well in Computer Science. Problem comes from most that do well, most of which will never find the market to support it, and they end up as web developers or similar.

For computer scientist, code is an annoying by-product that is used to describe an algorithm, usually in form of some pseudo code. Actual code will then just be handed off to some intern to implement as needed.


The biggest problem is in labels. Since computer science courses try to cater to job market, many of them have devolved to simple programming courses using one of mainstream languages. Those courses do not teach computer science, and are several times too extensive and unfocused for what programmers actually need.

But these days, computer science degree is a seriously bad move except for a very handful of individuals who have strong affinity for some heavy math (perhaps pursuing math or physics major on the side) and who wish to stay partly in academic waters.

Slowly, things are changing in this respect as well, and even those course are likely overkill for anyone who is not looking at serious and dedicated life-long career in such areas.

PS: I studied computer science (the formal one).
To clarify a bit.

I'm presently being a caretaker for two handicapped individuals. It was dumped on me unexpectedly which forced me out of school. Due to my mismanagement of the situation, I don't really have any options. At least not the ones I had before.

As far as books go, are there any recommendations?

I tried to watch these videos too, some time ago and just couldn't take his voice. :) Sure, it's nice he's doing such extensive videos, but I just couldn't focus while he was talking. In his basic C# videos he explains some concepts quite well, but I haven't gotten to the parts you linked.

If you'd like to target XNA directly, I'd recommend http://www.amazon.com/Microsoft-XNA-Game-Studio-Unleashed/dp/0672330229/ref=sr_1_2?ie=UTF8&s=books&qid=1266352944&sr=8-2 or http://www.amazon.com/Microsoft-XNA-Game-Studio-Unleashed/dp/0672330229/ref=sr_1_2?ie=UTF8&s=books&qid=1266352944&sr=8-2

For better Videos on XNA basics, you can take a look at www.3dbuzz.com The free section of C# Programming has them build a text adventure in which they explain the very basics of programming.

But also think about learning "normal" C#. XNA can be very tempting, but you are very restricted in your own designs if you lack the basics of the language.
I found http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824/ref=sr_1_1?ie=UTF8&s=books&qid=1266353153&sr=1-1 to be a nice introduction.

There are a lot of ongoing tutorials out there on the net, often focusing on game development in c#. Just browse some blogs or c# websites. There's lots of content.


I'd always prefer a good paper book over any video. Consider buying a second screen for your computer if you want to program while reading an eBook or watching a video. I found this to be much easier than constant alt-tabbing or running the video where it would occlude some of my interface.
You could try an easier language designed for amateur game making, like Blitz3d or Dark Basic Pro. It's much quicker to learn how to do something simple with these languages, like setting up a screen, drawing a sprite on it, and making a bad Space Invaders clone. They even make 3d a bit easier.

You'll still need to learn a real language if you want to work in the industry, but if your goal is to make some simple games, you are making your life unnecessarily hard by learning C#.
If you can't take any classes, I would suggest picking up a book and using it as a starting point to get your familiar with the subject. Then it's down to lots and lots of practice, trying to figure out things that you think should be easy, and lots of time on Google looking up the answers to your questions.

I remember back in the days of QBasic. I read the help file religiously; looking up functions and then thinking up ways I can use it. That's how I started learning. I still do that to an extent when learning languages (currently consider myself rather knowledgeable in C# these days). I take something I haven't worked with yet, research it, and try to find a way to utilize it. These will usually simply be throwaway projects that get stuffed in a folder or deleted, but I've always preferred the hands-on approach.

I don't think tutorial videos are very helpful. They show you how to perform a very specific narrow task, and rarely go into much detail as to why they're doing it.

This topic is closed to new replies.

Advertisement