RE: Choice of introductory programming language to a freshman class
Enda, On Tue, 2009-04-07 at 09:15 +0100, Enda Dunican wrote: I was under the impression that the idea behind a discussion list was to allow people to express their opinions. I simply expressed an opinion. One could accuse your email of attempting to stifle freedom of expression, but I'd never agree with such an accusation! I am clearly feeling grumpy this morning, and the pain killers are not working which just makes things worse. Sorry. -- Russel. Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Roadm: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: http://www.russel.org.uk/ signature.asc Description: This is a digitally signed message part
Models of Parallelism
Prompted by various discussions elsewhere, I am on the search for recent experimental results and/or people doing or about to do experiments. The questions all relate to the models of parallel software: shared-memory multithreading, Actor Model, Dataflow Model, Communicating Sequential Processes (CSP), data parallelism. Question 1 is: is synchronous message passing easier for programmers to work with than asynchronous message passing. Question 2 is: are the case classes of Actor Model easier for programmers to work with than the select statement of Dataflow Model and CSP. There are more but those are the two biggies. There is a lot of people who know precious little about psychology using advocacy research out there building up various known facts about what is and is not better from a cognitive perspective. Some of them base this on observed anecdotal evidence which gives it some legitimacy, some of them are peddling their own beliefs. So real experimental evidence from people who know what they are doing would be most welcome. Thanks. -- Russel. = Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Roadm: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder signature.asc Description: This is a digitally signed message part -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
RE: Call for advice, and possible case study?
On Fri, 2011-06-10 at 19:47 +0100, Stasha Lauria wrote: I fully agree on both: 1- Don't teach Java. 2- before learning _Java_, it pays to learn something about _programming_, and that's definitely easier using Python than using Java. This is based on my personal experience of teaching programming to First year undergraduate students. Graham Roberts at UCL is using Groovy and Sarah Mount at Wolverhampton and James Shuttleworth at Coventry are using Python to great effect. The folk at Leeds are using Python also I believe. The big problem though is the the issue of type. Believers in static strong typing will object to the use of languages that work with dynamic typing even though learners seem to find it easier to do things without having to worry about types in the first instance. I guess someone somewhere needs to do some experimentation rather than there just be anecdotal evidence and advocacy research? -- Russel. = Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Roadm: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder signature.asc Description: This is a digitally signed message part -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Call for advice, and possible case study?
On Mon, 2011-06-13 at 14:47 +1200, Peter Gutmann wrote: Richard O'Keefe o...@cs.otago.ac.nz writes: Well in that case, perhaps the language to start with should be Haskell... Teaching programming by starting people on Haskell is like teaching ESOL (English for non-English speakers) by starting them on Klingon [0]. We tried using Miranda (a precursor to Haskell) followed by C++ in the late 1980s at UCL. In many ways it was very successful but as will not surprise anyone here, I think this was mainly due to the energy and enthusiasm of the teaching. In long distance hindsight, the main problems were the emphasis on mathematically related problems, and the REPL. I remain totally unconvinced by the emphasis on using REPLs in even the most recent books on teaching programming languages, cf. Haskell, Scala, and some Python books. File editor + execution systems, such as Python's IDLE or Groovy's GroovyConsole seem to me to be far better tools for teaching -- Emacs doesn't count as lightweight, and IDEs such as Eclipse and IntelliJ IDEA certainly do not. I am not sure what has happened to BlueJ recently. If I were still involved in introductory programming teaching (as opposed to training/education of programming professionals which I do quite a lot of now), I would be thinking of replacing Java with either Scala or Groovy depending on whether static typing or dynamic typing was the approach the rest of the people involved in the teaching preferred. The Java Platform is a multi language platform, Java, Scala, and Groovy being the main languages with Clojure in a group on its own following, with Jython, JRuby, BeanShell, etc. in a third group following that. The libraries that come as standard, and that which can be obtained from the Maven repository are the true powerhouse of the Java Platform, not Java per se. Using Groovy or Scala to teach how to use the Java Platform seems entirely natural to me since both remove all the ceremony that the Java programming language continues to suffer. And Java 7 will not fix that. Nor will Java 8. And in the modern era concurrency and parallelism should not be a specialist final year option, it should simply crop up naturally as integral part of introducing people to programming. Groovy+GPars and Scala allow for this, Java does not. Peter. [0] For those unfamiliar with it, it's been specifically designed to be unlike any other language spoken on earth. -- Russel. = Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Roadm: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder signature.asc Description: This is a digitally signed message part -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).