I'm in my first year of college as a computer science major, and I'm enjoying programming because I'm curious about how things are created. However, after about a month of classes, I'm feeling discouraged. My assignments currently involve Python Turtle graphics, such as drawing shapes and creating programs with randomly placed circles. I usually understand some of the code and concepts, but when I read a new assignment, I often have no idea how to begin solving it. Is this normal for someone who is only a month into programming? How can I improve my problem-solving skills and start making meaningful progress?
5 Answers
Take responsibility for developing the skill instead of relying only on lectures. Work through small practice problems, explain your intended steps before coding, and compare different attempts afterward. The important part is continuing to work through the problem even when you don’t finish it perfectly; that persistence is how problem-solving ability grows.
This is completely normal. A month is barely any time in programming, and problem solving is a separate skill that develops through practice. Try breaking each assignment into extremely small steps: create one variable, draw one shape, test one calculation, and so on. Once each tiny piece works, combine them into the larger program.
Programming teaches you to think in a new way, so struggling at the beginning doesn’t mean you’re bad at it. Keep practicing outside class, ask questions when you’re stuck, and learn to treat failed attempts as useful information. Progress usually comes gradually rather than arriving after one particular month or assignment.
Before writing code, describe the solution in plain language or draw a flowchart. For a Turtle assignment, you might first list the steps: choose a position, choose a size, draw a circle, move somewhere else, and repeat. Then turn each step into a small function or piece of code. Larger programs are usually built by combining several simple routines.
Don’t expect yourself to immediately see the best solution. Try a basic approach, run it, and inspect what happens. Beginners often need several attempts before the structure of the problem becomes clear. Add print statements or other simple checks to see which part of the program is behaving incorrectly, then focus on fixing that smaller section.

That helps. I think I’ve been looking at the whole assignment at once instead of figuring out the smallest thing I can test first.