EXAM-järjestelmä on lähtöisin kymmenen suomalaisen korkeakoulun halusta yhdessä määritellä ja tuottaa kokonaan uusi, digitalisoituvan opiskeluympäristön vaatimusten mukainen ja sen mahdollisuuksia hyödyntävä tenttijärjestelmä. Yhteistyö aloitettiin vuonna 2014 CSC:n ja Arcusys Oy:n tuella. Laajalla kehittämisyhteistyöllä tavoiteltiin yleisempiä hyötyjä, kuten tutkimuspohjaista hyvien käytäntöjen tunnistamista ja tukemista, toimintaprosessien harmonisointia, vakioituja tiedonsiirtomenettelyjä sekä yhteentoimivuutta opintohallinnon perusjärjestelmien kanssa.
Sittemmin konsortioon on liittynyt jo lähes kaikki Suomen korkeakoulut, ja versiohistoriaa on kertynyt jo versioon 6-versioon asti. Versioiden myötä yksinkertainen esseetentti on saanut seurakseen uusia kysymystyyppejä, kypsyysnäyteprosessin tuen, arvioinnin työkaluja ja nyt viimeisimpänä tuen tenttien kysymyskohtaiselle arvioinnille. Seuraavana on tulossa ristiinopiskelua huomattavasti tukeva yhteiskäyttöisyyden tuki, jonka ensivaiheessa mahdollistetaan tenttitilojen yhteiskäyttö korkeakoulujen välillä. Konsortion jäsenenä korkeakoulut pääsevät tuomaan omia kehitysehdotuksiaan esiin.
Järjestelmän toiminnallisuudet:
EXAM tukee tällä hetkellä korkeakoulujen valvottua akvaariomuotoista tenttimistä ja tarjoaa siihen seuraavat palvelut:
- Haka-kirjautuminen
- Opintojaksotietojen sähköinen sisäänluku
- Tentin luominen halutulle opintojaksolle (yleinen tentti, henkilökohtainen tentti, kypsyysnäyte, tulostettava tentti)
- Kysymysten luominen ja yhteiskäyttö (essee, monivalinta (yksi oikein), monivalinta (painotettu), aukkotehtävä) sekä kysymyspankki kysymysten jatkokäyttöä varten
- Tenttiin ilmoittautuminen ja akvaariopaikan varaaminen
- Tentin suorittaminen
- Tentin arviointi
- Suorituksen sähköinen ulosluku
- Rajapintoja tenttivarausten ja tenttien uloslukuun
Järjestelmän rakenne
EXAM-tenttipalvelu on toteutettu asiakas–palvelin-arkkitehtuurilla. Palvelimen muodostaa Play framework komponentteineen. Käyttöliittymä on rakennettu käyttäen AngularJS-kirjastoa. Palvelin ja asiakaspään muodostava käyttöliittymä kommunikoivat keskenään REST-rajapinnan kautta.
Frontend -puolen ohjelmistoriippuvuksien hallinnointityökaluna käytetään NPM eli Node Package Manageria. Käyttöliittymän paketointiin käytetään Webpack -työkalukokonaisuutta. Vuonna 2018 on aloitettu käyttöliittymän JavaScript-koodin konvertointi TypeScriptiin.
Opettajan ja opiskelijan tekstimuotoiluun käytetään CKEditor-komponenttia, jossa kirjasimen valinta, sen koon ja ulkoasun (kursivointi, lihavointi) muokkaus sekä matemaattisten kaavojen lisäämiseen TeX-editorilla, joka hyödyntää MathJax-kirjastoa.