Forum
I want to express my appreciation
to Chenglie Hu for his “
Viewpoint” (Mar. 2008). My experience trying to switch from the
“pure-OOP” approach in CS1 has
been an uphill battle. For example,
my department still uses Byron
Weber Becker’s Java: Learning to
Program with Robots as the textbook for our CS1 students; while
its value is recognized, it blurs
most of the important elements
for understanding how computers
actually work. For example, how
can these students be expected to
“understand” a constructor with
parameters before finally getting
around to variables and eventually
to methods in Chapter 6? One
result is that we must find another
way to teach them in CS2. I don’t
mind having to use object-oriented programming in CS1, but
we should not pretend that the
algorithmic side of the road doesn’t also lead to solutions to real
problems. As it is, even after a
good part of the semester, the students might have learned only to
play a poorly designed video
game.
CHUNG-CHIH LI
Bloomington, IL
I am an adult learner (age 57) just
starting a Java programming
course at the University of
Phoenix, online. The first assignment was “Describe the difference
between an object and a class.” As
you can imagine, the answers and
examples were all over the place.
After reading Chenglie Hu’s
“Viewpoint” (Mar. 2008), I
understand why he would not
start students out with a discussion about objects and classes.
Of special interest to me was
the approach he suggested for
teaching programming. Has he
used such an approach with his
own students? Is it still too early to
think about using it for teaching a
class? Maybe Hu can write his
own textbook to spell it out in
detail.
Although I’m likely to have
graduated before any changes are
made that would help me learn
programming, I want to know
how this idea plays out so I could
make appropriate suggestions to
my university. The online discussions among students who have
finished the Java courses there suggest they were taught in the best
way possible.
I also checked out Hu’s Web
pages at cscserver.cc.edu/chu/ and
was amused to find that some of
his students “might not have happily learned.” I wish I could afford
the luxury of attending classes in
person instead of fitting them in
online around a full-time job and
family. I’m always happy to learn.
The biggest lesson is that although
the amount of knowledge I never
will possess is enormous, I will
never be deterred from trying to
learn more.
MARK HANNA
Banks, OR
Author’s Response:
In their comments, Froehlich
(while I respect his objections) and
Li shared what has worked and
what hasn’t in their respective
classes. Cain shared an instance of
how important real-world examples are to the learning process.
And Hanna, as a novice, was still
wondering about the best way for
him to learn programming. The
common thread is that educators
must find ways to give their programming students a coherent
learning experience. At the very
least, they, along with textbook
authors, must provide examples
they are most likely to benefit
from in their software-engineering
classes.
CHENGLIE HU
Waukesha, WI
ENFORCE USER COMPLIANCE
AS A FIRST LINE OF DEFENSE
The article “The Myths and
Truths of Wireless Security” by
Alfred Loo (Feb. 2008) put too
much emphasis on passwords.
End users are known for their
inability to use decent-strength
passwords. Even expecting them
to care about passwords aims too
high. The IT staff must be
reminded over and over of such
user attitudes and behavior.
When my end users request
changes in their passwords, they
always want to know the minimum password length and
whether they must include nonalphabetic characters. I tell them to
use whatever password they want
as long as it doesn’t have to be
written down. I also tell them to
use at least one element that
changes between servers. The reason for not having to write it
down is that most intrusions
involving password guessing come
from colleagues in the same organization, not from “professional”
attackers. Meanwhile, they resist
even basic schemes that go beyond
the old (flawed) login+password
schemes.
Confronted by security challenges, time-based tokens, one-time passwords, and the like, they
politely listen to administrators’