From: Bob Leif
To: Currie et al.
I totally agree concerning computer science students. I might add, as an
Excel user, the problem is when you need to go beyond the capabilities of
the program. For instance, there is no simple way to make a line in a graph
wider than the options provided by Microsoft. I might also add that
Microsoft's competitors donated this market to Microsoft.
Spreadsheets are an excellent format for "programming" by nonprogrammers.
Unfortunately, the present spreadsheet designs, except for IMPROV, are
almost totally devoid of the concepts of software engineering. IMPROV was
killed by Lotus. The naming of cells by A1, B2 etc. is totally ridiculous.
With considerable effort, one can make Excel produce formulas based on named
intersections of columns and rows. Thus, auditing and maintenance of
spreadsheets is a very serious problem. IMPROV let the user label the
columns and rows with unique names. The macro language should be based on a
J code interpreter. Of course, I would prefer Ada.
Besides teaching the software engineering students Ada and software
engineering technology, we should have tools for the nonprogrammers based on
software engineering concepts including extensibility to permit augmentation
by software engineers. Ada is an excellent language for this purpose.
From: Team Ada: Ada Advocacy Issues (83 & 95)
[mailto:[log in to unmask]]On Behalf Of Currie Colket
Sent: Friday, December 03, 1999 4:54 AM
To: [log in to unmask]
Subject: Re: What the competition looks like
> What's interesting is that the range is so wide.
> While I'm observing a 50% failure rate, I also have
> students with a current grade of 120% (I offer extra
> credit exercises, and some do them all). They are
> all over the place on their grades.
> I haven't seen any arguments to convince me that VB
> is not right for this climate or the need to make
> learning fun is not justified. Both work effectively.
> The PITAC report I spoke of the other day speaks of
> Component-based Software Engineering. That's where I
> see VB fitting in like a glove, and that's were I see
> Ada lacking. The VB GUI is not just buttons and text
> boxes (THAT was the first day). It is also dynamic
> list boxes (a form of linked list without the pointers),
> drive list boxes and directory list boxes and file list
> boxes which combine to allow you to navigate a file
> system without programming any system calls, the chart
> control which allows you to configure and draw 16 kinds
> of charts (bar, XY, line, area, pie, both 2D and 3D, etc)
> without worrying about manipulating pixels, the common
> dialog control which allows for 6 common program needs
> (open a file, save/create a file, select a printer,
> select a font, select a color, and invoke online help)
> with almost no effort, and so on. The standard packages
> in Ada95 are very good, but no where near this level of
> abstraction. Assuming the components are reliable
> (which they seem to be), you can put together massive
> applications with very few lines of code. They work the
> first time (in my experience) and you are done and ready
> to move on. The Web Browser I wrote in 1 hour on a
> Sunday morning was part of what made me trigger my first
> The domain engineering which went into VB really shows.
> We see the five target domains clearly: Windows OS
> interfacing, GUI development, data manipulation,
> OS-based device control, and communications in general
> (and web in particular). The VB controls
> operate at such a high
> level of abstraction that you don't have to worry about
> the low-level details and can concentrate on the problem.
> Ada was a significant step in the right direction, but
> VB is a much bigger step. Ada could be there as well
> (there's no technical reason why these highly abstract
> component features cannot be added), but the cost of
> such an effort would be really significant.
> Component-based SE is a PITAC goal for the future.
> Well, that's the last 21 message responses in a nutshell.
> Another opinion,
And for the second level computer science course, you should focus on
the software engineering aspects of heavy duty number crunching by
teaching Microsoft EXCEL. It allows students to progress in this
important technological area using computational cells which combine to
allow programmers to navigate a file system without programming any
system calls, the chart control which allows you to configure and draw
14 kinds of standard charts (bar, XY, line, area, pie, both 2D and 3D,
etc) without worrying about manipulating pixels, the common dialog
control which allows for 6 common program needs (open a file,
save/create a file, select a printer, select a font, select a color, and
invoke online help) with almost no effort, and so on. To further the
learning experience, EXCEL offers 20 additional customizable chart
wizards which will be used to promote programming creativity.
Upon completion of this course, the student will be able to meet the
most rigorous programming demands of any office in the world.;-) Oh yes,
they will need a database course as well. We can address this by
teaching Microsoft Access ...
Sorry if this offends anyone. I couldn't resist:-)
Obviously I fall into that group that questions the software engineering
foundation obtained from a first level computer science course focused
Disclaimer: Opinions are my own. Who else would want them? :-)