<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="181361" data-post-id="181361">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickdm/120/7579_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you <a class="mention" href="/u/john-goff" rel="nofollow">@John-Goff</a>, I have the same idea, using Elixir to teach programming, obviously from a functional point of view, but there is no need to even mention it at this preliminary stage. I don’t want to introduce unnecessary concept. I dont want to teach Elixir itself, it will be a tool nor the goal. OTP,  concurrency, are concept that will not find any place until one discover the problem they are meant to solve. And that requires times and a good amount of coding. Also, as you suggest, I’ll begin with iex and then exs scripts, there is plenty of things to learn before reaching  for more advanced concepts. Thank you for you contribution.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181361" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-181361" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181361"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #21"></div>
  </section>
</div>
    <div class="postbit" id="181363" data-post-id="181363">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickdm/120/7579_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Interesting approach, I can see the rationale of it, especially in producing early applicable results. But I will try to keep the teaching the most technology agnostic I can, and not focusing on real world specialized problems and solution. Steps 3 and 4 are too complex for the goals of this introductory course, we won’t get near web development yet. Before that I believe we will need a good intro to plain static HTML and some basic CSS. Only after that, I could think of introducing web dev, server rendering and the Phoenix framework; and I see many months of learning before reaching that point. Thank you for you contribution, I will keep it in mind to see if  I could introduce it sooner than I expect.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181363" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-181363" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181363"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="181448" data-post-id="181448">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="WFransen" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/WFransen/120/15594_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  WFransen
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m happy to see that people are (thinking about) using Elixir to teach programming!</p>
<p>We at UCLL at Belgium are using Elixir to teach the courses Internetprogramming Major and Distributed applications. The students already have a background of OO programming (and html, css, etc…). It is interesting to see the mistakes they are making, such as:</p>
<ul>
<li>Even after a few weeks, some students still try to manipulate data instead of transform it</li>
<li>if statements. They’re everywhere!</li>
<li>pattern matching is a challenge</li>
<li>recursive functions seem to be a big hurdle to overcome.</li>
<li>They’re not used to solving things with higher order functions. Their most trusted tool (the for loop) is gone, and they try to use the for comprehension to manipulate data, which fails quite often. It is my personal opinion, but I try to forbid using that for comprehension and suggest them to use an higher order function as it only confuses them.</li>
<li>GenServer: messages (specifically cast messages) are used as setters, which results in messages everywhere! Invalid states and crashes are the result of this. Good thing they have a supervisor…</li>
</ul>
<p>Those are just some of the more common ones. If I can help in any way, feel free to ask!</p>
<p>Regards,<br>
Wannes</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181448" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-181448" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181448"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="181453" data-post-id="181453">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickdm/120/7579_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you very much <a class="mention" href="/u/wfransen" rel="nofollow">@WFransen</a>, I’ve been there when I decided to learn FP and Elixir, coming from 10 years of Ruby OOP, and having started back when GOTO was not a bad word nor a horrible idea. I will put a lot of attention and efforts to make those points the natural way to go since the beginning. Then if my student will need to learn about for loops, well, she’ll take the responsibility for that <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"><br>
Thanks for your offer,  I will remember to ask!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181453" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-181453" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181453"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="181461" data-post-id="181461">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="vildeserina" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/vildeserina/120/19801_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  vildeserina
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><strong>Just a newbie perspective:</strong> I just started programming some months ago! Started with Javascript, but I got really annoyed with a course called “Object oriented Javascript”, because I didn’t see the logic in the way of organizing the code.</p>
<p>Then I discovered Elixir! I saw people saying it was a great language, but that it was difficult to shift mindset from a OO-language. So I decided to dive head first into functional programming with Elixir first, instead of the other way around.</p>
<p>I think Elixir has been supereasy to learn, and for me it seems like better tool to learn programming in general. When I look at other peoples javascript code, it seems like a big mess in my head – even though I know the basics. It’s way more easy to follow and read code in Elixir, especially with the pipe operator.</p>
<p>Most important, it’s fun! And that’s the most important thing when learning to program.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181461" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-181461" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181461"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="181462" data-post-id="181462">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickdm/120/7579_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="vildeserina" data-post="26" data-topic="32740">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/vildeserina/48/19801_2.png" class="avatar"> vildeserina:</div>
<blockquote>
<p>Most important, it’s fun! And that’s the most important thing when learning to program.</p>
</blockquote>
</aside>
<p><img src="https://forum.elixirforum.com/images/emoji/apple/smiling_face_with_three_hearts.png?v=15" title=":smiling_face_with_three_hearts:" class="emoji" alt=":smiling_face_with_three_hearts:" loading="lazy" width="20" height="20"> Thank you for that! This is the hidden reason behind my choice of Elixir. Then when you love to program you can also stand the jayEssMess <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"> -<em>if they pay you enough</em>-</p>
<p>I have to say that I learned with Sinclair BASIC, there were not many other choices back then. It was the glorious time of spaghetti code, one liner functions and a hell of GOTO and GOSUB. But I had sooo much fun anyway, writing my programs on paper, waiting to get my hands onto a ZX80 microcomputer, at the local shop, to see if they worked or not!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181462" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-181462" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181462"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="181538" data-post-id="181538">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kpanic" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kpanic/120/2052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kpanic
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I just know the existence of <a href="https://github.com/pprzetacznik/IElixir" class="inline-onebox" rel="noopener nofollow ugc">GitHub - pprzetacznik/IElixir: Jupyter's kernel for Elixir programming language · GitHub</a> – but it might be worth to check. It’s a Jupyter kernel for Elixir</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181538" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-181538" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181538"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="181539" data-post-id="181539">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kpanic" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kpanic/120/2052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kpanic
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If I am not mistaken <a class="mention" href="/u/adolfont" rel="nofollow">@adolfont</a> teaches Elixir in universities (pardon the mention and if I remember not correctly <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"> )<br>
I know you from twitter!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181539" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-181539" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181539"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #28"></div>
  </section>
</div>
    <div class="postbit" id="181545" data-post-id="181545">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lud" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lud/120/14382_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lud
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I can imagine Elixir for a first take on programming, but not to learn how to <em>build</em> software.</p>
<p>Elixir is too easy, too <em>good</em> actually. Soon enough the student will hear about JDK/JRE or have to deal with webpack/rollup/babel and figure out how to get something out of that hell of an ecosystem, figure out how to run them python 3 code with /usr/bin/python being v2 on most platforms, why  does my website shows my PHP code, etc, etc.</p>
<p>Oh and why my unhandled node promise teared my whole app down …</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181545" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-181545" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181545"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #29"></div>
  </section>
</div>
    <div class="postbit" id="181546" data-post-id="181546">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickdm/120/7579_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yes, I have played with it some time ago, it could be a good learning tool indeed, but I’d like to start with a simple text editor at the beginning. Thanks for the suggestion!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="181546" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-for-teaching-programming/32740/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-181546" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="181546"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #30"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/32740/load_more?page=4">Load more posts (10 remaining)</a>
</div></template></turbo-stream>