Re: Suggestions for topics in an Ada course?



Hello Peter,

I have been teaching Ada to students with C/C++/Java backgrounds for
two decades. I have gotten many of these students hooked on Ada.
Those students who have a strong dislike for software engineering
principles are the least likely to appreciate Ada.

I have some of my current course work on my web site

CS 810:059 Our CS1 course (no programming background assumed)
http://cns2.uni.edu/~mccormic/059

CS 810:063 A traditional data structures course for people with two
semesters of OO programming in C++/Java under their belt
http://cns2.uni.edu/~mccormic/063/

CS 810:188 A special topics course on concurrent programming with
Ada
http://cns2.uni.edu/~mccormic/188/


If they have enough programming skills, I would suggest you teach them
concurrent programming in Ada. Burns and Wellings have a new book out
that I plan to use this Spring - Concurrent and Real-Time Programming
in Ada, Cambridge University Press, 2007, ISBN 978-0-521-86697-2. I
suggest that you avoid GUI or graphics programming. The Ada tools are
simply not up to what they have seen in C++ and Java. This
observation is supported by a keynote speaker I heard at the SIGAda
conference last week. He said that the new en-route air traffice
control software now being installed is about 50% Ada and 50% C++.
The C++ is for the intense graphics needed by a controller. The Ada
is for the parts that can't fail.

I'd be happy to discuss any of my work with you on or off the
newsgroup.

John

I have the luxury of teaching a course next semester that can be about
anything I want. It's a course on "special topics" and the content is at
the discretion of the instructor.

I would like to teach the students some Ada.

The students in question are already competent programmers (in the
college student sense, that is). They have taken two courses in C/C++
and so should be familiar with basic programming concepts, including
concepts like encapsulation, (operator) overloading, and inheritance.
The programs they have worked on so far have been typical programming
exercises given in first courses: nothing large or complicated.

The course I'll be teaching has two hours of lecture per week plus a
three hour "lab" period where the students can work on some sort of
project or assignment in a supervised setting. So there is a fair amount
of time available.

My thought was to cover the basics of Ada, the language, in the first
half (third?) of the course. My expectation is that because of their
background, the students will pick up the basic ideas fairly quickly.
The question becomes: in what direction should I take the rest of the
course? I would like to talk about something that shows the language in
a good light as well as captures student interest. Some kind of
introduction to a GUI library or network library might be good (the
students have never done any GUI or network programming before). Also
because I teach in a computer engineering curriculum, low level device
control applications would be reasonable and appropriate as well.

Anyway, I'm sure I can put something together. However, I thought I
would ask here to see if anyone has some suggestions for libraries,
tools, etc, that I might look at as I prepare materials for next semester.

In case it matters, I'll be using the GNAT compiler.

Thanks!

Peter-

.



Relevant Pages

  • Re: += in ada
    ... love Ada. ... available to the students. ... All of the students had been programming OS ... "But you can't do that in three instructions!" ...
    (comp.lang.ada)
  • Re: Ada used in General Aviation (GA) applications?
    ... > processors (especially the programming language is no reason). ... I have a student at NPS who is enthusiastic about Ada. ... Some of my students really like Ada. ...
    (comp.lang.ada)
  • Re: Learning embedded coding, which uC?
    ... >>There are many other languages that make life simpler in theory. ... and higher software quality when a language such as Ada is used vs. ... An undergraduate introductory embedded programming course with a lab ... none of the students using C completed the ...
    (comp.arch.embedded)
  • Robbie Babb
    ... I'm not the right person to write a "proper" obituary for Robbie ... and another where I spoke to his students at University of Denver while ... parallel software engineering, logic programming and database ... , functional programming and proofs, ...
    (comp.parallel)
  • Re: Why I stop attacking HLA
    ... so I can implement it and see why HLL control structures make ... Language Programming" course is to teach them what things like "bits" ... all the students show up already knowing assembly language. ... > Facts are facts and are independent of any usability. ...
    (alt.lang.asm)