Library versions and automated assessment
Many exercises on this platform use automated assessment to check the correctness of your solutions. This means that when you submit an exercise, it is automatically checked against a set of tests that verify the correctness of the exercise.
For exercises that involve programming, the platform has a specific set libraries that are loaded into the grading environment. The exercises and grading are course-specific, and the libraries used in the exercises are also course-specific.
This means that the libraries used in the exercises may differ from the libraries used in your local development environment. For example, the libraries used in the exercises may be older or newer versions of the libraries you are using locally. This is important to keep in mind when you are working on exercises, as the behavior of the libraries may differ between your local environment and the grading environment.
Library versions
Currently, the library versions used in the grading environments are as follows:
Astro and Svelte
In Designing and Building Scalable Web Applications, when using Astro and/or Svelte, the following versions are used in package.json
:
{
"...": "...",
"dependencies": {
"@astrojs/svelte": "7.0.5",
"@astrojs/mdx": "4.1.0",
"@deno/astro-adapter": "0.2.0",
"astro": "5.4.0",
"better-auth": "1.2.2",
"svelte": "5.20.5"
},
"devDependencies": {
"@playwright/experimental-ct-svelte": "1.50.1",
"@playwright/test": "1.50.1"
}
}
Deno
In Designing and Building Scalable Web Applications and in Web Software Development, the version of Deno is 2.2.3
. The deno.json
configuration is as follows.
{
"imports": {
"@hono/hono": "jsr:@hono/hono@4.6.5",
"ioredis": "npm:ioredis@5.6.0",
"postgres": "npm:postgres@3.4.5",
"scrypt": "jsr:@denorg/scrypt@4.4.4",
"zod": "https://deno.land/x/zod@v3.23.8/mod.ts",
"zValidator": "npm:@hono/zod-validator",
"@std/assert@1.0.8": "jsr:@std/assert@1.0.8",
"better-auth": "npm:better-auth@1.2.2",
"kysely-postgres-js": "npm:kysely-postgres-js@2.0.0"
},
"unstable": ["kv"]
}
This means that you can either import e.g. ioredis
using import { Redis } from "ioredis";
or import { Redis } from "npm:ioredis@5.6.0";
.
Svelte and SvelteKit
In Web Software Development, the versions used in Svelte and SvelteKit are as follows (from package.json
):
{
"...": "...",
"devDependencies": {
"@playwright/experimental-ct-svelte": "1.50.1",
"@playwright/test": "1.50.1",
"@skeletonlabs/skeleton": "3.1.0",
"@skeletonlabs/skeleton-svelte": "1.0.0",
"@sveltejs/adapter-node": "5.2.12",
"@sveltejs/kit": "2.20.0",
"@sveltejs/vite-plugin-svelte": "5.0.3",
"@tailwindcss/forms": "0.5.10",
"@tailwindcss/vite": "4.0.14",
"svelte": "5.23.1",
"tailwindcss": "4.0.14",
"vite": "6.2.2"
},
"dependencies": {
"jose": "6.0.10"
}
}
Dart
In Modern and Emerging Programming Languages, FITech-course series, and in Device-Agnostic Design with Flutter and Dart, the Dart version is 3.7
. The relevant dependencies in pubspec.yaml
are as follows:
dependencies:
characters: 1.4.0
equatable: 2.0.7
test: 1.25.14
test_process: 2.1.1
Flutter
In the FITech-course series and in Device-Agnostic Design with Flutter and Dart, when using Flutter, the Dart version is 3.5
and Flutter version 3.24.0
. The relevant dependencies in pubspec.yaml
are as follows:
dependencies:
flutter:
sdk: flutter
flutter_test:
sdk: flutter
http: ^1.2.2
nock: ^1.2.3
flame: 1.20.0
flame_forge2d: 0.18.2+1
flutter_riverpod: ^2.5.1
flutter_form_builder: 9.4.1
form_builder_validators: 11.0.0
get: 4.6.6
hive_ce: 2.5.0+2
hive_ce_flutter: 2.0.0
go_router: ^14.2.6
shared_preferences: ^2.2.1
web_socket_channel: 3.0.1
Python
In the Machine Learning on the Web part of Designing and Building Scalable Web Applications and in Software Engineering with Large Language Models, the Python version is 3.11
. The relevant dependencies in requirements.txt
are as follows:
black==23.7.0
fastapi==0.115.12
joblib==1.4.2
pandas==2.2.3
scikit-learn==1.6.1
uvicorn==0.34.0
httpx==0.28.1
Rust
In Modern and Emerging Programming Languages, the Rust version is 1.68.2
. The relevant dependencies in Cargo.toml
are as follows:
assert_cmd = "2.0.8"
predicates = "2.1.5"
rand = "0.8.5"
chrono = "0.4.23"
gag = "1.0.0"
regex = "1.7.1"
clap = { version = "4.1.8", features = ["derive"] }
csv = "1.2.1"
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.95"
num = "0.4.0"
num-traits = "0.2.14"
crossterm = "0.25.0"
nom = "8.0.0"
Gleam
In Modern and Emerging Programming Languages, the Gleam version is 1.6.3
. The relevant dependencies in gleam.toml
are as follows:
gleam_stdlib = ">= 0.34.0 and < 0.52.0"
gleam_erlang = ">= 0.33.0 and < 1.0.0"