This semester, I will continue my Haskell journey that I started two years ago but had to put on hold due to other commitments. My goal by the semester's end is to develop an open-source comparison platform using the web framework IHP and gain a deep understanding of its generated code, enabling me to make modifications. To achieve this, I will apply various lessons I learned about effective learning.
On Learning
In addition to Barbara Oakley's course, I consulted her TEDx talk and other videos and articles, as well as the German book "So lernt man lernen" by Sebastian Leitner. Although the book is somewhat dated, it offered valuable insights. I have now read it the third time over the last years, each time taking away different lessons, which I will elaborate on throughout the semester.
Procrastination
Learning needs focus. In recent times, procrastination has become quite a common habit of mine, the "zombies", as Barbara Oakley puts it, taking over counterproductively.
There are a few measures I will take to combat that:
- Establish a tool where I can immediately write down distracting tasks and rest assured that I can pick them back up later when I actually have time for them. Currently this is org-journal within Emacs, my preferred writing and note-taking tool.
- Planning the day ahead (as mentioned in the video "Juggling Life and Learning" of week 3: https://www.coursera.org/learn/learning-how-to-learn/lecture/QuZsE/juggling-life-and-learning) and keeping track of whether I am on plan through the day in my pocket notebook.
- Committing to a process over a product (as elaborated in the course and in https://www.youtube.com/watch?v=V2PP3p4_4R8).
- I will investigate turning off internet and grayscaling my computer for specific time periods to prevent overload.
- Reflecting once more on my needs for a task manager and setting up a system that works for me to liberate my working memory.
I used specific methods in writing this proposal to overcome writers block and will keep in mind for further times:
- a tool like "Write or Die" or "The Most Dangerous Writing App" to force myself to get going - I did not use most of the text written in these sessions, but they got me out of the blockade - later supplemented by Pomodoro Timers
- switching the environment, as procrastination habits can become entrenched in a specific location and writing on my laptop is location-agnostic
- listening to ambient instrumental music, in my case the artist "Tony Anderson"
- yes, I will be honest about this, asking ChatGPT for ideas - no it did not write a single word of this proposal, but has already helped me on countless occasions to become unstuck
Furthermore, I will deliberately take times of not occupying my mind when engaged physically. This allows my diffused mode to work and assess my well-being to prevent overwork.
Further Research
Throughout the semester, I will reconsult the mentioned resources and seek additional materials to address challenges that arise. In this process I can already apply methods I learned so far. Two books concerning Procrastination I particularly want to investigate are "Indistractable" and "The Now Habit".
I will enhance the value I gain from courses, videos, and podcasts by using the "30-second-recall" technique, which involves summarising important points immediately after engaging with the content. This method aids memory consolidation. I will also remove barriers to learning, carry a pocket-sized notebook for jotting down important insights, and dedicate time to revisiting my notes weekly.
Haskell Peer Learning
To consolidate my knowledge of Haskell, I plan to revisit the book "Learn You a Haskell for Great Good" and take the opportunity to involve others in the learning process. I will host a weekly learning group via video call every Tuesday evening.
To ensure effectiveness, I will research how to structure a learning group and collaborate with Jannis Jorre, who previously guided me in learning Haskell. I will follow Barbara Oakley's tips for effective group learning:
- Starting on time
- Minimising small talk
- Study the material before the session
Each week, we will cover one or more book chapters, engage in discussions, practice active recall, and test ourselves through coding challenges (Code Katas). Later, we apply what we learned in own projects.
Through this I aim for a higher level in the module as supporting others in their learning journey is an important part of my life. I plan to extend the lessons from this experiment to gamified learning through games like "Human Resource Machine" and the Software-Challenge Germany pupil competition I work for. We need many programmers in the future, and there are plenty promising prospects, they simply needs some guidance to get started and find out whether that field is right for them. That is what I hope to support with my work in the future.
Documentation
I will regularly update my blog with tagged entries at https://barelybuggy.blog/tags/learning/ documenting my learning journey, compiled from notes in Emacs Org Mode. At the end of the semester, I will summarise these experiences and insights in the reflective essay.