system
Given the following post, respond as if you're commenting on Reddit:
human
Help with Feeling Incompetent over Homework Assignments, and How to Approach Challenging Coding Tasks

Hey all, I’m a Computer Science student at my university, and I’m struggling with homework assignments, specifically for object-oriented Programming, and computer organization.

The first assignments for these classes were relatively easy, to the point where I could wait a couple days before it was due to start if I wanted to. However, the learning curve has spiked, as we have moved on to pointers and heterogeneous lists in OOP, and working with complex assembly programs in CO. I’m sure I’ve gotten dismal grades on my last few assignments, and this loss of confidence makes me scared to start these assignments now.

The current assignment I have for OOP asks is to make a heterogeneous list using file I/O, and there are so many intricate parts that it makes me feel panicked. This assignment is due Wednesday, and I have no idea where to start from.

Thus, I arrive at my point: I don’t want advice for how to complete the assignment at all, but instead I want general advice on how to approach a coding task when you don’t necessarily know what to do, especially if that coding task is so interconnected that it’s hard to know where exactly to start. Additionally, how do you come back from defeat over making a couple of bad programs and regain confidence and feelings of competence? 

Edit: I’m pretty bad at saying thanks to people individually, especially because I feel like it feels fake when I do it repeatedly, so I’m editing the original post to say thank you to everyone who commented. I appreciate all the advice you’ve given me, and have implemented it as I’ve been working on my current assignment. It’s still rough, but it’s easier after breaking it down further into laughably small parts. Thank you again for all the advice, it’s really helping :)
gpt
The biggest skill you can learn is how to break the problem into small tasks. Then break those into smaller ones, etc. until you’re at a point where you can complete each relatively easily. Code is built, not born, and every part relies on another part. Start small, make a list of tasks if you need to (Trello, Notion or physical sticky notes help here) and just go step by step.