Bennett, On Mon, 2009-04-06 at 11:10 +0200, Bennett Kankuzi wrote: > Dear All, > > I work for the University of Malawi in Africa (http://www.unima.mw). I > am taking a freshman class in programming for computing students. I > have to choose between Java, C and C++ since these languages have > their compilers already instead in our computer labs. These students > are just coming from secondary school and they have general computing > skills which are taught in secondary schools in Malawi. > > Searching through the web I note that the issue on the choice of an > introductory programming language to students is quite debatable. What > is your take PPIGers on this issue? What can you recommend for my > situation?
Despite Francis Glassborow's and Bjarne Stroustrup's books intended as introductory programming texts, I would say C++ is definitely for a second course in programming. C is probably useful as an introductory language for electronic engineers, but it is almost certainly too low-level and with restricted abstraction constructs for computer science students. Java has been taken up by a large number of institutions as a first teaching language, many of them even use the book Graham Roberts and I wrote ("Developing Java Software") as a teaching text :-) However, I am increasingly of the view that using a dynamic programming language such as Groovy or Python for a first introductory course is the right way forward. The ease of accessibility to quite sophisticated features enable people (relatively) new to programming to write quite complex programs quite easily. This enables them to get a first understanding of programming and the tools of programming so that then easing them into Java and/or C++ becomes much easier. Most important, the ability to create interesting and complex programs quickly and easily enhances interest, motivation and general fun. The importance of these factors should never be underestimated! Experience (anecdotal) of Sarah Mount (at Wolverhampton) and James Shuttleworth (at Coventry), my co-authors for "Python for Rookies", indicates that Python is a very good tool for teaching students introductory programming. In a sense this ought to be expected since Python grew out of a project to create a very good programming language for teaching and learning. Experience (again anecdotal) of Graham Roberts at UCL is that Groovy as a first language works well. Their structure is an introductory course in programming (starts with half the course in Groovy followed by half the course in Prolog) followed by a second course in programming using Java. They are finding that this works well as a two-course programme. -- Russel. ============================================================ Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: http://www.russel.org.uk/
Description: This is a digitally signed message part