.Campion: educational archive

Context: part of the .campion educational program on learning algorithms for the Olympiad

Duration: January 2009 – September 2009

Contribution: main developer, working in collaboration with Prof. Emanuela Cerchez and Prof. Marinel Șerban

Technology: PHP

Honour: excellence award at the national Conference on Virtual Learning

.campion (2002-2012) was a national program aimed at preparing students for the Olympiads of informatics, supported by distinguished professors and students, formerly winners at the International Olympiads of Informatics.

The .campion educational archive (2009-present) is a web application that organized the 1.500 algorithmic tasks accumulated in 10 years of .campion into a system that allowed reading the tasks, submitting source code to solve them, automatic evaluation, and grading with feedback within seconds to minutes.

Contribution: main developer

  • Developed features that allowed for the CRUD of algorithmic tasks, educational software lessons, and PDF articles about topics in algorithms.
  • Developed a search engine that linked the tasks to articles and educational software lessons for learning algorithms and made them all available.
  • Developed a feature to upload the tasks (a rather complex process with multiple subtle parameters) used for the manual setup of the 1.500 tasks by my collaborators and other distinguished professors from all over the country.
  • Integrated the submission and scoring system with the existing online judge originally implemented for the .campion program, allowing the full read-submit-evaluate-grade cycle.

Technology: PHP

  • Languages: PHP, Javascript, SQL.
  • Storage: MySQL.
  • Environment: Dreamweaver.

Honour: national award

  • The project obtained the excellence award at the National Conference of Virtual Learning (among hundreds of projects submitted).
  • The archive has been used for over ten years (2009-2020), serving up to 15.000 active students annually. Since 2011, the archive has run on a modest server and required virtually no interventions in the codebase.

Read more