Programming in General

Hello!
I could not find any hin in the search.
I am not a professional programmer, but i like to solve the puzzles and use programming to help me with some tasks. But i have a problem, but not in tinkering code together in any language, my problem is related to ‘develop a view’ to easily find the right approach, data structures and so in. I often uses compicated data structures, not easy to handle (if at all). I am using approaces wich often lead to the goal, but not always. I often have to surrender because i could not find a foothold to dig into the puzzle.How to develop and train the ‘eye’ for the right approach? In the aftermath of some puzzles you can see other users solutions, easy, clean clever, short, good to read… thats where i want to be. How to got there? (i hope someone can read this :slight_smile: ) It would be fantastic if someone can show me the direction i have to go. Thank you.

Do you like mathematical puzzles? ASCII art puzzles?
Just click on these categories to try puzzles, search also in this page where you can sort puzzles by percentage of success (the reddened puzzles have been removed) or by tag.

It doesn’t matter the type of puzzle, I do all kinds of puzzles. My problem is something like “I can’t describe a possible solution in normal words” because of the lack of an idea of “how to start and how to proceed”. The lack of this idea means that this cannot be translated into code. It’s a coding problem before the actual coding begins. Difficult to describe. Not easy to google either. Maybe there is a specific technical term for what I’m missing.

You mean

  • algorithms (DFS, BFS, Dijkstra’s, Floyd’s…),
  • approaches (DP, iteration, recursion…),
  • data structure (array, queue, stack, linked-list, map, set…),
  • math formulas and knowhows (geometry, trigonometry, calculus, vectors, algebra, statistics…), etc

If you are lacking some areas of skill set, you will have no idea how to solve some puzzles needing these skill sets. These skill sets can be learned. Focus on one puzzle each time. Ask in the related puzzle discussion thread.

Good questions invite good answers. If your question leads to a good discussion thread, there will be useful feed backs pointing you to keywords for further googling and learning.

Learning little by little to extend your breadth and depth.

@bofHeidelberg, I’m pretty sure I understand what you mean, since I felt the same way when I joined CG, and, to some degree, I still do. Mainly because CG offered me an “access” to many new thing, which I normally wouldn’t even hear about.

For example, for some game it is most suitable to implement Genetic Algorithm. So, googling what the hell is GA… then, implementing said GA… And of course it was a disgusting, unbearable to witness kind of a mess, but for the next game that required the same, I just started from scratch. I tried to address the stuff that I wasn’t really happy about the last time, you know - yeah, I had this problem with this structure, so let’s try this now; or that function sucked some serious a*s, let’s try it this way now.

What really helps me (and this is just me, probably) to put even simple ideas into code, just so that I can have a feel on how it looks. I also try to code in stupidest way imaginable - simple code, easy to understand, easy to maintain.

Keep practicing :slight_smile:

1 Like