# Silent Teacher - a game to teach basics of programming

**URL:** <https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490>\
**Category:** Show and Tell\
**Created:** [July 13, 2018, 8:17am UTC](https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490 "2018-07-13T08:17:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Janiczek](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/janiczek/32/4516_2.png) [@Janiczek](https://discourse.elm-lang.org/u/Janiczek)\
**Post date:** [July 13, 2018, 8:17am UTC](https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490/1 "2018-07-13T08:17:27Z")

</div>

Two days ago I’ve been searching for some interactive way to help my wife learn programming.  
We’ve found [“Silent Teacher”](http://silentteacher.toxicode.fr/hourofcode), which is awesome!

I’ve immediately started trying to clone that in Elm, and now have a first prototype:

Code: [https://github.com/Janiczek/silent-teacher](https://github.com/Janiczek/silent-teacher)  
**Try it: [https://janiczek.github.io/silent-teacher/](https://janiczek.github.io/silent-teacher/)**

Some things are still missing:

- it doesn’t generate another exercise of the same type when you make an error
- there is a global progressbar instead of “levels” / “topics” grouping
- you don’t see your history, etc.

but it’s there, it’s usable and extensible 🙂

---

<div class="post-metadata">

**Author:** ![albertdahlin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/albertdahlin/32/868_2.png) [@albertdahlin](https://discourse.elm-lang.org/u/albertdahlin)\
**Post date:** [July 14, 2018, 8:03am UTC](https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490/2 "2018-07-14T08:03:33Z")

</div>

Nice, but I got stuck on concatenating two strings, there seems to be a bug there.

On this task

```
let
    a = "xz"
    b = "vcl"
in
    a ++ b

```

I input **xzvcl** but I get a flashing message showing the right answear:

```
let
    a = "xz"
    b = "vcl"
in
    a ++ b
= "xzvcl"

```

Even when I copy / paste that right answer it does not work.

I found the problem [here](https://github.com/Janiczek/silent-teacher/blob/master/src/Exercise.elm#L163), `toString (string1 ++ string2)` will return `"xzvcl"` in my case. If I typed in the surrounding quotes I could continue. Maybe that is intended?

---

<div class="post-metadata">

**Author:** ![Janiczek](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/janiczek/32/4516_2.png) [@Janiczek](https://discourse.elm-lang.org/u/Janiczek)\
**Post date:** [July 14, 2018, 2:40pm UTC](https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490/3 "2018-07-14T14:40:10Z")

</div>

Yes, I didn’t particularly agree with the original version allowing you to omit the double quotes of strings 🙂 So you should input `"xzvcl"` and not `xzvcl`

---

<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:** [July 24, 2018, 2:40pm UTC](https://discourse.elm-lang.org/t/silent-teacher-a-game-to-teach-basics-of-programming/1490/4 "2018-07-24T14:40:12Z")

</div>

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