[GAP] advice on Ada in general programming languages course
Marius Amado Alves
amado.alves at netcabo.pt
Thu Apr 21 16:54:58 CEST 2005
Robert Dewar's suggestion (avionics, television) is good, but keep it
short, as it is completely "hands off" material, and programming in the
big. To hook students you need a "hands on" approach, and programming
in the small.
Be sure to convey the factoid that Ada cuts down debugging effort by
one order of magnitude in relation to the C family, even in programming
in the small.
Of your ideas, implementing a subset of Prolog, probably Datalog,
sounds the best to me.
Writing an Ada compiler doesn't cut it because Ada is too big, so you
need to select a fragment, and it's very hard to select an Ada fragment
for this, and any decent Ada fragment is still too complex.
A LISP fragment is simpler to select and implement. But motivation?
Other ideas:
(1) a web server, probably using AWS, and certainly starring Ada
concurrency features (tasks, protected objects)
(2) a database system, maybe in connection with (1)
(3) a persistent version of Ada.Containers, or of a subset thereof,
maybe as a way to realise the storage component of (2)
This may link to existing research, namely by myself, paper "A Theory
of Persistent Containers and its Application to Ada" in Ada-Europe 2004
(a copy available at softdevelcoop.org/marius/paper26final.ps.zip), see
also SCOPE at www.liacc.up.pt/~maa/containers, or Mneson at
www.liacc.up.pt/~maa/mneson (a bit outdated there, but I have a more
advanced version that I can publish if there's interest).
(4) a distributed multiplayer game, using the DSA
More information about the GAP
mailing list