The extendable learning management system - Aalto internal documentation
- A+ with ongoing courses: https://plus.cs.aalto.fi
- A+ instructions and support for teachers and TA's
- A+ mailing list for news and updates: email@example.com (requests to join the list: firstname.lastname@example.org )
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: https://apluslms.github.io
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 https://wiki.aalto.fi/display/mchelp. 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:
- docker-ce (docker community edition)
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+?
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 environment||Test environment (under construction)|
|Responsible person(s)||Seppo Äyräväinen||TBA|
Problem: Course works in someone else's computer, but not on mine - although nothing has been changed. The docker-up.sh 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] run-django.sh 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?
- Set up the local testing environment (see A+ quick start guide)
- Study the sample course material, which will help you to get started in creating your own material
- Start creating the material for your course
- 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.
- Ask for help when needed;
- use the email support address email@example.com, or
- create a Slack account at https://apluslms.slack.com/ 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.
- 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 firstname.lastname@example.org 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 version.aalto.fi. (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 version.aalto.fi?
- Contact email@example.com
- A+ support will add you as an owner to the course-transfer group (https://version.aalto.fi/gitlab/course-transfer)
- 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 version.aalto.fi. Go to Settings - General - expand the Advanced section - Transfer project.
- A+ support transfers the repository from the course-transfer group to the course group.
- 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 version.aalto.fi.
Where can I host private grading containers (images) when I can not publish them in hub.docker.com?
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:
You need to add read permission for the "aplus/mooc-grader" user in the registry, so that the grader server can download the image.