Jump to content
  • Advertisement
Sign in to follow this  
Reggi

Improving problem solving skills

This topic is 3477 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been interested in programming and game development for a year or two now but I only started to take it seriously recently. I have a friend who used to program vigorously when he was younger. When I ask him a question on how a certain feature of C++ works such as pointers, he tells me I'm getting ahead of myself and before I learn how to use such features I should learn how to solve problems instead. Such as the problems shown in the ACSL competition http://www.acsl.org/samples.htm How would I improve my skill in solving problems such as those?

Share this post


Link to post
Share on other sites
Advertisement
If you have a question, you can ask in Gamedev's community chatroom. Or you can ask it here. [smile]

Quote:
Original post by Reggi
When I ask him a question on how a certain feature of C++ works such as pointers, he tells me I'm getting ahead of myself and before I learn how to use such features I should learn how to solve problems instead.


My question is, who's to decide you're "getting ahead of yourself"? You, or your friend?

That aside, you can try out some of the simpler exercises on wikibooks.

Share this post


Link to post
Share on other sites
I) Read some books about formal logic, algorithms and data structures, etc.
II) Program a lot.

But pointers are not *so* hard, really.

Share this post


Link to post
Share on other sites
Me :P" But I'm still interested in improving my skill in solving problems. It seems like a useful skill to have.

Share this post


Link to post
Share on other sites
Quote:
Original post by Reggi
I'm still interested in improving my skill in solving problems.


Algorithm design is like math. While it's possible to guesstimate 2+5 or 3*2, some fundamental rules have been laid down as to how every such equation is solved.

Programming competitions require knowledge of fundamental algorithms and data structures. Then it's just a matter of correctly identifying the problem, and applying a certain technique.

You can start by looking at list of algorithms. These cover the fundamentals (anyone studying CS is expected to be fully familiar with majority of them). Second part are data structures. While full knowledge of these isn't required, it's incredibly helpful for solving competitions.

It really comes down to this. Someone who wants to be a writer needs to become familiar with grammar and spelling, as well as different styles. An painter needs to be familiar with various techniques, styles as well as how to use a brush. Same for mathematician, physicist, doctor, etc....

Then, comes practice.... Years and years....

Share this post


Link to post
Share on other sites
project euler has a nice list of problems that start out very simple but become much harder in the end. You kind of need to know how to program in some language to do them, and I suggest learning Python, for project euler and for game development. :)

EDIT: Oh and I forgot to mention, you improve by practising, like with anything else.

Share this post


Link to post
Share on other sites
Quote:
Original post by tufflax
EDIT: Oh and I forgot to mention, you improve by practising, like with anything else.

Exactly. I was going to suggest the Brain Age games from Nintendo, and the Professor Layton games too. Sudoku and crosswords. The Kick In The Seat Of The Pants books and cards by I forget his name, just Google it.

Share this post


Link to post
Share on other sites
Thanks for the help! Project Euler looks like a great site.

(How can I quote?)

Share this post


Link to post
Share on other sites
Quote:
Original post by Reggi
(How can I quote?)


By practicing problem solving skills. Quoting is quite easy, try to figure it out.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!