Authors can now create labs that can be completed in a programming language that the learner chooses. To create such labs, authors use the Multi-language option in the lab creation wizard. They also need to provide additional initial files for each supported language. Labs of this type can use only input/output tests for auto-assessment.
This feature empowers authors to design programming assignments that focus on generic coding skills rather than a specific language. It is particularly useful for entrance testing or generic software engineering courses, as it allows learners to work with their preferred programming languages, enhancing their engagement and accommodating their individual learning needs.
Access to the terminal in labs
Authors can now enable the terminal in a lab. Learners can use the terminal to directly access the lab environment. This enables them to install packages, execute shell scripts, launch background processes, and more.
This feature unlocks more complex scenarios for labs, especially those centered around using external libraries, software, and services. Access to the terminal provides advanced learners with greater flexibility and control within the lab environment. This feature enriches the learning experience and encourages learners to deeper explore real-world coding practices.
Preconfigured packages for Python labs
Authors now can define a list of packages and dependencies for Python labs using the Poetry configuration file. When learners start a lab, these dependencies are automatically installed for them.
This feature enables authors to create a preconfigured virtual environment for learners, particularly for assignments that require the use of external libraries. By specifying preconfigured packages and dependencies, authors streamline the setup process for learners working with Python labs. This feature saves learners’ time and efforts by automatically handling the installation of necessary packages, ensuring a consistent development environment. Learners can focus on the assignments themselves and seamlessly use external libraries. This results in a smoother and more efficient learning experience.