JACK is a server-based system for the management of computer-aided assessments and exercises, and for automated grading and feedback generation. The current version 2.3 is based on a flexible architecture that is capable of handling different kinds of exercises, checking mechanisms and presentation frontends. At the moment, JACK is used for checking Java exercises by means of static and dynamic tests and for visualizing data structures from exercise solutions. Generic capabilities for multiple choice and fill in exercises can be used for math exercises, including the automated generation of exercises with random values and connections to computer algebra systems. Extensions for other programming languages, design artifacts like UML diagrams or other general assessment techniques are planned for future versions.