Rick Conn wrote:
> Now that I've dealt on this level, being able to teach
> a fun, visual language where they can have a running
> program at the end of a three-hour lecture/lab on the
> first day that displays full-color glossey pictures
> and has push buttons and dialog boxes is a whole
> different level than just having a program that prints
> "Hello, World." Then, having later discussions about
> how it is not cool to have Windows crash while your
> airplane it flying with it rings home. And when
> objects and classes become so natural that when they
> look at other languages and don't immediately see them,
> they ask why the objects aren't there, I think we have
> a good thing.
I never thought of generics, inheritance, tasking, etc., to be
advanced computer science topics at all. Rather, I see them as advanced
facilities of programming languages. With the exception of tasking, which I
learned as a first-semester sophomore, I learned each of the rest of those
topics as a freshman. Knowing these language constructs is essential to
implementation of many other introductory comp. sci. topics like graph
theory, set theory, multithreading, etc.
If freshman cannot understand generics, how could they possibly have
a practical introduction to elementary data structures (those learned before
a data structures course -- stacks, queues, lists, trees)? If I remember
correctly, I never saw a "Hello, world" project in any of my freshman Ada
courses. What I do remember was that most of the projects alternated
between developing a generic package and then developing something practical
that used that package. Furthermore, many of these packages that I had to
develop that year came in very useful down the road.
Visual Basic is not for the beginning computer science students.
Its far more primitive than that, almost for the non-programmers. Since VB
lacks so many of these features like true dynamic memory allocation,
students would likely have a strong learning curve when trying to grasp
"advanced" topics. While I agree that VB is fun, it seems to be so far
removed from even the elementary topics of a computer science curriculum,
which must focus on much more than writing pretty programs.