My philosophy of learning is almost the complete opposite:
Find a Project.
Any Project. That will give you a real-life set of goals for your learning. You will find roadblocks. Getting past those is what is teaching you.
Build one to throw away.
By the time you have finished your project, you will have learned enough to realise that your completed project is Unbelievably Bad. Throw it away and rewrite it from scratch using your new found knowledge. Sometimes, you will even throw away that second one. (And even the third....).
Expand Your Horizon.
I have used one particular pet project several times. Each time that project produced new learning, and new challenges, and new solutions. It's also improved from being a very simple project to being quite a complex beast. It's moved from Z80 assembly, through C and from plain text through curses to a GUI, and on through X to its current incarnation in GTK+. It won't be long before it will be asked to move from GTK 3 to GTK 4.
1 comment
[ 1.3 ms ] story [ 14.9 ms ] threadFind a Project.
Any Project. That will give you a real-life set of goals for your learning. You will find roadblocks. Getting past those is what is teaching you.
Build one to throw away.
By the time you have finished your project, you will have learned enough to realise that your completed project is Unbelievably Bad. Throw it away and rewrite it from scratch using your new found knowledge. Sometimes, you will even throw away that second one. (And even the third....).
Expand Your Horizon.
I have used one particular pet project several times. Each time that project produced new learning, and new challenges, and new solutions. It's also improved from being a very simple project to being quite a complex beast. It's moved from Z80 assembly, through C and from plain text through curses to a GUI, and on through X to its current incarnation in GTK+. It won't be long before it will be asked to move from GTK 3 to GTK 4.