We have worked in the IT education business for almost 20 years now. For many years our initial focus was the Java Platform, open source web technologies, software process and architecture.
Being relatively big in the instructor-led courseware-material business and providing materials to the leading industries we developed an extremely agile courseware system. This proprietary systems (xmlcw) allowed us to be adaptive to demands from our partners and clients (training companies large and small around the globe). The system allowed us to assemble materials based on architectural components (their granularity was a knowledge unit identified as a "session" containing "lessons" with their learning objectives, theory, labs, questionnaire, setup information etc). We were able to assemble courses in mere moments and would send course descriptions minutes after a training-scoping call.
The instructor-led materials we created with this system were true "courseware". Meaning it included a courseware manual with lots of text, notes and extra information. The presentation slides are extracted using a semantic model (note the same for course descriptions, setup documents and so on).
The playing field has however changed and the changes in the IT education deserve several blog posts of their own. The last decade has seen a lot of transition, but what it boils down to is that budgets are kept to a minimum (we often have clients saying they need a 5-day class to be delivered in 2-days. This sounds familiar, right?). These are the facts of today, and we looked for ways to work with these dynamics and constraints whilst still committing to delivering the quality we have always guaranteed.
Early last year we started looking at other technologies and methodologies for creating instructor-led/classroom education materials. We came across reveal-js from Hakim El Hattab.
- Fast authoring of high-quality presentations (on a side note: our goal is to have no more than 7 words on a slide
- Easy to update, improve and reorder (with excellent support with git and github, something we also had this with our previous solution)
- Remote control possibilities for the instructor from his/her phone, plus show and control the slides inside the student's browser.
- Separate lines for going in depth or staying on a higher-level path (there are two directions to proceed from a section: "down" or "left").
- Platform dependence
- Easy of rolling out updates to the materials instantly (this ensures the instructor is always using the latest version)
Some things we are looking into at the moment:
- Serving using the Play! Framework to deal with some of the boilerplate code and other integration options.
- Having an assembly system again like we had with our xmlcw system (to assemble courses based on a Scala DSL)
- Improving the PDF handout format (with a table of contents etc)
- Integrating with our Moodz system (a feedback and interaction system used during our offline classes, used by students to express their mood, poll questions etc)
- Distilling course descriptions and setup documents from the materials (similar as we had with our previous system)
- Opening up our courseware in an open-source model.