Programming requires patience and persistence, especially at the start of the learning process... with enough practice, it does click into place.
The CS50 duck debugger is an homage to... rubber duck debugging: if you're stuck on some code, talking through the problem with some toy or other inanimate object can help you figure out the solution all by yourself.
[
add
]
[
|
|
...
]