π

Learning Haskell with the Learning Sciences

Show Sidebar

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:

I used specific methods in writing this proposal to overcome writers block and will keep in mind for further times:

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:

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.

Comment via email (persistent) or via Disqus (ephemeral) comments below: