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/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to