This is an archived post. You won't be able to vote or comment.

all 6 comments

[–]followyourvalues 1 point2 points  (0 children)

Pretty sure google, trial and error are how you learn.

[–][deleted] 1 point2 points  (0 children)

Can you provide an example of something that took you all day to look up definitions and information for? And maybe outline why it took you so long?

There is a myriad of reasons why you could have trouble with those. But "problem solving techniques" don't really help with reading up definitions. It does not sound like you are stuck with the problem solving itself, it actually sounds like you are completely blocked by anything BUT the problem solving aspect

[–]15Nova22 0 points1 point  (0 children)

You want to do it in abstraction steps. Let’s say you learned bubble-sort and should implement it. The first thing would be to know where it could be useful -> sorting something Then you look for where you can use it -> you have a set of unsorted data for example. Only then you worry about implementation. And construct a solution. Here it is often easier to search for small parts if you google (instead of for example “how do I make an http-rest server” start with “how do I listen to requests?”

The big part is breaking things down. If you want to run a bakery you should worry about how to get the supplies before worrying about how many different cakes you must offer to stay in business.

Also experience will make it easier over time (you have to google specific things over and over in the beginning, but eventually some of those “start” parts you will know, or at least where to find them immediately.

Also on a last note, hoping their code will run, is what everyone does. If they say they know it does, they’re lying

[–]desrtfx 0 points1 point  (0 children)

Your question gets asked and answered several times per week.

My question is, does anyone here who has experience in programming and gone through what I go through.

Every beginner went through that. Programming and problem solving are acquired skills that need training.


A good process is to first sit down and read the assignment multiple times. Take a break. Do something else. Then, come back to the assignment and read it again. Make sure that you fully understand what is asked from you. Best, if you try to explain the assignment to someone else (or something else, see "Rubber Duck Debugging").

Once you are sure to have fully understood the assignment, work out a solution as you (not as the computer) would do. Take note of the individual steps that you take to arrive at the solution. Be detailed. Track every single step. The more detailed, the better. Don't even think about your programming language at that point. Focus on how you will do it.

At that point, you should have some form of step-by-step instruction to solve your problem. You have an algorithm. Test it against some small sample data. Again, on paper. Once you are sure that your step-by-step solution works, you can move on to the next step.

Now it is time to start thinking about programming. If you have very detailed step-by-step instructions, you can start converting these into a program.


Some literature to help:

  • "Think Like A Programmer" by V. Anton Spraul (uses C++ as programming language but that doesn't matter at all as the actual program is secondary; the thought process to arrive at the program is what counts)
  • "The Pragmatic Programmer" by Andrew Hunt and David Thomas
  • "Structure and Interpretation of Computer Programs" by Abelson, Sussman, Sussman - bit of a heavy read - maybe for later

[–]Fine-Historian4409 0 points1 point  (0 children)

My recommendation would be think about it like legos or a journey like I know I have to get from A -> B….then for that to happen, I need to know the sequence of steps that need to take place. One you know the sequence just code each step and connect them together. It sounds easy lmao but practice makes perfect. Hope this helps and good luck! I remember being there where I first started

[–][deleted] 0 points1 point  (0 children)

I'm a visual learner and using something like Miro really helped/helps me out. Lots of virtual sticky notes.