Page tree
Skip to end of metadata
Go to start of metadata

The extendable learning management system - Aalto internal documentation

What is A+?

A+ is an open-source platform for creating and (partly or fully) automatically grading electronic course assignments, currently used in Aalto University and Tampere University.

The core of A+ LMS consists of the  A+ portal  (frontend, data storage) and  MOOC grader  (assignment grading), of which new versions are released every January and June. There are also other components and services extending the core functionality. Details can be found in the public documentation:

A+ is a complementary system to Moodle, the official LMS provided by Aalto Learning Services (LES) as MyCourses. You could think the difference between the two like MS Word (MyCourses) and LaTeX (A+) - at least if we forget about VBScript for now. MyCourses gives you a GUI with low threshold adoption, a wide range of tools for basic needs in teaching (sharing course material and assignments, collecting student submissions, quizzes, peer feedback and discussions) and, at Aalto, a number of licenced or free add-ins, like Panopto for creating and sharing videos, Stack for mathematical assignments, CodeRunner for programming assignments, and H5P for creating interactive contents. You'll find the complete list of features at Compared to MyCourses, A+ provides you with additional features for producing course material including assignments with automatic assessment for Computer Science needs, with the drawback of a high threshold learning curve. It is also possible to use the MOOC grader with limited functionality through MyCourses via a Moodle plugin called Astra.

When should I use A+?

(NB: now referring to standard MyCourses excluding the A+ Astra plugin) At Aalto, course workspaces for all courses published in Oodi are automatically created in MyCourses. Additionally, students are automatically enrolled to the workspace based on enrollments in Oodi. Therefore, you need to keep MyCourses in mind in every case.

Consider using A+ LMS, when the features of MyCourses do not fulfil your needs for course material and assessment. The main points are

  • you may develop online course materials and, e.g., interactive visualizations using web technologies
  • you may create automatically graded exercises in A+ without many technical limitations.
  • you develop A+ courses with a software engineering mindset: you define configuration files as well as source code for the materials and exercises in a Git (version control) repository.

What do I need to use A+?

To learn about creating and testing course material in A+, you will first need to set up a local course development environment on either Linux or MacOS, so the basic knowledge of using command line tools and git is helpful. If you have an Aalto workstation, this also requires you to apply for local administrative rights for your workstation (= wa account).

You will need to install the following software:

  • git
  • docker-ce (docker community edition)
  • docker-compose

Instructions for installing the tools above are linked in the A+ quick start guide. See also the Q&A section at the end of this page.

Where can I find A+?

The Aalto A+ LMS environment is hosted and administered by the Computer science department IT (CS IT). The front-end can be found at

Where and when to get help?

NOTE: Aalto CS department only offers support for CS department teachers (beyond the issues directly related to the hosting environment). Other Aalto users need to have a support person in their unit, or be able to figure out things by themselves. 

Support is available

  • online during regular working hours (Mon-Fri at least 10-16, most typically not before 9 am or after 17)
  • in person
    • at our team office A145 (CS building), Mon-Fri 13-15

NOTE: due to support availability, using submission deadlines during weekends or off-hours is at own risk.

What to do (in Aalto) if A+ is not working?

Check the CS IT status page to see if there are problems within the environment and if someone is already looking into them.

If you cannot find answers here or the status page, please contact us in Slack, or using the contact emails listed below.

Production environmentTest environment (under construction)
Contact addressaplusguru@cs.aalto.fiTBA
Responsible person(s)Seppo ÄyräväinenTBA


Problem: Course works in someone else's computer, but not on mine - although nothing has been changed. The script gives a strange error, with the following lines shown on the console:

grader_1  | CommandError: Course not found for key: default
grader_1  | [cmd] exited 1

Solution: Check, that the course directories have the execute (x) and read (r) permissions for all users. If not, run the following command at the same level where your course folder is located (the X option prevents adding unnecessary execute permissions to files):

chmod -R a+rX coursefolder

Practical info / Q&A

Here we have gathered some answers to Aalto-specific questions. If your question is not answered here, contact us in Slack, or using the contact emails listed above.

How do I start using A+ on my course?
  1. Set up the local testing environment (see A+ quick start guide)
  2. Study the sample course material, which will help you to get started in creating your own material
  3. Start creating the material for your course
  4. Before creating a remote repository, contact us and ask about hosting your course in our GitLab Group. Hosting the source files of your course in our GitLab group facilitate troubleshooting and publishing your course in A+. It also allows to keep a copy of your course even after the author of the first versions of the course leave Aalto University.
  5. Ask for help when needed;
    1. use the email support address, or
    2. create a Slack account at and join the channel #a-plus-help which is a public channel for general support needs. Additionally, if you are the teacher responsible for the course, ask to join the private channel #aplus-lecturers.
  6. When your material is ready and tested in your environment, see the next question to move into production
How do I get my course in production?

When you have prepared the material for your course, contact A+ support by email at with:

  • Course code and name of your course
  • Name of the course instance (e.g., "2019 Autumn")
  • Git link/URL and the branch of your course material in (If the repository is not under our course group, then add Teemu Lehtinen, Markku Riekkinen and Jhosimar Aguacia as members with the "Reporter" role.)

Note: We strongly suggest to transfer your repository to the  Aplus course group in GitLab.  If you are interested, please ask us about the GitLab group by email.

How do I transfer an existing course git repository to the course group in
  1.  Contact
  2. A+ support will add you as an owner to the course-transfer group (
  3. You can then transfer your course git repository to the course-transfer group (namespace in GitLab). The transfer is done in the project page in Go to Settings - General - expand the Advanced section - Transfer project.
  4. A+ support transfers the repository from the course-transfer group to the course group.
  5. Anyone who has cloned the git repository to their computer needs to update the remote URL in the local repository. In the terminal, go to the repository directory and update the URL with the command git remote set-url origin NEW_URL (the remote name "origin" is the default name but you may have used a different name). You can check your git remotes and URLs with the command git remote -v
How early before the course start do I need to prepare the course material?

Typically the material should be finished a few months in advance, so any possible problems can be resolved. If your course material needs new features to be added in A+, you should contact A+ support at least one year before your course starts, as new features are only published every six months.

Can I use A+ for electronic exams?

Electronic exams with A+ are piloted. Are you interested? Contact us!

How can I share my course material to others?

You can use

Where can I host private grading containers (images) when I can not publish them in

CS IT has a Docker registry at (requires VPN for accessing outside the campus). Its instructions are in the Triton documentation

When you use an image from this registry, the image field in the A+ exercise config.yaml follows the format hostname/group/image, for example:

view_type: access.types.stdasync.acceptFiles
  - field: file1
    name: myfile.txt
    mount: exercises/hello_world
    cmd: /exercise/

You need to add read permission for the "aplus/mooc-grader" user in the registry, so that the grader server can download the image.

  • No labels