IDE exercises provide students with an Integrated Development Environment - which is basically a software application that makes development easier (we’re using Theia, in case you wonder). You can navigate your project directory on the left, write scripts on the right, open new tabs for new scripts, and execute console commands at the bottom, all on the same view.
Students start in the
~/workspace directory (
/home/repl, so students start in
/home/repl/workspace). That’s where all resources that students need to see and use should be placed. Students can use the
cd command in the console to navigate up and down, but they should only need to navigate down.
The script that students are used to seeing in a Normal Coding Exercise is basically what they will see on the right. IDEs allow you to get students to work on two scripts, navigate the directory scripts to find an issue, execute a script in the console before taking another action… It opens a lot of opportunities that are simply not achievable in a Normal Exercise, and provides students with a much more real-life, professional environment than the Normal Exercise cocoon.
Here is an example from Developing Python Packages:
There should be only one user in your
/home/repl, you will find at least the following directories:
/home/repl/configis empty by default. It may contain configuration files that get executed by
start.sh. For example, if you’re using Airflow, you would have a
config.shbash script here to update the
base_urlused by the Airflow config to serve when the user session starts, so that Airflow can send automated emails to point links to the right web server.
/home/repl/start.shexecutes the scripts contained in
/home/repl/config, and runs other configurations commands to set up a stable environment for the students to exercise into. It also executes scripts contained in
/home/repl/startupcan contain startup scripts executed by
/home/repl/workspaceis where the students work.
For details on how to the anatomy of an IDE exercise, refer to this article.