# Good source for exercises

**URL:** <https://discourse.elm-lang.org/t/good-source-for-exercises/3239>\
**Category:** Request Feedback\
**Created:** [March 1, 2019, 2:16pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239 "2019-03-01T14:16:38Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![k-bx](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/k-bx/32/4837_2.png) [@k-bx](https://discourse.elm-lang.org/u/k-bx)\
**Post date:** [March 1, 2019, 2:16pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/1 "2019-03-01T14:16:38Z")

</div>

Hi. I’ve started running an Elm Study Group in Kyiv recently, we are going through Richard’s [Elm in Action](https://www.manning.com/books/elm-in-action) book and it’s great, but one thing we lack is weekly exercises.

I thought that this forum might be a good place to reach out for help gathering them. You can see the schedule here [https://github.com/KyivHaskell/elm-study-group#розклад](https://github.com/KyivHaskell/elm-study-group#%D1%80%D0%BE%D0%B7%D0%BA%D0%BB%D0%B0%D0%B4) , with links to current homeworks. We are on week 2 right now (week 1 went well, had our first meeting yesterday!)

Focus is to:

- cover book’s material, ideally exercises should be in sync with its contents, but we broke this rule already by giving exercises for week 1 involving “Maybe”, so it’s not a must
- cover some general FP exercises for people not familiar with FP. I want to gather some nice little tasks involving point-free, Maybe-composition and other things which are often used in practice
- don’t be overly complicated (people have their daily job), but also give enough material to cover “regular” and “extra” portions, so that people usually have enough to work with when we meet and not just solve everything in 10 minutes

Anyways, any feedback is welcome. Thank you!

---

<div class="post-metadata">

**Author:** ![k-bx](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/k-bx/32/4837_2.png) [@k-bx](https://discourse.elm-lang.org/u/k-bx)\
**Post date:** [March 2, 2019, 8:17am UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/2 "2019-03-02T08:17:38Z")

</div>

As an update, I’ve found the 99 Elm Problems since, which is definitely helpful [https://johncrane.gitbooks.io/ninety-nine-elm-problems/content/](https://johncrane.gitbooks.io/ninety-nine-elm-problems/content/)

Plus, I will try to ask for a single little SPA each week, which should help with the practice side. Other than that, few little functions manipulating dicts, lists and strings would do.

---

<div class="post-metadata">

**Author:** ![rl-0x0](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rl-0x0/32/1866_2.png) [@rl-0x0](https://discourse.elm-lang.org/u/rl-0x0)\
**Post date:** [March 2, 2019, 10:16pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/3 "2019-03-02T22:16:20Z")

</div>

Another good option is 7GUIs [https://eugenkiss.github.io/7guis/](https://eugenkiss.github.io/7guis/)

Small enough tasks, but enough depth to explore different approaches, particular ‘making impossible states impossible’. There are a number of implementations in most languages, including Elm, to compare, contrast and learn from.

---

<div class="post-metadata">

**Author:** ![k-bx](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/k-bx/32/4837_2.png) [@k-bx](https://discourse.elm-lang.org/u/k-bx)\
**Post date:** [March 3, 2019, 9:16am UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/4 "2019-03-03T09:16:26Z")

</div>

That’s very nice, thank you! Much better than the boring “validate email” task I gave, took the temperature converter already.

---

<div class="post-metadata">

**Author:** ![jcmrva](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/jcmrva/32/2310_2.png) [@jcmrva](https://discourse.elm-lang.org/u/jcmrva)\
**Post date:** [March 3, 2019, 9:24pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/5 "2019-03-03T21:24:02Z")

</div>

Have you looked into [https://exercism.io/](https://exercism.io/) ?

---

<div class="post-metadata">

**Author:** ![k-bx](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/k-bx/32/4837_2.png) [@k-bx](https://discourse.elm-lang.org/u/k-bx)\
**Post date:** [March 4, 2019, 9:05am UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/6 "2019-03-04T09:05:55Z")

</div>

Forgot about it, thanks for mentioning!

---

<div class="post-metadata">

**Author:** ![brasilikum](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/brasilikum/32/524_2.png) [@brasilikum](https://discourse.elm-lang.org/u/brasilikum)\
**Post date:** [March 4, 2019, 2:59pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/7 "2019-03-04T14:59:12Z")

</div>

I think it’s still 0.18 which seems to be fine because in the context of the excises very little has changed.

---

<div class="post-metadata">

**Author:** ![atom-box](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/atom-box/32/1532_2.png) [@atom-box](https://discourse.elm-lang.org/u/atom-box)\
**Post date:** [March 4, 2019, 5:24pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/8 "2019-03-04T17:24:20Z")

</div>

These are more like courses, but  
I am enjoying the 5 hour[Emoji project](https://elmbridge.github.io/curriculum/) (free)

Waiting to try out [Make 22 Gamemaker games](https://www.udemy.com/learn-elm-functional-programming-and-make-22-gamemaker-games/) Udemy course (cost)

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [March 14, 2019, 5:24pm UTC](https://discourse.elm-lang.org/t/good-source-for-exercises/3239/9 "2019-03-14T17:24:25Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
