Developing problem solving skills

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Developing problem solving skills

Post by Moosader »

I'm feeling a bit moody today. :P Besides ES, I also have my own board, and I'm on AntiRTFM's board, and on both of them the people asking questions don't really seem to have problem solving skills.

As my tutorials are "a problem-solving approach", I really want to make sure I adhere to this, and help newbs learn how to do problem solving. (You know everyone who asks "What's the point of math?". So you learn that you can figure things out on your own with concentration and studying! :o)

Right now my tutorial for Episode 2: Making a Shmup basically says "Here's how you'd create and load a map file". After reading through random mishmash problems people have elseware (ie "Why can't you figure out how to turn a 1D array into a 2D array??"), I'm starting to think this isn't such a great idea; make 'em work to figure out how they'd load in a map. :P

Or do you guys think it's basic enough that I should go ahead and show them how they can use a while loop to load in a map file and store it? And then use a for loop to draw it to the screen?

Anyway, I'm having a hard time figuring out how to present it such that they try to figure out how to achieve some goal, without telling them the answer, but still having enough content to actually be a guide and not a test.

Then again, I've been sick on and off for a month and I'm exhausted, so my own problem solving skills are functioning at about half capacity right now. @_@

Ugh, if nothing else, I should have a lot of theory and not so much code. This tutorial is supposed to be library independent anyways.
User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: Developing problem solving skills

Post by avansc »

i think the internet has infused some bad habits in programmers, i mean why think about a problem if i can just google it.
i remember when i started programming the problem was posed to me/class to make a program that you entered numbers, and it should return the lowest and highest numbers.
and for the life of me i couldn't think how to do this. bare this was like 10 years ago. anyways. so i had a friend in the class that was quite clever and he pointed me in the right direction. and i think after that i looked at problems as a set of rules i had to satisfy, i would group rules that were dependent and linked groups that were dependent. then i would go through solving the independent and smaller rules first. often people get discouraged because a problem seems to big. i think have your videos as they are, but just add a disclaimer saying that this should not be a first resort, and in no way will you answer questions that are based on the single "rules" but only on the main set as a whole.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: Developing problem solving skills

Post by Moosader »

avansc wrote:i think the internet has infused some bad habits in programmers, i mean why think about a problem if i can just google it.
It doesn't even seem like they do this, though! There are so many 'Why R my compilar givn errorz?" questions... I google all my compiler errors and I can almost always solve it from that. >.>;


Anyways, thanks for your input
User avatar
hurstshifter
ES Beta Backer
ES Beta Backer
Posts: 713
Joined: Mon Jun 08, 2009 8:33 pm
Favorite Gaming Platforms: SNES
Programming Language of Choice: C/++
Location: Boston, MA
Contact:

Re: Developing problem solving skills

Post by hurstshifter »

Moosader wrote:
avansc wrote:i think the internet has infused some bad habits in programmers, i mean why think about a problem if i can just google it.
It doesn't even seem like they do this, though! There are so many 'Why R my compilar givn errorz?" questions... I google all my compiler errors and I can almost always solve it from that. >.>;


Anyways, thanks for your input

It does seem this way, and it's not just programmers. I work as a software consultant for a computer security company and I'll have to admit that a good fifty percent of the administrators that I consult for are complete dipshits. In no way do they ever try to solve very basic problems on their own. Instead of spending 5-10 minutes on google looking up an error code that would have pointed them directly at the solution, they instead bombard me with e-mails and phone calls until I take time out of my day to remote into their servers and fix the issues. Granted this is exactly what I get paid for and would have far less job security without these morons running the show, it just makes you think about how lazy people have become.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: Developing problem solving skills

Post by Moosader »

I guess another point I should make is bluntly emphasizing

"If you're going to be a programmer
You have to have problem-solving skills
and the common sense to google it if you can't figure it out.
If that doesn't work, you can post in a forum,
but you need to learn to do it RIGHT!"

Maybe I should post a tutorial video on how to ask for help on message boards. >_> (#1. describe problem, #2. state your tools, #3. say what you're trying to do, #4. what you've tried, #5. screenshots if necessary)
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: Developing problem solving skills

Post by MarauderIIC »

Moosader wrote:Maybe I should post a tutorial video on how to ask for help on message boards. >_> (#1. describe problem, #2. state your tools, #3. say what you're trying to do, #4. what you've tried. THIS CANNOT BE EMPTY!, #5. screenshots if necessary)
Fixed.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
captjack
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 50
Joined: Fri Sep 18, 2009 4:23 pm
Current Project: engine framework
Favorite Gaming Platforms: PC, XBox 360, PS3
Programming Language of Choice: C, C++
Location: Northern Virginia

Re: Developing problem solving skills

Post by captjack »

Moosader wrote:If you're going to be a programmer You have to have problem-solving skills
I blame schools. Problem solving skills take shape in kindergarten and should improve as one progresses through the grades. Little Johnny is far too used to getting coddled and having his hand held that he can't think for himself. Too many people (young and old) want and answer but don't want to work to figure it out. It's been the case since the wee days. I recall a BITnet discussion group wherein students would ask the "old timers" how to do homework problems. This migrated to comp.lang.c and .c++ and even today trollers are told to work it out. In the workforce, if one continually asks co-workers or a boss how to do something one might fine oneself in the unemployment line.
avansc wrote:i think the internet has infused some bad habits in programmers, i mean why think about a problem if i can just google it.
That's a fact. Internet pollution has made anyone with a connection a subject matter expert, even if they haven't the foggiest clue. But folks don't even seem to bother with Google. They want us to do their work. They probably won't even give credit.

-capt jack
User avatar
Netwatcher
Chaos Rift Junior
Chaos Rift Junior
Posts: 378
Joined: Sun Jun 07, 2009 2:49 am
Current Project: The Awesome Game (Actual title)
Favorite Gaming Platforms: Cabbage, Ground beef
Programming Language of Choice: C++
Location: Rehovot, Israel

Re: Developing problem solving skills

Post by Netwatcher »

captjack wrote:
That's a fact. Internet pollution has made anyone with a connection a subject matter expert, even if they haven't the foggiest clue. But folks don't even seem to bother with Google. They want us to do their work. They probably won't even give credit.

-capt jack
As a wise man once said
Image

But I don't know Chinese so I still can't figure it out...


At any rate,
Google can be your friend and your enemy-

using it recklessly and just extracting shit out of google for a conversation whilst you don't have the tiniest clue of what you just copy-pasted actually means can cause confusion and mess hysteria.

If you do understand the subject and only looking for proofs/helpers/pointers it can help.
"Programmers are the Gods of their tiny worlds. They create something out of nothing. In their command-line universe, they say when it’s sunny and when it rains. And the tiny universe complies."
-Derek Powazek, http://powazek.com/posts/1655

blip.fm DJ profile - http://blip.fm/Noobay
current code project http://sourceforge.net/projects/vulcanengine/
User avatar
captjack
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 50
Joined: Fri Sep 18, 2009 4:23 pm
Current Project: engine framework
Favorite Gaming Platforms: PC, XBox 360, PS3
Programming Language of Choice: C, C++
Location: Northern Virginia

Re: Developing problem solving skills

Post by captjack »

Netwatcher wrote:If you do understand the subject and only looking for proofs/helpers/pointers it can help.
Because with that understanding you're able to filter out all the worthless cruft that comes up along with the gems.

@Moosader - perhaps you could have an end of chapter "Exercises" section? The chapter could discuss the topic while the exercises prompt the reader to dig deeper.

-cj
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: Developing problem solving skills

Post by Moosader »

Netwatcher wrote:
captjack wrote:
That's a fact. Internet pollution has made anyone with a connection a subject matter expert, even if they haven't the foggiest clue. But folks don't even seem to bother with Google. They want us to do their work. They probably won't even give credit.

-capt jack
As a wise man once said
Image
Lol. I think I see a "9" in there.
(I just thought it was funny :P)


Captjack - Good idea with the exercises stuffs
Last edited by Moosader on Fri Oct 09, 2009 10:23 pm, edited 1 time in total.
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: Developing problem solving skills

Post by MarauderIIC »

lol, so we don't edit out netwatcher's long image to respond to captjack's post?
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: Developing problem solving skills

Post by Moosader »

Oops, I wrote my response to the image in the quote. *edits*
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Developing problem solving skills

Post by Falco Girgis »

No offense, but it's a fruitless endeavor.

You don't learn to program (well) without going the extra mile and teaching yourself. You don't go the extra mile and teach yourself unless you're driven to learn. You aren't driven to learn unless you already have problem solving skills.

Once you're older, you don't magically "develop" problem-solving skills. Yes, you get better at applying them to particular scenarios--that's called experience. You don't learn to "think for yourself" better as you get older. There is a reason that your IQ doesn't change much after puberty. Besides, if everybody were capable of thinking for themselves, we wouldn't be a Christian nation (jk, ;) )

Your time would be better spent not wasting time on the people who are too lazy to help themselves learn.

I have always made it a point to help people who are able to help themselves. In this business, there is just too much to learn, too much to know, and too much to get good at to do everything on your own (that's why these forums are here). I even had a mentor/best friend when I was 13 or 14 who is the reason that I am the programmer I am today. I would always go out of my way to help somebody willing and able to learn, but I would never waste my time trying to teach somebody who is either 1) too lazy or 2) incapable of learning.
XianForce
Chaos Rift Devotee
Chaos Rift Devotee
Posts: 767
Joined: Wed Oct 29, 2008 8:36 pm

Re: Developing problem solving skills

Post by XianForce »

GyroVorbis wrote:Besides, if everybody were capable of thinking for themselves, we wouldn't be a Christian nation (jk, ;) )
You know, although I am Christian, I completely agree ^^.
vargonian
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 60
Joined: Fri Aug 07, 2009 3:34 pm

Re: Developing problem solving skills

Post by vargonian »

I simultaneously want to agree with the Christian nation comment while making the point that we are not a Christian nation; just a nation full of Christians, where 40% of the population believes that the Earth is about 6000 years old. Sad in either case.

Speaking of Christianity, if I may play devil's advocate here: First of all, I completely agree that intellectual laziness causes people to avoid trying to solve problems on their own when they know that someone else can spoon feed them. I do think that they can get over this dependency, once they have the epiphany that the world doesn't exist to serve their needs and they need to find answers on their own. But there is something to be said for giving someone a concrete example as an illustration of an "acceptable" way to accomplish a task. I suffer from the problem of needing to see how someone else does something before I feel confident in my own approach. It's some insecure need for external validation, I guess.

I think that some people need to feel secure in their approaches to solving a problem before they can move forward, whereas at the opposite end of the spectrum, some need to be humbled by the methods of others.

Once again I'm probably giving humanity more credit than it deserves. These kids are likely just lazy and without being handed the solution, may walk away from game development altogether. If you can find a way to separate these types of people from those with promise, I suppose that'd be a worthwhile effort.

(rambling again)
Image
Post Reply