CodeMarathon is a system for creating programming courses with content and live task grading
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Adds a section for each task where users can see the most recent succ… Nov 2, 2017
backup Adds configs for the backup gem and some provisioning for setting up … Apr 10, 2016
bin Adds delayed job to app, to be used for sending emails. Apr 29, 2016
config Adds the skip_jwt option to the Google OAUTH2 gem to avoid an error t… May 14, 2018
db
lib Makes it possible to attach tasks to lessons. Cleans some code. Dec 8, 2015
log Initial commit with some sign in/up functionality, OAuth capabilities… Sep 24, 2015
provisioning
public
spec Adds a section for each task where users can see the most recent succ… Nov 2, 2017
vendor/assets Initial commit with some sign in/up functionality, OAuth capabilities… Sep 24, 2015
.env.example
.gitignore
.rspec
Gemfile Fixes two issues after migrating to Rails 5: Nov 1, 2017
Gemfile.lock Fixes two issues after migrating to Rails 5: Nov 1, 2017
Procfile Adds one more worker to Procfile. Apr 29, 2016
README.md Updates the readme. Mar 10, 2016
Rakefile Initial commit with some sign in/up functionality, OAuth capabilities… Sep 24, 2015
config.ru

README.md

CodeMarathon

Platform for hosting Computer Science online courses

What is CodeMarathon?

This is an open source platform for creating and managing online courses in the Computer Science domain.

It allows teachers to add online course content and practice programming tasks for their students. Teachers can observe the progress of their students and provide feedback.

The source code for CodeMarathon is hosted publicly in this repo.

Online Courses Organization

Teachers define course content organized in lessons. They can also add programming tasks for solving.

When students enrol they can learn from the course materials and practice by writing code to solve the programming tasks.

Rich Course Content

Course lessons are defined using Markdown, which gives an easy way to present any rich content.

Courses are organized in sections, which contain lessons. Lessons can be locked until a student completes all previous lessons.

Practice Programming Tasks Graded in Real-time

Students get to test their knowledge by solving programming problems included in the course by the teachers.

Solutions are graded with several programming languages supported. The support for this comes from the CodeMarathon Grader project that we have built for the purpose.