I (Andrew Black) have spent a large part of the summer teaching an introductory programming course to a small-ish group of post-bacc students. This was part of PSU’s “New Beginnings” program, which is designed to prepare students who have a bachelor’s degree in some other subject (history, accounting, chemistry, soil science, music …) to enter into our MS program. New Beginnings is intended to be very intensive: students spend 16 hours a week in the classroom, split between two subjects (discrete math and programming, in the case of this summer), plus another 8 hours in labs, plus homework.
My goal for the summer was to lead the students to roughly to the point that an undergraduate would reach after our three-course introductory programming sequence. This turned out to be a stretch goal for those who had never programmed before, but quite reasonable for those students who had a little background.
I never cease to be amazed at the variety of learning styles, even in a cohort of just 11 students. Some are happy to experiment, while other would have really benefited from a Graceful Data Structures book for the latter part of the course. We used Kalicharan’s excellent “Data Structures in C”, and my original plan was to just re-write the programs in Grace. That didn’t actually work out, because a C-based text has to emphasize things that are irrelevant in Grace, and a Grace text will need to talk about stuff that is irrelevant in C — primarily object structure. Still, the basic programs are parallel; I invite you to take a look at binary trees.
The European Conference on Object-Oriented Programming starts next month, and, once again Grace people will be there.
On Sunday, the first workshop day, Andrew Black will discuss
The Expression Problem, Gracefully in the MASPEGHI workshop.
On Wednesday, the first day of the full conference, Tim Jones will present the technical paper Brand Objects for Nominal Typing by Tim Jones et al which describes how Grace can be extended to support nominal typing. Tim is also charing the ECOOP Doctoral Symposium this year.
On Thursday, Kim Bruce is presenting the talk Graceful Programming — Teaching Introductory Programming as part of the ECOOP Summer School.
Update: Materials from the tutorial, including slides, documentation, sample programs, and homework exercises can be found at http://www.cs.pomona.edu/~kim/GraceStuff/GraceTutorial.html
Early this month we were pleased to welcome a couple of visitors to Wellington working on Grace projects.
Satu Itaniemi is joining us from Finland via the Friedrich-Alexander University of Erlangen-Nürnberg to write her Master’s thesis on DSL-based frameworks for accounting systems.
Tom Dupisre is visiting us for three months from the École Polytechnique de l’Université de Nantes to work on Grace benchmarks and libraries.
The European Conference on Object-Oriented Programming starts tomorrow, and Grace people will be there.
On Wednesday, the first day of the full conference, we’ll present the technical paper Graceful Dialects by Michael Homer et al describes how Grace supports dialects using lexical scope, pluggable checkers, and Grace’s flexible syntax, but without requiring macros or depending on types.
At workshops held earlier in the week, Tim Jones will talk about TinygraceA Rational Reconstruction of the Escrow Example — rewriting everything in Grace always being perfectly rational — both at the Formal Techniques for Java-like Languages workshop on Monday,
And at IWACO on Tuesday, James will present On Owners as Accessors with some examples, at least, tending towards Grace.
We are now working on a textbook for Grace, tentatively titled “Programming with Grace”. A draft of the book as well as information about both built-in libraries and graphics and animation libraries are also available on the site. We expect to put more information to help people learn how to program in Grace.