Start the coding assignments the day they come out. Seriously.
Not to scare anyone, but the biggest mistake I made was treating the assignments like something to do the weekend before they were due.
The code itself usually isn't long. What takes time is the edge cases: empty structures, a single element, removing the root, duplicates, null inputs. Those only show up when you test, and testing takes days, not hours.
What worked once I changed my approach:
- Day 1: read the spec and write down every edge case you can think of.
- Day 2–3: get a basic version working.
- Remaining days: write your own tests and break your own code.
Starting early also means you can go to office hours with a specific question instead of "I don't know where to start."
Comments
Writing edge cases on day 1 is underrated. It basically writes your tests for you.
Learned this the hard way. Edge cases took me 3x longer than the main logic.