Learning the basic concepts behind data structures is absolutely relevant to game programming. If you're storing a group of objects and need to pick the most efficient structure for retrieval, then you need to know the difference between a linked list, a vector, and a tree set. I'm not saying beginners should start by learning the internals of an I/O stream - just like you wouldn't argue that graphics beginners need to know how rasterization works. But it's certainly easier to write non-trivial code that's console-based.
How about the semantics of the language? Would it be easier to write a program to test the differences between pass-by-value, pass-by-reference, and pass-by-pointer via the console or a graphical display? You certainly can't just draw a corresponding .bmp.
I apologize if I come off as argumentative, but I'm a little surprised you think the word ladder example is "a complete waste of time for someone interested in games." In one program, you learn the vector, set, and queue, and their comparative strengths and limitations.
In summary: I'm not trying to dissuade you from graphics programming. On the contrary, you should definitely check out NeHe's tutorials I linked earlier. I'm arguing that unless you also have a firm grasp on the core aspects of the language, you're either going to hit a wall early on or end up developing bad, counter-productive coding habits.
I just quickly skimmed this thread (I love how all the noobs think they will one day be coding games. Wait until the REAL world rears its ugly head!) but I can clearly see that Disch is NOT telling anyone data structures aren't important but rather to pick a way to learn them that keeps you interested. Why not learn GUI AND console? Keep in mind, you're FAR more likely to end up working for Verizon than Valve.
There is an endless supply of valuable knowledge available for software development of all levels and in all industries. Progression, advancements, and practical findings are documented in writing. A career in software engineering is a reader's career, not a gamer's career. Anyone who is serious about it should get reading, IMO.
You're right, it's useless to first learn about console programs, and then start with graphics..
However, why go to school, where they teach you a lot of stuff you'll never use? Because it might come in handy later right?
IMO it's better to get a bit into console programs (just the basics of the basics, so don't go in too deep) and then start with the graphics..
I mean, if someone wants to become a doctor, what would he do with geography? Yet they still have to learn it.. Why? Because (for people not like you :P) they might need it :)
Btw I'm still in school, please tell me how you survived :)
I mean, if someone wants to become a doctor, what would he do with geography? Yet they still have to learn it.. Why?
This sums up one of the many, many flaws in the public school system.
Too much material that is irrelevent/uninteresting to the students. It just makes it so the students care less and have a harder time.
School should teach practical information that the students want to learn in a way that makes it enjoyable to learn (because learning really is fun for everyone, if they're taught properly)
EDIT: Of course you could argue that school isn't about learning subject matter so much as it's about learning how to "work inside the system". In that sense I guess it's good practice... but you could get just as good of practice (and make actual money) by working instead. /EDIT
Btw I'm still in school, please tell me how you survived :)
I didn't. I dropped tested out my Junior year and never looked back.
You too? High school were the worst six years of my life because of the sheer amount of time and energy I wasted. The gap between the instruction I expected to receive and what I actually got ended up making me bitter and cynical.
My coping strategy, if you can call it that, was to do as little effort as possible and concentrate on the subjects I actually cared about, such as Programming and Lab. I started not doing any homework, then proceeded to hand in blank tests, and during my last year I often didn't even bother showing up for some classes. I would have just been staring blankly while the teacher dictated, anyway (and talk about a waste of time, by the way. Why not just have us buy the book?).
Just for fun, let me give you a quick rundown of some the subjects a Computer Technician has to study, here. Note that these are supposed to be the subjects directly related to the career; general knowledge subjects such as physics and chemistry have already been covered at this point: Accounting, Geography, History, Enterprise Management and Labor Law, Psychology*, SA**, Cost Accounting, Political Economics, Simulation***.
* Note: I had two years of this and one year for Logic and Algorithms each.
** This is how it's written in my spreadsheet. I have no idea what it stands for, anymore.
*** Don't let the name fool you. It's not what you think. It's boring.
Accounting, Geography, History, Enterprise Management and Labor Law, Psychology*, SA**, Cost Accounting, Political Economics, Simulation***.
In what way are those subjects related to computer engineering?
Stuff like economics and management etc. are understandable. But why history, geography etc. =,=
Well, there's actually a very good reason behind this. Despite the specialty being named "computing", it's actually just "system analysis orientation".