Journal Articles
Browse in : |
All
> Journals
> CVu
> 121
(30)
All > Journal Columns > Editorial (221) Any of these categories - All of these categories |
Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.
Title: Editorial
Author: Administrator
Date: 09 January 2000 13:15:34 +00:00 or Sun, 09 January 2000 13:15:34 +00:00
Summary:
Body:
When I was a teacher I used to summarise the state of educational software as pretty pathetic. Even today I am hardly impressed by what I see on offer. The fundamental problem is that the vast majority of software is either written by computing experts with relatively little understanding of the target user or written by someone with excellent knowledge of the end user but seriously deficient understanding of software development. Please not that I consciously made that last sentence extremely general. There is good software out there but it is notable by its rarity.
From the educational perspective the most important element is to realise that computing is not an end in itself, but a tool that makes new approaches possible. Some of these changes are extremely scary. For example, the advances in pattern recognition make surveillance systems deeply threatening to the ordinary citizen's privacy. In the days when almost all communications were hand written there was no reasonable way that government could inspect every item. I suppose if you go far enough back to when writing was rare a government could have read everything but doing so covertly would be next to impossible. The change is not that government can read your mail or listen to your telephone conversations, or even watch you movement but that computer technology supports it doing this en masse.
Another example is credit card security. The danger of using your credit card over the Internet is not that someone else can get your credit card details, any time your card leaves your sight for even a few seconds it can be copied (giving much more data than simply what is on the surface). No, the danger is that thousands of credit cards can be milked of a small amount (below any suspect use triggers) at the same time.
Now, when I set out to write this editorial I had no intention of getting into threats to privacy and lifestyle so I will leave those for you to think about (please do share your thoughts with fellow members by sending them to me for publication). What I intended to tackle was the dismal quality of material aimed at novice programmers.
A few weeks ago I found myself coining the phrase 'programming virgin' (p.v. for short) to describe the person who knows nothing about programming. There are very few books aimed at such people. Steve Heller's 'Whose Afraid of C++?' springs to mind. Now if you were a truly innocent p.v. with little technical understanding of computers (the kind of person who can use a machine but is baffled by anything even slightly unexpected) such a book could be useful. However for even the marginally technically aware, it is a little like an adult learning to read English with 'Peter and Jane books', the content is not going to stimulate the average reader.
At least Steve Heller made a serious effort to meet the needs of the p.v. (though to my mind the claim that the book had much to offer those already programming is, at best, suspect.) Unfortunately most books aimed at teaching programming are either written by academics with a poor understanding of the programming language they are writing about, or they are written by language 'experts' (note the quotes) with little understanding of the needs of the p.v. Even worse are the considerable number of books written by authors who are both ignorant of the language and of the needs of the reader.
Of course there are a number of books that are aimed at introducing a language to already competent programmers. I would classify K&R, 'The C++ Programming Language', ''The C++ Primer' that way. Such books can be used by a p.v. but only if used under the supervision of a competent programmer with practical teaching/mentoring skills.
You will find a reprint (from 'The C/C++ Users Journal, May 1999') of an article by Bjarne Stroustrup on the subject of why C++ can be used as a good introductory language. To my mind the most important message from this article is that C++ for p.v.s needs to be introduced very differently from the way that every existing book does so. Read the article and think about it. I have, and I would like to share a couple of my thoughts with you.
It would be quite possible to support Standard C with an extra library to provide higher levels of abstraction to make the learning task easier, however I am not convinced that this can be justified when C++ can be used without such extras.
Learning to program is a practical skill and so the beginner needs to be able to get stuck in as quickly as possible. I think that is a big minus for Java, there is simply too much baggage that is needed by even the simplest program. Of course a well-designed course might minimise that problem, but how many writers/trainers/teachers are willing to put in the effort?
One attractive element of Java is that it makes graphics programming accessible at an early stage. I think this is important because it gives the novice a much greater sense of achievement, and so motivates him/her to learn more. A graphics library portable across the main platforms (Unix, Macintosh, MS Windows based PC) would be a tremendous boon to novices and books/courses for same.
The understanding of the teacher is much more important than the selected introductory language. No language is a magic bullet for the process of learning, but gifted teachers are.
The market is wide open for one well-written book aimed at the p.v. As C++ is a widely used language with an appropriate level of abstraction in the core of the language, it might as well be the implementation language for such a text.
Now I can think of a couple of authors who have the technical understanding and the clarity of expression required to write such a book, but how do we persuade them to do the hard work needed to ensure that the result genuinely meets the needs of the p.v.? Unless we can get such a book to market, the skills of the average programmer will remain abysmal.
Please send in your specifications for a book or course aimed at the first time programmer. Perhaps that might encourage someone to write a book or course that all of us can whole-heartedly recommend.
Notes:
More fields may be available via dynamicdata ..