any form of encryption will do. However, the encryption method known as Wired Equivalent Privacy, or WEP, is “worse than useless” ( www.securityfocus.com/ infocus/1824) and “notoriously flawed” ( www.mobile-tech- today.com/perl/story/22207.html). Roberto C. Sanchez said it beautifully: “WEP is the equivalent of leaving the bank vault open at night with a sign saying ‘Please stay out’” ( unixadmintalk.com/ f11/wep-encryption-ndiswrapper- 103651/). The column’s advice should have been: Enable Wi-Fi-Protected Access, or WPA, encryption and don’t bother with the rest. No mention was made of fatally flawed encryption methods (it takes seconds to break WEP), indicating, perhaps, that security is beyond the understanding of almost everyone.

There was nothing wrong with the column’s list of user responsibilities, but they are like saying one should check the water, oil, and brake-fluid levels before driving a car. This may be reasonable advice but is likely to be ignored. The car analogy did offer some direction by adapting the standard rules: green lights (or no lights) are OK, orange is a warning, and red is a problem. Manufacturers should thus consider adding green, orange, and red lights to their wireless devices. Orange would mean the device settings have been accessed from outside the private network; clearing the changes would require pressing a physical button on the device. Red would mean an important firmware update is available. Although users can’t be expected to update their firmware, they should be expected

to understand that red means “See a technician.”

BEREND DE BOER

Auckland, New Zealand

HOW TO TEACH PROGRAMMING TO NOVICES

Chenglie Hu’s “Viewpoint” “Just Say ‘A Class Defines a Data Type’” (Mar. 2008) addressed issues the South African Education Department has been debating over its curriculum for teaching programming and software-development in the country’s high schools (grades 10– 12).

Under the curriculum, schools can choose between two programming languages: Java and Delphi. However, the pro-Java and pro-Delphi teachers are divided with regard to object-oriented programming, event-driven programming, use of GUIs, and possible drag-and-drop advantage for Delphi learners. Teaching “objects first” is an approach advocated by most Java teachers and “objects later” an approach advocated by most Delphi teachers. Some Java teachers avoid GUIs and IDEs, preferring a text-based approach. In addition, each side has characterized the other as taking a “procedural approach” rather than an “ object-oriented approach.”

The two groups are further divided by their views of which language is best for teaching programming to 15-year-olds. Hu suggested the answer lies more in the teaching approach and less in the programming language itself. Many teachers are of the opinion that problem solving should be the focus and that the language is only a tool. However, when teaching how to use that tool, the focus

might be more on learning how to use the language than on solving problems. In any case, students must be prepared to answer whether a particular tool should determine the strategy for solving a particular problem.

Should we educators follow Hu’s approach, exposing students to problem-solving paradigms and strategies and preparing them to be able to choose the most appropriate tool (language and/or data structure) to solve the problem at hand? Our decision to remove data representation from the curriculum could turn out to be a mistake if Hu’s view that the study of data types and how data is represented is fundamentally important to learning and teaching programming, unless our teachers make sure to fill in this background knowledge.

Our teachers are also pondering other questions in the context of teaching computer programming to novices: For example, What is the proper role of computing algorithms (such as for sorting), when programmers are able to call a method (someone else has written, like .sort) without understanding how a sorting algorithm works? The students must still know the reasoning behind method calls, as well as the proper role of array data types when databases are used as a data structure.

CARINA LABUSCAGNE

Pretoria, South Africa

Please address all Forum correspondence to the Editor, Communications of the ACM, 2 Penn Plaza, Suite 701, New York, NY 10121-0701; email: crawfordd@acm.org.

References:

http://www.securityfocus.com/infocus/1824

http://www.mobile-tech-today.com/perl/story/22207.html

http://www.mobile-tech-today.com/perl/story/22207.html

http://unixadmintalk.com/f11/wep-encryption-ndiswrapper-103651

mailto:crawfordd@acm.org

http://unixadmintalk.com/f11/wep-encryption-ndiswrapper-103651

http://unixadmintalk.com/f11/wep-encryption-ndiswrapper-103651

http://www.securityfocus.com/infocus/1824

Archives