On Tue, 2010-12-14 at 17:54 +0100, Fabrizio Giudici wrote: > On 12/14/2010 04:41 PM, Russel Winder wrote: > > > >> Programmers would be better trained if the first language they're taught > >> is a traditional that compiles into native code, such as C. You know > > You are joking, aren't you? Students should know C or C++ before they > > graduate, but it is not a good first language in general. It is > > important to focus first on algorithm and realization of algorithm using > > a programming language. > > I find that that approach is a disaster for a computing *engineering* > course (I'm not talking about computer *science*). Is too theoretical > and it was unfortunately the approach that universities in my country > followed when I graduated. The problem was that the engineering > graduation was politically dominated in the first two years by > mathematicians which delivered a inflated bunch of stuff about > mathematical analysis and algorithms, and the consequence was that at > the third year most students didn't have any practical knowledge of what > a computer was (unless they had already one, like me, or they came from > a technically oriented school). They had exams about digital signal > manipulation, but nobody explained C to them. A total mess.
I think you draw the wrong conclusion from the data. I stand by my position based on having taught programming and software engineering to computer scientists, electrical engineers, economists, physicists, and indeed graphics designers. Computer engineering and computer science are the same subject when it comes to the programming element! It sounds as though the real problem you had was that programming was being taught by people who didn't understand programming. You used the word mathematician to describe the teachers and given your description of syllabus either you were not a model student ;-) or they were fairly poor teaching staff. I can imagine your universities (like those I left a decade ago) were full of people who were either interested only in research, research funding, and research projects, or were more or less incompetent but didn't think they were. I know of a few people still in universities who can program and can teach programming, but there are far, far too few of them. Sadly the UK universities are being decimated just now by our government, so I doubt things will improve any time soon. > It's true that today almost everybody knows what a computer is before > entering the university, but I still think that practice-oriented > approaches are better for engineers. Actually, most people know how to browse the Web, how to use office suites, use photo manipulation software, but they don't actually know what a computer is. Practice oriented approaches are best for everyone when it comes to programming whether they are engineers or scientists (or economists). I think you made a connection between what I was saying and your experience of being taught. From what you say the two cannot be more different. > Also consider that many students either can't make through the end of > the university (this figure changes a lot from country to country) or > can pause their studies for earning money and then resume. Thus if they > first learn C, Java or C# they have more chances to take advantage of > it, rather than other languages. That's why I think that university must > teach even languages which are radically different than C or Java, but > *after* C, Java or C#. Which is an even stronger reason for the approach I advocate. All I am saying is that C, Java and C# are the wrong first programming languages as they introduce issues totally unrelated to the process of converting problems into solutions. > Indeed it's a complex topic, because it also depends on what you > possibly learn about computers in the secondary schools, which again I > suspect is something very different from country to country. Very true. The UK is probably the very best example of how to get it totally and completely wrong. Worse it looks like the current government is completely and totally unwilling to understand that there is a problem. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part
