I'm studying software engineering and struggling badly with my introductory programming course. I can usually follow the theory, but when I have to solve a problem without an example or autocomplete, my mind goes blank—even with basic Python if statements. I feel behind because many classmates already seem comfortable coding, and explanations from friends often go over my head. I enjoy programming, but I'm getting discouraged and worried I might fail or drop out. What resources, habits, and exercises can help me build problem-solving skills and become more independent?
3 Answers
Start by separating problem-solving from syntax. Before writing Python, describe the solution in plain English or pseudocode, preferably on paper. Break the task into tiny steps, then translate one step at a time. You aren’t expected to stare at an empty file and instantly know the finished solution.
Practice is the main thing, but make the practice small and repeatable. Try little programs such as a number-guessing game, a calculator, a to-do list, or a text-based menu. These give you practice with variables, input, conditions, loops, and functions without overwhelming you. Write each one from scratch, even if you need to look up a language detail occasionally.
Using autocomplete or documentation doesn’t mean you’re cheating or incapable. The goal is to understand what the code does and gradually need less help. When stuck, make one tiny change, run the program, and check the result. Use a debugger to step through existing code, and try easy exercises regularly rather than jumping straight into difficult challenges. Everyone eventually reaches harder concepts; first it’s syntax, then design and architecture.

I think I’m struggling with both the problem-solving and the syntax, and I’m pretty burned out, so I probably need to slow down and work on smaller pieces.