Documentation & Help

How can we help you?

Help
 Print
Codeboard integration (LTI)
Codeboard is a free web-based IDE to teach programming languages in the classroom, supporting many languages (C, C++, Eiffel, Haskell, Java, Python ...).

It is a powerful yet lightweight tool to create engaging & hands-on lessons about software development, allowing teachers to provide exercises where students don't need to download any files, don't need to install any software, but get immediate feedback on the correctness of their work.

When used with Xen.Ed, Codeboard can:
  • Allow you to easily create, then share exercises with students.
  • Let students work directly in the browser, compile and/or run their code, then submit it for review.
  • Let instructors analyse and inspect submissions with a single click.
  • Forward grades securely and automatically back to the Xen.Ed Gradebook.
Xen.Ed has a native integration for Codeboard, in the form of an LTI component you can use in any course. You will find it in the "Advanced" section of the page editing screen in Xen.Ed's Authoring Tool.

Configuring Codeboard

Note: An account is required to use Codeboard. You can register one for free by visiting codeboard.io.
To configure Codeboard for Xen.Ed, you must create at least one project in your Codeboard account by clicking on the button "Create new project".

Creating projects is a great way to separate schools, or organisations.

Edit the project's settings by clicking on the button with the wrench icon. Changes to the project's setting only take effect after clicking on the "Save changes" button.


Submissions

You can specify where you allow student submissions. Allowing submissions triggers Codeboard to show the "Submit" button in the IDE. 

You can read more about submissions here.

LTI settings

You must allow LTI to integrate a Codeboard project with Xen.Ed. 
The LTI settings allow you to configure the LTI consumer key and the LTI consumer secret for your project, which will be saved in your course's Advanced Settings.

You can read more on LTI integration here.

Using Codeboard

Create an exercise

This video tutorial shows how to create a new project in Codeboard, the use of hidden files for automatic grading, and how to enable submissions.


Inspect submissions and users' version

In this short tutorial we demonstrate how project owners can inspect a user's saved version of a project, and how they can inspect users' submissions and open them in the IDE.

Automatic grading

Codeboard can automatically grade a submission. Currently, two ways of grading are supported: 
  1. Automatic grading using a result string.
  2. Automatic grading using unit tests.
Important: A grade must be a value between 0 and 1. The value represents the percentage describing how high the submission was graded. For example, a valid grade value is 0.42 (which Codeboard might also display as 42%).

You can read more about Automatic Grading here.


Frequently Asked Questions

Which programming languages are available?

At time of writing this article, Codeboard supported the following languages:

LanguageVersionDetails
C4.8.4GCC
C++4.8.4G++
C++146.2.0G++
Eiffel15.11ISE EiffelStudio version
Eiffel-SCOOP15.08ISE EiffelStudio using SCOOP for concurreny
Haskell7.10.3Glasgow Haskell Compiler
Haskell-HSpec7.10.3Glasgow Haskell Compiler
Infer-Java0.4.0Facebook Infer for Java, with Java 1.7.0
Java1.8.0Oracle Java SE
Java-JUnit1.8.0Oracle Java SE, JUnit 4.11
Python2.7.6NumPy and SciPy packages pre-loaded
Python-UnitTest2.7.6NumPy and SciPy packages pre-loaded
Python33.4.3NumPy and SciPy packages pre-loaded
Reason0.0.1More at http://facebook.github.io/reason

Can't sign in with correct username and password?

Codeboard uses a cookie to keep you signed in. If your browser blocks all cookies, the sign-in won't work.

Also, when Codeboard is embedded in another website (e.g. from your university or an online course), your browser treats Codeboard as a “3rd party website". 
Some browsers block cookies from "3rd party websites" by default. Please make sure your browser allows 3rd party cookies for https://codeboard.io


Is Codeboard open source?

Yes, Codeboard is open source and available under the MIT license.
If you're interested in the project, you can access their Github repositories.


Can I use Codeboard for free?

Yes, the use of Codeboard is free. 

To ensure the best service possible, we encourage you to contact the amazing team behind the platform at support@codeboard.io if you'd like to use it for a course with a large number of students.


Does Codeboard support File I/O?

Only in a limited fashion. Programs can create and modify files but those changes happen within the execution environment of the program and don't show in the IDE's project-tree. 

Or to say it differently: the IDE's project tree shows the files that will be used when compiling or running a program, but won't show the files a program might create.

Does Codeboard support mobile rendering/responsive layout?

Yes, the entire Codeboard webpage uses a responsive design to also be usable on small-screen devices. 

The IDE is designed to work on many different screen sizes. You can change the width and height of different elements (project view, editor, console) by dragging the splitter bars left/right or up/down.

The IDE page will remove the menu and menu buttons on small screens an replace them with a single "menu toggle button".

Security

Codeboard sandboxes all compilations and executions of projects. A number of limits are put in place to prevent the overuse of Codeboard resources.

Compilations and executions are automatically terminated (usually with an error message to the user) if one of the following limits is exceeded:
  • Total CPU time used by the project: > 12 seconds
  • Total session time for executing a projet: > 15 minutes
  • Number of threads created by a project: > 70 (value is approximative and may slightly vary)
  • Number of output characters created by a project: > 32,000
In case of submissions, projects are run non-interactively and will thus always timeout after 12 seconds (e.g. if the CPU limit was not reached but the program waits for user input).

If the above limits are too restrictive for your project, please contact support@codeboard.io.


Was this article helpful?