On Wed, Jan 23, 2013 at 10:14 AM, Richard O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">And Rob Hagan at Monash had shown that<br>
     you could teach students more COBOL with one semester<br>
     of Scheme and one semester of COBOL than you could<br>
     with three semesters of COBOL.<br>
</blockquote><div><br>Nice!  One of the difficulties in being a teacher is that we know:<br>- Yes, facts are important.<br>- Learning them is more important<br>- The learning-curve more so still.<br><br>In established disciplines like music-education this is a commonplace.<br>
If we challenge the student too little, they lose interest; too much and wrong habits get fostered and set.<br><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

One problem is that Computer Science departments simply do not have<br>
the time to teach everything they need to teach.  Students want to<br>
leave in 3 years with qualifications an employer will like, and<br>
employers want 'practical' languages in CVs.  I have a colleague<br>
who cannot spell because he was taught to read using the Initial<br>
Teaching Alphabet, so I'm less convinced about the educational<br>
benefits of neat languages than I used to be.<br>
</blockquote></div><br>The problem in CS is that we do not agree (or even know) what is easy, what is hard and how to calibrate from easy to hard. How many established teachers know that concurrency can be easier than it is in C/Java?<br>
<br>In this respect I maintain a list of traditional CS-edu-mistakes at<br><a href="http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html">http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html</a><br>
and<br><a href="http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-2.html">http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-2.html</a><br><br>On the other hand I should mention that I just finished teaching a course on erlang.<br>
I found it very hard.  I simply assumed that it is because I am too much of a noob to really 'get' it yet. [When one has taught programming for 25 years, its funny how often one hears a beginning student protest: "The compiler has a BUG!"]<br>
<br>However after seeing Simon's comments below, I feel a little mollified that perhaps I am a fool but not an utter fool :-)<br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
On Wed, Jan 23, 2013 at 9:06 PM, Simon St.Laurent <span dir="ltr"><<a href="mailto:simonstl@simonstl.com" target="_blank">simonstl@simonstl.com</a>></span> wrote:<br><br>
I was delighted to find Erlang's shell, which made using this compiled 
language much friendlier.  I was amazed by its remote capabilities.  But
 then I was bluntly disappointed by the difficulty of using it as an 
environment - even a trivial environment - for interactive applications.
  It became clear quickly that the beauty of my examples would have to 
be abstract, because there wasn't going to be much I could show without 
endless preamble to distract readers from the basics.<br>
<br>
Erlang (or maybe it will be Elixir) has the power to be a language that 
transforms computing.  It has the right tools to solve common problems.<br>
<br>
However, it may take some extra work to make it easier for people to see that!<div class="im HOEnZb"><br><div class="im HOEnZb">
<br>
Thanks,<br>
-- <br>
Simon St.Laurent<br>
<a href="http://simonstl.com/" target="_blank">http://simonstl.com/</a><br></div>
<br></div></blockquote><br>