ViPLab

Service for employees and students

Virtual Programming Laboratory (ViPLab)

The virtual programming lab ViPLab is a browser-based programming environment in ILIAS which enables the execution of programming tasks in online tests.

Scope of functions

  • Programming exercises in a uniform environment
  • Programming courses with sample programs that serve as a basis for further activities
  • Provision of complex simulations, with modification of the simulation parameters
  • Output can be interpreted in textual and graphical form (2D & 3D)
  • Supported programming languages: C, C++, Matlab, Octave and Java, and DuMuX
  • Automatic correction of task solutions possible

Frequently asked questions

Oben in ViPLab kann die zu bearbeitende Aufgabe ausgesucht werden. Links im Textfeld steht der Teil des Programms, das zur Lösung der Aufgabe vervollständigt werden muss. Unten kann mit Execute das Programm ausgeführt werden. Oberhalb des Textfeldes kann das Programm gespeichert, geöffnet, gedruckt werden und Zeilennummern kann man sich anzeigen lassen, um die Stelle, an der eine Fehlermeldung auftritt, leichter zu finden. Im rechten Textfeld steht dann die Ausgabe und eventuell Fehlermeldungen.

Aus Sicherheitsgründen sind einige Funktionen deaktiviert. Es kann auch aus didaktischen Gründen sinnvoll sein, eine beschränkende Struktur vorzugeben. Außerdem verbietet bei einigen Programmen die Lizenz, dass man die Programme vollumfänglich im Internet zugänglich macht.

ViPLab läuft im Browser. Wird dieser geschlossen oder die Seite neu geladen, dann gehen alle Änderungen verloren. Man kann seine Arbeit auf dem aktuellen Rechner speichern. Damit ist man vor Datenverlust geschützt und kann auch später weiterprogrammieren.

Es gibt nicht die eine richtige Lösung, sondern es sind immer mehrere Lösungswege denkbar. Man kann zwar beweisen, ob ein Programm korrekt ist oder nicht, es ist allerdings aufwändig und wird in der Praxis nicht gemacht. Deshalb versucht man mit charakteristischen Beispielen zu testen und die Ergebnisse zu prüfen. Falsch-Eingaben sollten ein Programm nicht abstürzen lassen oder falsche Resultate liefern, sondern eine aussagekräftige Fehlermeldung zurückgeben.

Man muss zwei Arten von Fehlern unterscheiden. 
Es gibt syntaktische Fehler, das heißt die Form des Programms entspricht nicht den Regeln der Programmiersprache; vergleichbar einem Grammatikfehler bei Sprachen. Computer sind da sehr strikt. Bei syntaktischen Fehlern bricht das Programm ab und gibt eine Fehlermeldung aus, die Hinweise auf den Fehler geben. Es wird dabei die Zeilennummer mit angegeben, so dass der Fehler in dieser Zeile oder der näheren Umgebung zu suchen ist. 
Die Zeile 


n = length(b; 


führt zur Fehlermeldung wie 


>> {#??? Error: File: /work/16/source.m Line: 31 Column: 13 Unbalanced or unexpected parenthesis or bracket. 

die angibt, dass die Zahl der öffnenden und schließenden Klammern ( bzw. ) unterschiedlich ist. Damit sollte der Fehler zu finden sein. 
Schwieriger zu finden sind semantische Fehler, also logische Fehler im Programm. Bei Sprache wären das korrekte Sätze mit einer falschen Aussage. Inhaltliche Fehler sind schwerer zu finden. Es gibt einige klassische Fehler. Oft werden Schleifen einmal zu viel oder zu wenig durchlaufen, Vorzeichenfehler in Bedingungen oder Dimensionsfehler bei Vektoren und Matrizen treten auf. Manchmal bricht das Programm ab, wenn der Befehl nicht ausgeführt werden kann. Dann ist der Fehler leicht einzugrenzen. Stimmt allerdings das Ergebnis nicht, muss das Programm noch einmal durchdacht werden. Es kann helfen Zwischenergebnisse mit disp, printf ausgeben zu lassen. Oft haben die Variablen andere Werte, als man fälschlicher Weise vermutet.

To the top of the page