in reply to Re: Re: Beginning Programming with Perl
in thread Beginning Programming with Perl
Actually, this is one reason why I suggest starting with a sane assembly language, probably in a simulated environment. (My university's using spim for this purpose, although the intro assembly course is well into the comp.sci. curriculum.) The scope of the programs, especially the first programs, are so limited that the students don't have the opportunity to get overwhelmed with detail, so they're free to concentrate on the basics of what they're doing.
Further, programming in assembly gets out of hand so quickly (if you let it) that some good programming practices, like descriptive names (for labels and such), subroutines, even stuff like unit tests are actually emphasized, rather than ignored. I've never seen an introductory programming course taught in assembly, but I imagine it could be very successful at teaching basic programming practices.
In my experience, students who have learned to program in "helpful" languages have a difficult time taking over the chores of memory management, bounds checking, and so on when they switch to a lower-level language like C or assembly, because the languages (and, usually, the instruction) hide the workings of the computer to the degree that students aren't prepared (or inclined) to think of memory as a finite resource that must be explicitly allocated and freed, or pointers as things that can point to unexpected places, or strings as having finite length, etc. Sure, this sort of careful programming (really, the issue at hand is resource management) can be learned after the basics, but it often isn't. There is a lot of ground to cover in a standard comp.sci. curriculum beyond the basics without including extra material on basic software engineering.
No worries. :-)
--
F
o
x
t
r
o
t
U
n
i
f
o
r
m
Found a typo in this node? /msg me
The hell with paco, vote for Erudil!
|
---|