Tech Specs & FAQs
Find answers to common questions about Codio's technical infrastructure, IDE features, grading and auto-graded assessments, LMS integration, authoring tools, templating capabilities, and download specs.
TABLE OF CONTENTS
Technical Infrastructure
Codio offers unlimited Ubuntu servers that start in a couple of seconds and can scale to fit your requirements.
Each user gets a full working Ubuntu server with 756MB through 16GB RAM. The default memory allocation is suitable for 99% of use cases.
Yes, just like a regular machine, you can install any programming language, database, or component on a Codio server (what we call a "box").
Our default memory allocation is adequate for 99% of use cases. However, if you need more for memory-hungry applications, you've got it. Additionally, each project can have up to 5GB of storage space with more available on request.
Yes, teaching GUI based application development works perfectly with the Virtual Desktop.
You can create GPU Nvidia Tesla accelerated instances for computer visualization and big data use cases.
You can easily host and distribute your existing Jupyter notebooks and auto-grade student assignments with nbgrader.
Online IDE
Codio runs on all modern browsers such as Chrome, Firefox, IE, Edge, Safari, and more.
Like most powerful IDEs, you can create and destroy panels for code editing, terminal access and web page previews.
Yes, a terminal window provides access to the command line with sudo level privileges.
Yes, we have a full visual debugger with support for Java, C, C++, and NodeJS. Support for other languages can be added upon request.
You can create GUI based applications.
The file tree is fully functional and supports drag and drop, uploading and downloading of files.
Yes, Codio can automatically format and indent your code (some languages only).
Yes, you can give read/write/admin access to your server to other users.
You can reboot the server from within the IDE, which takes only about 10 seconds.
Yes. For web applications, generate a QR code so students can try their project out on a smartphone without typing in long URLs.
To prevent students from having to use the command line, add commands to a dropdown menu.
Yes, there is a list of over 70 settings that customize the code editing experience.
Grading & Auto-Grading
The dialog driven approach lets you create tests based on argument and stdin inputs to match expected output. You can create several tests cases for each assessment to ensure full code coverage. This caters for at least 80% of cases.
Yes, advanced auto-grade code tests give you complete control over how your tests execute. You can use any language to script the tests and use any framework or library such as JUnit to help.
Yes, single and multiple response MCQs are available. Codio supports negative points for incorrect answers.
Yes, fill in the blank auto-graded assessments require students to complete words or phrases in a sentence by entering text or selecting from a dropdown list, and they can be auto-graded.
Free text answers are a manually graded assessment type that requires a student to enter a free text answer to a question. Grading is done from the teacher dashboard.
Manual grading allows a teacher to review a project assignment and assign a manual grade. See below for additional related features.
Secondary faculty members can review the grading and assign a parallel grade. These grades can be reviewed to ensure grading consistency.
Yes, if a class is LMS enabled, grades (auto-graded and manual) can be transferred back to the LMS gradebook for the matching unit.
Auto-grading will occur when the student has completed the assignment unit and an auto grading script is run. It can also be triggered manually by the teacher to process an entire class.
LMS
Yes, you can create classes of students and assign content and projects.
Although Codio is a superb LMS for coding in its own right, we appreciate the need to integrate with LMS platforms. Our LTI integration gives your LMS full control and covers account creation, single sign on, LMS unit mapping and grade passthrough.
You can add students to your class using either an invitation URL or using your LMS. No need to deal with complex exports and imports.
You can assign any server, project or piece of tutorial content to your class with just a couple of clicks. Each student will instantly have their own cloned copy to work with exactly as you configured it.
You can add any number of teaching assistants to a class so they can help reviewing student code, grading and other tasks.
Our dashboard allows you to monitor all aspects of student progress. You can see time spent, unit scores and scores for individual assessments.
Our plagiarism detection capability was specially developed at Princeton University to ensure the best possible results for student programming assignments. Detection is launched across all students with a single click. No need to painstakingly aggregate code to upload it for processing.
A pin unit allows you to pin a unit of teaching content to the top of the student dashboard for easy location.
Controlled assessments allow you to specify a start and end date and time for a teaching unit. The unit will not be accessible outside these times. Auto grading scripts can be automatically triggered upon completion.
Yes, you can map a grading rubric to a teaching unit to support manual grading.
You will need to specify that a Gigabox (larger memory allocation) should be used for a given unit.
Curriculum Authoring
Codio Guides is a content and curriculum authoring tool that controls the IDE as a student navigates through the content.
All assessment types are authored in Guides. See above section for a complete list of assessment types.
Templating
A stack is a template library that allows a snapshot to be taken of an underlying server configuration for any project. The snapshot can then be applied to new projects or replace the stack on an existing one.
Starter packs are a combination of a Stack (see above) and code. Most often used as a way of providing students instant access to a working project as a suitable starting point for the remainder of a coding exercise.