Commit 86d95a9b authored by Siddique's avatar Siddique
Browse files

Added Sample files and evalscript

parent 9c6c7def
# Docker Compose configuration
# Copy this file to .env in the repository root. Do not copy it to asyst-backend/.env.
# Optional host ports
FRONTEND_PORT=5173
BACKEND_PORT=8000
......
File added
......@@ -6,7 +6,7 @@ The user-facing application is branded **Asyst**.
## Workflows
- **Grade answers:** upload a CSV/XLSX file, configure the grading method and model provider, generate AI scores, review answers by question and predicted-grade category, and inspect student results.
- **Grade answers:** upload a CSV/XLSX file, configure the grading method and model provider, generate AI scores, review answers by question and predicted-grade category, and inspect or export student results.
- **Evaluate model:** upload professor-scored answers, run the same AI grading configuration, and compare AI predictions with professor grades using per-label precision, recall, and support. Results can be viewed on the original 0.5-point scale or a rounded whole-number scale.
Both workflows support these grading methods:
......@@ -16,12 +16,22 @@ Both workflows support these grading methods:
- Reference answer with grading rules
- Example-guided grading
## Sample Input Files
The repository includes fictional data that can be uploaded directly to understand the expected formats:
- [German Moodle-style grading sample](samplefiles/gradingflow/SampleInputFile.xlsx) contains German Moodle column names and three questions.
- [English grading sample](samplefiles/gradingflow/SampleInputFile2.xlsx) contains four Java questions, reference answers, and maximum points.
- [Evaluation sample with professor scores](samplefiles/evaluationflow/asyst_evaluation_sample.csv) contains 25 answers for each of two questions and a professor score for every answer.
Use either grading workbook with **Grade answers**. Use the CSV file with **Evaluate model**, because that workflow requires professor scores for comparison with the AI predictions.
## Technology
- React 19, TypeScript, Vite, and Tailwind CSS
- FastAPI, Pydantic, SQLAlchemy, pandas, and SQLite
- OpenAI-compatible access for a local LLM, Academic Cloud Chat AI, or custom OpenAI credentials
- Docker Compose with an optional bundled llama.cpp server
- Docker Compose with optional llama.cpp CPU and CUDA servers
## Repository Structure
......@@ -29,119 +39,137 @@ Both workflows support these grading methods:
LLM-ASYST/
|-- asyst-backend/ FastAPI application, grading services, and tests
|-- asyst-ui/ React frontend and tests
|-- samplefiles/ Example grading and evaluation uploads
|-- diagrams/ Architecture and workflow diagrams
|-- models/ Local GGUF model directory (model files are ignored)
|-- docker-compose.yml CPU-based local stack
|-- docker-compose.yml Bundled CPU-based stack
|-- docker-compose.cuda.yml CUDA override for the bundled LLM
`-- docker-compose.host-llm.yml
Override for an LLM server running on the host
Recommended override for a host llama.cpp server
```
## Prerequisites
Choose either:
For local development:
- Docker Desktop with Docker Compose; or
- Python 3.11 or later and Node.js 22 or later for local development.
- Python 3.11 or later
- Node.js 22 or later
- Access to a supported LLM provider, or a local [llama.cpp](https://github.com/ggml-org/llama.cpp) server
You also need access to at least one supported LLM provider.
For containerized operation:
## Run with Docker Compose
- Docker Desktop or Docker Engine with Docker Compose
- A GGUF model for the local-LLM options
- For CUDA: an NVIDIA GPU, compatible drivers, and the NVIDIA Container Toolkit
### Bundled local LLM on CPU
### Tested Windows configuration
Copy the example Docker configuration:
The current project setup has been tested with:
- Python `3.13.1`
- llama.cpp server build `8994` (commit `aab68217b`), compiled with Clang `19.1.5` for Windows x86_64 and installed through WinGet
Check the locally installed versions with:
```powershell
Copy-Item .env.example .env
py --version
llama-server --version
```
On macOS/Linux, use `cp .env.example .env`.
## Run Locally
Place your GGUF model in `models/`. The default configuration expects:
This section runs the backend and frontend directly on the computer. It is the most convenient setup for development.
```text
gemma-4-E4B-it-Q4_K_M.gguf
```
### 1. Configure the backend
To use another GGUF file, change `LOCAL_LLM_MODEL_FILE` in the root `.env`. Model weights are intentionally ignored by Git and must be downloaded separately by each user.
For local development, copy the backend-specific example file.
Then start the stack:
Windows PowerShell:
```sh
docker compose up --build
```powershell
Copy-Item asyst-backend\.env.example asyst-backend\.env
```
### Bundled local LLM with CUDA
macOS/Linux:
```sh
docker compose -f docker-compose.yml -f docker-compose.cuda.yml up --build
cp asyst-backend/.env.example asyst-backend/.env
```
An NVIDIA GPU, compatible drivers, and the NVIDIA Container Toolkit are required.
The CUDA mode uses the same `LOCAL_LLM_MODEL_FILE` configuration as CPU mode.
The resulting `asyst-backend/.env` is ignored by Git. Edit it if the local model name, llama.cpp address, or Academic Cloud credentials differ.
### LLM server running on the host
When the backend runs directly, it explicitly loads this `asyst-backend/.env` file. It does not read the repository-root `.env`.
```sh
docker compose -f docker-compose.yml -f docker-compose.host-llm.yml up --build
```
The backend example contains these local llama.cpp settings:
The default host endpoint is `http://host.docker.internal:8080/v1`. Override it when necessary:
```dotenv
UPLOAD_DIR=uploads
DATABASE_URL=sqlite:///./asyst.db
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
```powershell
$env:HOST_LLM_BASE_URL = "http://host.docker.internal:8080/v1"
$env:HOST_LLM_MODEL = "your-model-name"
LOCAL_LLM_BASE_URL=http://127.0.0.1:8080/v1
LOCAL_LLM_MODEL=gemma-4-E4B-it-Q4_K_M.gguf
LOCAL_LLM_API_KEY=local-not-required
LLM_MAX_TOKENS=1024
LLM_TEMPERATURE=0
LLM_REQUESTS_PER_MINUTE=10
```
The host LLM must expose an OpenAI-compatible `/v1` API. `host.docker.internal` is configured for Docker Desktop and Linux Docker Engine.
Change `LOCAL_LLM_MODEL` to the model name exposed by your server.
This override disables the bundled llama.cpp container. It can also be used when the deployment will use only Academic Cloud or **Use my OpenAI key**, because those providers do not require a local GGUF server.
For Academic Cloud Chat AI, add:
```dotenv
CHAT_AI_BASE_URL=https://chat-ai.academiccloud.de/v1
CHAT_AI_MODEL=gemma-4-31b-it
CHAT_AI_API_KEY=replace-with-your-key
```
After startup:
Never commit a real API key.
- Frontend: `http://localhost:5173`
- Backend API: `http://localhost:8000`
- Interactive API documentation: `http://localhost:8000/docs`
The two example files have separate purposes:
Docker stores uploaded files and the SQLite database in the named `asyst-backend-data` volume.
The frontend is built as static production assets and served by Nginx. Nginx proxies `/api` requests to the backend inside the Compose network, so the browser does not depend on Docker-internal hostnames.
- `asyst-backend/.env.example` becomes `asyst-backend/.env` when running the backend directly.
- The root `.env.example` becomes the root `.env` when running with Docker Compose.
To stop the application while retaining its data:
Do not copy the root Docker example into `asyst-backend/.env`. Docker uses `host.docker.internal` and `/data`-based container storage, while a locally started backend uses `127.0.0.1` and local filesystem paths.
```sh
docker compose down
```
### 2. Start a local llama.cpp server when using Local Gemma
To also permanently delete uploaded files and the SQLite database:
Install llama.cpp using a supported package manager, a prebuilt release, or a source build. See the official [llama.cpp quick start](https://github.com/ggml-org/llama.cpp#quick-start) and [server documentation](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md).
```sh
docker compose down --volumes
```
The Gemma model used during development was downloaded from the [Unsloth Gemma 4 E4B Instruct GGUF repository on Hugging Face](https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF). That repository provides several quantizations; the project examples use the `Q4_K_M` GGUF file named `gemma-4-E4B-it-Q4_K_M.gguf`.
## Run Locally
Example for Windows PowerShell:
### Backend
```powershell
llama-server `
-m "C:\path\to\your-model.gguf" `
--host 127.0.0.1 `
--port 8080 `
-c 8192 `
-ngl 0
```
Create `asyst-backend/.env` when local provider configuration is required. This file is ignored by Git.
The `-ngl`/`--n-gpu-layers` value controls model-layer GPU offloading in a GPU-enabled llama.cpp build:
Example configuration for Academic Cloud Chat AI:
- `-ngl 0`: offload zero model layers; inference runs on the CPU.
- `-ngl N`: offload up to `N` layers; use this when only part of the model fits in VRAM.
- `-ngl -1`: request all layers on llama.cpp versions that accept `-1` for full offload.
- A sufficiently large number such as `-ngl 99` is the portable pattern used in the current llama.cpp server examples to request full offload.
```dotenv
UPLOAD_DIR=uploads
DATABASE_URL=sqlite:///./asyst.db
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
If `-1` is rejected by your installed version, use `99` or another number larger than the model's layer count. Reduce the value if the model does not fit in VRAM. Check the exact options supported by the installed build with `llama-server --help`.
CHAT_AI_BASE_URL=https://chat-ai.academiccloud.de/v1
CHAT_AI_MODEL=gemma-4-31b-it
CHAT_AI_API_KEY=replace-with-your-key
Confirm that the server is ready:
LLM_MAX_TOKENS=1024
LLM_TEMPERATURE=0
LLM_REQUESTS_PER_MINUTE=10
```powershell
curl.exe http://127.0.0.1:8080/health
```
Never commit a real API key.
This step is unnecessary when using Academic Cloud or **Use my OpenAI key**.
### 3. Start the backend
Windows PowerShell:
......@@ -161,7 +189,7 @@ python3 -m venv .venv
./.venv/bin/python -m uvicorn app.main:app --reload
```
### Frontend
### 4. Start the frontend
In a second terminal:
......@@ -173,6 +201,128 @@ npm run dev
The frontend uses `http://localhost:8000` by default. Set `VITE_API_BASE_URL` before starting Vite if the backend uses another address.
Open:
- Frontend: `http://localhost:5173`
- Backend health check: `http://localhost:8000/health`
- Interactive API documentation: `http://localhost:8000/docs`
## Run with Docker Compose
Copy the example root configuration before using any Docker method:
```powershell
Copy-Item .env.example .env
```
On macOS/Linux:
```sh
cp .env.example .env
```
Docker Compose automatically reads this repository-root `.env` for `${VARIABLE}` substitutions in the Compose files. It does not use `asyst-backend/.env`, and that file is excluded from the backend Docker image.
### Recommended: host llama.cpp + Docker frontend and backend
This is the recommended local deployment. Run llama.cpp natively on the host computer so it can use the host's CPU/GPU configuration, while Docker runs only the frontend and backend.
First start the host model server. For Docker access, bind the server to an address reachable from Docker:
```powershell
llama-server `
-m "C:\path\to\your-model.gguf" `
--host 0.0.0.0 `
--port 8080 `
-c 8192 `
-ngl -1
```
Use `-ngl 0` for CPU-only inference, a positive layer count for partial GPU offload, or `-ngl 99` if the installed version does not accept `-1`. Binding to `0.0.0.0` makes the service reachable beyond localhost, so keep it protected by the operating-system firewall and do not expose port 8080 to an untrusted network.
In the root `.env`, make sure these values match the running server:
```dotenv
HOST_LLM_BASE_URL=http://host.docker.internal:8080/v1
HOST_LLM_MODEL=gemma-4-E4B-it-Q4_K_M.gguf
```
Then run:
```sh
docker compose -f docker-compose.yml -f docker-compose.host-llm.yml up --build
```
This override disables the bundled llama.cpp container. `host.docker.internal` allows the backend container to reach the server running on the host.
### Bundled local LLM with CUDA
Use this option when Docker has access to a compatible NVIDIA GPU. Place the GGUF file in `models/` and set its filename in the root `.env`:
```dotenv
LOCAL_LLM_MODEL_FILE=your-model.gguf
LOCAL_LLM_MODEL_NAME=local-gguf-model
```
Start the CUDA stack:
```sh
docker compose -f docker-compose.yml -f docker-compose.cuda.yml up --build
```
The CUDA override currently uses `-ngl 99`, which attempts to offload all layers for models with fewer than 99 layers. Edit the final `-ngl` value in `docker-compose.cuda.yml` when needed:
- `0` for CPU-only model-layer execution
- A specific positive number for partial GPU offload
- `-1` for full offload when supported by the selected llama.cpp image
- `99` to request all layers using the convention in the official llama.cpp Docker server example
Loading every layer requires enough VRAM for the model and its runtime buffers. If startup fails with an out-of-memory error, reduce the layer count or context size.
### Bundled local LLM on CPU — slow fallback
> **Important:** the normal `docker compose up --build` command runs the bundled model entirely on the CPU. Model loading and grading can be very slow, especially for a large GGUF model or a file containing many answers. Prefer the host-LLM method above whenever possible.
Place the GGUF file in `models/`. The default configuration expects:
```text
gemma-4-E4B-it-Q4_K_M.gguf
```
To use another file, change `LOCAL_LLM_MODEL_FILE` in the root `.env`. Model weights are intentionally ignored by Git and must be downloaded separately by each user.
Start the CPU stack:
```sh
docker compose up --build
```
### Docker URLs and stored data
After any Docker setup starts:
- Frontend: `http://localhost:5173`
- Backend health check: `http://localhost:8000/health`
- Interactive API documentation: `http://localhost:8000/docs`
Docker stores uploaded files and the SQLite database in the named `asyst-backend-data` volume. Rebuilding or recreating containers does not remove this volume.
The frontend is built as static production assets and served by Nginx. Nginx proxies `/api` requests to the backend inside the Compose network.
To stop the application while retaining uploaded files and database records:
```sh
docker compose down
```
To permanently delete the Docker volume, including all uploaded files and database records:
```sh
docker compose down --volumes
```
If the application was started with multiple Compose files, pass the same `-f` arguments when stopping it.
## Tests and Build
Backend:
......@@ -195,9 +345,9 @@ npm run build
Do not commit API keys, local `.env` files, SQLite databases, uploaded student files, virtual environments, dependency directories, build output, or model weights. The included `.gitignore` excludes these files.
When **Use my OpenAI key** is selected, the key is held in the frontend component state and sent in the grading-start request. The backend wraps the request value as a secret and uses it to construct the OpenAI-compatible client for that grading job. It is not written to SQLite, uploaded files, browser local storage, or API responses. It still travels in the HTTP request and remains temporarily in process memory, so HTTPS and a dedicated secret-management design would be required for a production deployment exposed beyond a trusted local environment.
When **Use my OpenAI key** is selected, the key is held in frontend component state and sent in the grading-start request. The backend wraps the request value as a secret and uses it to construct the OpenAI-compatible client for that grading job. It is not written to SQLite, uploaded files, browser local storage, or API responses. It still travels in the HTTP request and remains temporarily in process memory, so HTTPS and dedicated secret management would be required for a production deployment exposed beyond a trusted local environment.
Before the first GitLab commit, verify the repository contents with:
Before committing changes, inspect the repository contents:
```sh
git status
......
# Local backend storage and browser access
UPLOAD_DIR=uploads
DATABASE_URL=sqlite:///./asyst.db
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
# Local llama.cpp profile used by "Local Gemma" in the UI
LOCAL_LLM_BASE_URL=http://127.0.0.1:8080/v1
LOCAL_LLM_MODEL=gemma-4-E4B-it-Q4_K_M.gguf
LOCAL_LLM_API_KEY=local-not-required
# Academic Cloud profile (optional)
CHAT_AI_BASE_URL=https://chat-ai.academiccloud.de/v1
CHAT_AI_MODEL=gemma-4-31b-it
CHAT_AI_API_KEY=
# Shared grading defaults
LLM_PROMPT_STRATEGY=p1_reference_zero_shot
LLM_MAX_TOKENS=1024
LLM_TEMPERATURE=0
LLM_REQUESTS_PER_MINUTE=10
LLM_TIMEOUT_SECONDS=180
LLM_RETRY_MAX_ATTEMPTS=5
LLM_RETRY_INITIAL_SECONDS=3
LLM_RETRY_MAX_SECONDS=30
FirstName,LastName,Email-Address,Question 1,Answer 1,Reference Answer 1,max_points_1,Professor Score 1,Question 2,Answer 2,Reference Answer 2,max_points_2,Professor Score 2
Test,Student01,student01@example.test,Was ist RAM?,RAM ist ein dauerhafter Speicher wie eine Festplatte und behaelt alle Daten ohne Strom.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0,Was ist ein Algorithmus?,Ein Algorithmus ist eine Programmiersprache wie Python.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0
Test,Student02,student02@example.test,Was ist RAM?,"RAM ist der Prozessor, der alle Berechnungen ausfuehrt.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0,Was ist ein Algorithmus?,Ein Algorithmus besteht aus einer eindeutigen geordneten Folge von Schritten.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0.5
Test,Student03,student03@example.test,Was ist RAM?,RAM ist ein Netzwerkprotokoll fuer die Kommunikation im Internet.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0,Was ist ein Algorithmus?,Ein Algorithmus ist endlich und besteht aus eindeutig geordneten Schritten.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1
Test,Student04,student04@example.test,Was ist RAM?,RAM ist ein Eingabegeraet zum Schreiben von Text.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0,Was ist ein Algorithmus?,"Ein Algorithmus ist endlich, besteht aus eindeutigen geordneten Schritten und verarbeitet definierte Eingaben.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1.5
Test,Student05,student05@example.test,Was ist RAM?,RAM ist nur ein anderes Wort fuer die SSD im Computer.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0,Was ist ein Algorithmus?,"Ein Algorithmus ist eine endliche, eindeutige und geordnete Folge von Schritten, die definierte Eingaben verarbeitet und eine Ausgabe zur Loesung eines Problems erzeugt.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,2
Test,Student06,student06@example.test,Was ist RAM?,RAM ist fluechtig.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0.5,Was ist ein Algorithmus?,Ein Algorithmus ist ein Computerbauteil fuer die Datenspeicherung.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0
Test,Student07,student07@example.test,Was ist RAM?,Die CPU kann schnell auf RAM zugreifen.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0.5,Was ist ein Algorithmus?,Ein Algorithmus ist endlich.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0.5
Test,Student08,student08@example.test,Was ist RAM?,RAM speichert aktuell benoetigte Daten.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0.5,Was ist ein Algorithmus?,Ein Algorithmus verarbeitet definierte Eingaben und erzeugt daraus eine Ausgabe.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1
Test,Student09,student09@example.test,Was ist RAM?,Ohne Strom geht der Inhalt des RAM verloren.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0.5,Was ist ein Algorithmus?,Ein Algorithmus verarbeitet Eingaben in einer eindeutigen Schrittfolge und erzeugt eine Ausgabe.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1.5
Test,Student10,student10@example.test,Was ist RAM?,RAM haelt momentan benoetigte Programmanweisungen bereit.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,0.5,Was ist ein Algorithmus?,Ein Algorithmus verarbeitet festgelegte Eingaben in endlich vielen eindeutig geordneten Schritten und liefert ein Ergebnis oder eine Problemloesung.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,2
Test,Student11,student11@example.test,Was ist RAM?,RAM speichert aktuell benoetigte Daten und ist fluechtig.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1,Was ist ein Algorithmus?,"Ein Algorithmus ist eine zufaellige, unbegrenzte Sammlung von Ideen ohne Reihenfolge.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0
Test,Student12,student12@example.test,Was ist RAM?,"Die CPU kann schnell auf RAM zugreifen, und ohne Strom gehen seine Inhalte verloren.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1,Was ist ein Algorithmus?,Ein Algorithmus verarbeitet definierte Eingaben.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0.5
Test,Student13,student13@example.test,Was ist RAM?,RAM haelt laufende Programmanweisungen bereit und ist fluechtig.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1,Was ist ein Algorithmus?,Ein Algorithmus hat eine endliche Zahl von Schritten und loest ein Problem.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1
Test,Student14,student14@example.test,Was ist RAM?,"RAM speichert aktuelle Daten, auf die die CPU schnell zugreifen kann.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1,Was ist ein Algorithmus?,Ein Algorithmus hat endlich viele geordnete eindeutige Schritte und loest damit ein Problem.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1.5
Test,Student15,student15@example.test,Was ist RAM?,RAM ist fluechtig und verliert seinen Inhalt ohne Strom.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1,Was ist ein Algorithmus?,"Ein Algorithmus besteht aus einer endlichen und eindeutigen Schrittfolge. Er nimmt definierte Eingaben auf und erzeugt daraus eine Ausgabe, die das Problem loest.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,2
Test,Student16,student16@example.test,Was ist RAM?,"RAM speichert aktuell benoetigte Daten, ist fluechtig und fuer die CPU schnell erreichbar.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1.5,Was ist ein Algorithmus?,"Ein Algorithmus ist nur ein Bild, das auf dem Bildschirm angezeigt wird.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0
Test,Student17,student17@example.test,Was ist RAM?,"RAM haelt laufende Programmanweisungen bereit, die CPU greift schnell darauf zu, und ohne Strom gehen sie verloren.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1.5,Was ist ein Algorithmus?,Ein Algorithmus erzeugt eine Ausgabe oder loest ein Problem.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0.5
Test,Student18,student18@example.test,Was ist RAM?,"RAM ist fluechtig, speichert aktuelle Daten und verliert seinen Inhalt ohne Strom.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1.5,Was ist ein Algorithmus?,Ein Algorithmus besteht aus eindeutigen geordneten Schritten und verarbeitet Eingaben.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1
Test,Student19,student19@example.test,Was ist RAM?,"RAM speichert momentan benoetigte Daten, ist fluechtig und bietet der CPU schnellen Zugriff.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1.5,Was ist ein Algorithmus?,"Ein Algorithmus ist endlich, verarbeitet definierte Eingaben und liefert eine Ausgabe.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1.5
Test,Student20,student20@example.test,Was ist RAM?,"Die CPU greift schnell auf RAM zu; dort liegen aktuelle Programmanweisungen, die ohne Strom verloren gehen.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,1.5,Was ist ein Algorithmus?,"Ein Algorithmus ist ein endliches Verfahren mit klar geordneten Schritten, definierten Eingaben und einer Ausgabe zur Loesung einer Aufgabe.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,2
Test,Student21,student21@example.test,Was ist RAM?,"RAM speichert aktuell benoetigte Daten und Programmanweisungen. Er ist fluechtig, die CPU kann schnell darauf zugreifen, und ohne Strom geht sein Inhalt verloren.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,2,Was ist ein Algorithmus?,Ein Algorithmus ist ein Betriebssystem wie Windows.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0
Test,Student22,student22@example.test,Was ist RAM?,"Der RAM haelt die momentan verwendeten Daten und Befehle bereit. Er ist fluechtig, schnell fuer die CPU erreichbar und verliert alles beim Ausschalten.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,2,Was ist ein Algorithmus?,Ein Algorithmus beschreibt geordnete Schritte.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,0.5
Test,Student23,student23@example.test,Was ist RAM?,"RAM ist ein schneller, fluechtiger Arbeitsspeicher fuer aktuelle Daten und Programmanweisungen; die CPU greift darauf zu, und ohne Strom bleibt nichts erhalten.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,2,Was ist ein Algorithmus?,Ein Algorithmus ist endlich und liefert am Ende eine Ausgabe.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1
Test,Student24,student24@example.test,Was ist RAM?,Im RAM liegen gerade benoetigte Daten und Programmbefehle. Die CPU erreicht sie schnell. RAM ist fluechtig und wird ohne Strom geleert.,"Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,2,Was ist ein Algorithmus?,"Ein Algorithmus beschreibt eindeutige geordnete Schritte, verarbeitet Eingaben und loest ein Problem.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,1.5
Test,Student25,student25@example.test,Was ist RAM?,"RAM stellt der CPU aktuelle Daten und Programmanweisungen schnell bereit. Als fluechtiger Speicher verliert er seinen Inhalt, sobald der Strom weg ist.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) RAM speichert aktuell benoetigte Daten oder Programmanweisungen, (2) RAM ist fluechtig, (3) die CPU kann schnell darauf zugreifen, (4) ohne Strom geht der Inhalt verloren. Maximal 2 Punkte.",2,2,Was ist ein Algorithmus?,"Ein Algorithmus fuehrt eindeutig geordnete Schritte nur endlich oft aus, verarbeitet dabei definierte Eingaben und liefert eine Ausgabe oder Problemloesung.","Bewertung: Je 0.5 Punkte fuer jeden korrekt genannten Aspekt: (1) Ein Algorithmus ist endlich, (2) er besteht aus einer eindeutigen geordneten Folge von Schritten, (3) er verarbeitet definierte Eingaben, (4) er erzeugt eine Ausgabe oder loest ein Problem. Maximal 2 Punkte.",2,2
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment