OSCATS (Open-Source Computerized Adaptive Testing System) implements Item Response Theory (IRT) and cognitively diagnostic (latent classification) models and item selection algorithms used in Computerized Adaptive Testing (CAT). OSCATS facilitates the development of CATs and simulations of CATs by providing ready-to-use code for running the CAT item selection and ability/classification estimation in an extensible, modular framework. The library is written in object-oriented C using GObject, and has bindings to Python, Perl, PHP, and Java.
spuug is a little tool that generates the boilerplate code for GObjects. spuug can be used for "plain" GObjects, but also for more sophisticated objects such as GTK+ widgets. It tries to be a bit smart with the code in spits out. However, understanding of GObjects/GtkWidgets is recommended.