Technik, Gothic und Anderes

Technik ist Spiel, Gothic ist ernst und Zeit hat man zuviel

  • Kategorien

  • Tags

  • Archiv

  • Links

    zu Bee5

    blog.oncode.info läuft bei Cyon und ich bin sehr glücklich damit.

Archiv für 'Bildung und Unterricht' Kategorie

Text- oder Quellcodedateien auf Ähnlichkeit prüfen unter Linux

Geschrieben von skaldrom am 12. November 2009

mirrorManchmal überfällt mich der starke Drang nachzuforschen, wieviel von meinem vermittelten Wissen auch tatsächlich angekommen, gespeichert und wiedergegeben werden kann. Im Volksmund heisst dies “Prüfung”, im Mund der Lernenden “Folter”. Im Zeitalter der Kommunikation könnte es natürlich sein, dass Dateien weitergegeben werden. Als Beurteiler sollte man das herausfinden, so dass man diese Dateien wieder zurückgeben kann :)

Eine der Möglichkeiten unter Linux ist der similarity-tester. Er kann Code in verschiedenen Programmiersprachen oder auch Text vergleichen. Als Argument übernimmt er eine Liste von Dateien für den Vergleich.

Angenommen, man hat die Dateinamen vorgeschrieben und alle Resultate lokal, so listet folgender Befehl die Ähnlichkeiten prozentual auf, absteigend geordnet.

sim_text -e -s -p `find . -name 'aufgabe.vb'`

Wer sich in die Optionen einarbeiten möchte, sei auf die Manpage verwiesen.

Eine weitere Möglichkeit wäre Simhash. Leider bin ich zu dumm es zu verstehen und für meine Bedürfnisse aufzurufen.

Hat jemand vielleicht eine noch komfortablere Lösung? Vielleicht auch für Binärdateien?

Eingeordnet in Bildung und Unterricht, Linux | 1 Kommentar »

Website mit Java-Programmieraufgaben, die automatisch korrigiert werden

Geschrieben von skaldrom am 21. October 2009

batUnd es gibt sie: Die Perlen im Web. Man surft sich einfach so die Zeit weg, weil die Arbeit lauert und nur darauf wartet zuzupacken und versucht verzweifelt das schlechte Gewissen wegzusurfen und dann trifft einem der Hammer und eine Rechtfertigung für das Prokastrinieren: JavaBat. JavaBat ist undesigned, sehr technisch, aber einfach genial um Java zu lernen.

Auf JavaBat gibt es Programmieraufgaben zu verschiedenen Themen. Die Lösung wird als Java-Quellcode eingereicht, auf dem Server compiliert, ausgeführt und mittels Unit-Tests korrigiert. Eine geniale Idee: Schlicht und ergreifend und mit dem Potential süchtig zu machen. Zusätzlich besteht die Möglichkeit, einen “Teacher” anzugeben, dieser kann dann die Fortschritte beobachten.

Diese Aufgabe wurde gelöst

Diese Aufgabe wurde gelöst

Aber wie machen die denn das? Wie bewahren sie sich davor, dass ich ihnen mit den Dateioperationen den Server überschreibe? Es wäre doch wunderbar, wenn man dieses Prinzip auch für andere Programmiersprachen anwenden könnte… Es scheint so, dass es bei Java sehr einfach ist: JavaBat verbietet Import-Statements, oder es kann über die JVM-Security-Policies gelöst werden (sagen sie bei Stackoverflow). Eine generellere Herangensweise zeigt Geordi: Hier werden die System-Calls geblockt. Mal sehen, wie sich das zum Nutzen Aller verwenden lässt…

Eingeordnet in Coding, eLearning | 4 Komentare »

Kleines Projektverwaltungstool für Projektarbeiten in Schulklassen

Geschrieben von skaldrom am 22. January 2009

projectProjektunterricht gehört zu den handlungsorientierten Formen im Unterricht. Weil wir Leute ausbilden möchten, die auch TUN können und es nicht beim Schwatzen darüber sein lassen, gehört er zu unserem methodischen Handwerkszeug. Theoretisch ist es eine gute Sache, praktisch stellt der Projektunterricht einiges an Herausforderungen. Ein einziges Projekt zu managen ist schon fast unmöglich, wie soll es denn mit vielen parallelen Projekten funktionieren? Erschwerend kommt hinzu, dass die Lernenden oftmals noch nicht wirklich Projekterfahrung haben.

Es braucht darum eine gute Organisation, mehr Projektverwaltung als Projektmanagement. Die Resultate müssen klar beschrieben und die Wege so gut wie möglich vorgegeben sein. Dokumentation und Inhalte sollten nicht viel Raum für Zweideutigkeiten enthalten und auch die Bewertung sollte den Lernenden einleuchten. Normalerweise wird dies in einem Projektmanual geregelt.

Für die Organisation habe ich eine kleine Accessdatenbank entworfen. Sie ist für accesskundige Lehrpersonen gedacht und sicher nicht idioten- geschweige den lehrpersonensicher (*hüstl*). Vielleicht hat noch jemand Anwendung dafür. Verbesserungen nehme ich natürlich auch gerne wieder zurück.

Die Projektverwaltung und ihre Features

Das "Dashboard"

Das Dashboard

Lesen Sie den Rest dieses Beitrages »

Eingeordnet in Bildung und Unterricht | Keine Kommentare »

Lokale Turniere für CodeRuler

Geschrieben von skaldrom am 17. December 2008

coderulerCodeRuler ist ein geniales Programmierspiel von IBM. Es eignet sich sehr für eine spielerische Beschäftigung mit der Programmiersprache Java.

Für Turniere hat das Spiel eine eingebaute Serverfunktion. Rulers werden ganz bequem von Eclipse aus eingereicht und stehen dann auf dem Server zur Verfügung. Wenn man allerdings eigene Rulers gegeneinander antreten lassen möchte, oder wenn das Netz securitymässig so abgeriegelt ist dass Peer to Peer Verbindungen nicht möglich sind, muss man etwas tricksen. Hier die einfachste Möglichkeit unter Linux (eventuell portierbar), die ich gefunden habe. Kompliziertere Möglichkeiten gibt es natürlich auch.

  1. Die MyRuler.java Dateien müssen irgendwie auf den Servercomputer kommen. Ev. mit E-Mail, USB-Stick oder Flaschenpost.
  2. Den Server in Eclipse starten mittels: Window → Preferences → Games → Start. Eventuell sollte vor dem Start der Port angepasst werden (9999 ist gut).
  3. Für jeden Ruler muss ein eigenes “Game” Projekt in Eclipse erstellt werden. Die MyRuler.java dorthin kopieren.
  4. Für jeden Ruler Folgendes erledigen:
    1. Projekt öffnen und Games.xml anklicken.
    2. Mit dem Pfeil den Bereich Game Server erweitern und die korrekten Daten ausfüllen.
    3. Identification ausfüllen.
    4. Ruler submitten.
    5. Im Workspace Verzeichnis (Ersichtlich unter File → Switch Workspace) in .metadata/.plugins/com.ibm.games/players wechseln
    6. Das Verzeichnis localhost in irgendetwas Anderes umbenennen

Turniere können nun an Zwei Orten durchgeführt werden:

  • Entweder Direkt von einem games.xml aus.
  • Im Turniermodus: Window → Preferences → Games → Tournaments.

Der Turniermodus ist ein Sensibelschen. Turniere scheinen nur mit neu submitteten Rulern möglich zu sein. Ausserdem: Im Hintergrund wird sofort mit dem Turnier begonnen! Das GUI zeigt keine direkte Reaktion, nicht mal ein Eintrag des neuen Turniers ist ersichtlich, aber im Hintergrund kämpfen die armen Gesellen. Das Spiel kann dann mit dem Button Play angesehen werden. Hier hat erst ein Klick auf den schwarzen Bereich das Spielfeld zum Vorschein gebracht.

Eingeordnet in Applikationen, Desktop, eLearning | Keine Kommentare »

Ich will sie alle: Informatikzertifikate und -kätchen

Geschrieben von skaldrom am 10. September 2008

CertificationEigentlich ist ja heute der Weltuntergang (made in Switzerland) angesagt. Ob er schon stattgefunden hat kann man übrigens mit der Website Has the Large Hadron Collider destroyed the world yet? überprüfen.

Diese meine letzten Stunden möchte ich nutzen, um über die Erfahrungen mit Zertifikaten und der Vorbereitung darauf festzuhalten. Was tut man, wenn man im Leben weiterkommen will? Richtig, man heiratet gut und reich. Was macht man wenn man hässlich ist? Richtig: Eine Ausbildung. Was, wenn man dafür zu blöd ist und die Schnauze noch voll hat von einer psychosozialaktiven biologisch abbaubaren lasstunseinanderspürenden Lehramtsausbildung? Richtig: Ein Zertifikat. Und wenn man viel zu viel Schlaf und Zeit hat? Richtig: Viele Zertifikate… :denken:

Ausserdem macht der Adrenalinkick süchtig :D … Darum hier die Erfahrung mit ECDL, LPIC, ZCE und Kollegen…
Lesen Sie den Rest dieses Beitrages »

Eingeordnet in Bildung und Unterricht | 10 Komentare »

15 Sekunden Ruhm; Moodle, e-Learning und die Berufsfachschule BBB im Fernsehen

Geschrieben von skaldrom am 9. May 2008

TrophiesDie Berufsfachschule BBB ist wirklich ziemlich an vorderster Front was die Umsetzung von e-Learning im Präsenzunterricht angeht. Zum Einen wurde sie von IBM zur besten e-Schule in der Sekundarstufe II ausgezeichnet, zum Andern hat das Magazin Einstein des Schweizer Fernsehens einen kleinen, aber feinen Bericht darüber gedreht, der (oder direkt bei SF DRS) angesehen werden kann

Wer in den verschiedenen Beiträgen meine Fresse erkennt, kriegt drei Vaterunser und Eiswürfel, um sie auf die Augen zu legen :-D .

Aja, den Juniorwebaward 2008 haben wir in unserer Altersklasse auch noch gewonnen…

Eingeordnet in eLearning | 2 Komentare »

Und es geht doch! GTCO Schoolboard unter Linux

Geschrieben von skaldrom am 22. January 2008

Das Schoolboard

BlackboardBei uns sind diese relativ coolen Dinger, genannt “elektronische Wandtafel” fest eingerichtet: Der Beamer projeziert die Laptopausgabe auf eine aktive, weisse Fläche. Diese Fläche kann die Bewegungen und klicks eines speziellen Stiftes tracken und über USB an den Laptop senden. Dabei können Mausbewegungen simuliert oder mit speziellen Tools Stifte und Marker nachgeahmt werden. Das Unterrichten gelingt so normalerweise flüssiger, wel nicht mehr zwischen Laptopschirm und Präsentationsfläche hin- und hergewechselt werden muss.

schoolboard principle

Lange Zeit gab es diese Software nur für Windows. Mittlerweile ist sie für Linux schon benutzbar, wenn sie auch noch ein paar Kinderkrankheiten hat.

Installation

Hardware

Die Ausgabe des Kommandos uname -a zeigt die Kernelversion. Bei mir hats mit 2.6.22 relativ gut funktioniert. Erst um 21, 22 herum ist der gtco Treiber beim Kernel dabei. Ob dieser Treiber lokal vorhanden ist sieht man mittels modprobe -v gtco. Wenn nicht reklamiert wird, dann ist er geladen und alles ist ok.
Sollte das gtco Modul allerdings nicht vorganden sein, so wird man es von der GTCO Website downloaden und selbst kompilieren müssen.

Um zu sehen ob das Schoolboard (USB Version) erkannt wurde, kommt lsusb zur Anwendung:

Bus 004 Device 004: ID 078c:0401 GTCO/CalComp

Software

Die neuste Interwrite Software ist ein Riesenteil. Für Linux gibt es sie zum freien Download. Vorsicht: die Software ändert die xorg.conf, darum ist der spezielle Hinweis dass ein Restarts (des X-Servers) vonnöten sei durchaus ernst zu nehmen. Irgendwie wird danach ein unheimlich ressourcenhungriger Prozess mit Namen IWDM gestartet.

Das Kalibrieren und ein erster Check des Boards geht mit Launch_Device_Manager. Die Werkzeugleiste kann mi Launch_InterWrite gestartet werden.

Probs und Anwendung

Leider funktioniert bei mir das onscreen Keyboard nicht. Hat das jemand zum Laufen gekriegt?

Unser Board hat eine Auflösung von 1024×768 Bildpunkten. Es gibt unter Anderen diese zwei Möglichkeiten, im Laufenden Betrieb umzuschalten:

  • Das KDE Kontrollzentrum (kcontrol) Angeschlossene Geräte → Anzeige.
  • Auf der Kommandozeile : xrandr -s 1024x768.

Eingeordnet in eLearning | Keine Kommentare »

PHP-UWA Widget Library

Geschrieben von skaldrom am 26. November 2007

Update Jan 2011: The PHP-Update library has been completely rewritten and does now support the current IFrame-Method. The principles are still the same, but the API has changed quite a bit: Projekt auf oncode.info.

Widgets and Web 2.0

Universal Widget ArchitectureWidgets are little miniapplications which show data in a clearly arranged way or perform a more or less simple task for the user. Widgets are present on Windows Vista, Mac, iPhone and also in a webbased form for iGoogle, Yahoo!, Netvibes and many other portals. To give a boost to widget development, Netvibes presented a new framework which shall facilate the coding of widgets. The child is called Universal Widget Architecture. Widgets coded with the help of this framework should work on all the mentioned plattforms.

UWA Standard

A widged, coded with UWA is basically a XML-Dokument. It contains metadata, settings and the active part, written in Javascript. Especially the Preferences are of interest, because they are dynamic and allow widgetspecific settings. There are also some convenience-functions in the UWA-library.

The UWA specification has its own homepage and is very well documented. There are examples, a code-skeleton with explanations, a step-by-step tutorial, a forum and even a cheat-sheet. The start is very easy with such a lot of documentation.

Widget Repository

Finished and released widgets can be made available for the public and published in the Widget Repository (Ecosystem). Widgets ion this website can be added to the different platforms with a single (or double) click). There are some widgets in the repository which are coded in the deprecated Mini-API standard, but these will dissappear soon (hopefully).

Implementations

That sounded fascinating and must have a use somewhere… I will implement some widgets later, I needed to make these widgets usable in our own projects first. So I wrote a little PHP-class which I called pretentious PHP-UWA Widget Library.Handling widged should be easy, using this class. A little bit more ambitious is the handling of widget dependend preferences.

A minimal example is included in the download-package and can also be checked online.

PHP-UWA Widget Library Example

Displaying a widget should be straight forward:

<?php
require_once('uwawidget.php');
$uwawidget=new uwawidget('http://www.netvibes.com/api/uwa/examples/digg.xhtml');
echo $uwawidget->getWidgetHTML();
?>

There are two classmembers which can give more information about the widget:

getMetaData()
Metadaten like author, keywörds, description, … See the docu.
getAdditionalData()
Additional info like icons, stylesheets, …

Basically, there are the following sections for settings:

general
The widgets URL.
configuration
Displayparameters, which described in the docs.
preferences
Widget dependent preferences, also mentioned in the docs

For all these settings, there are the following classmembers:

Setters and Getters
setModuleUrl(), setConfiguration(), setPreferences()

getModuleUrl(), getConfiguration(), getPreferences()
getSettingsFormData($section)
Returns the settings in a friendly array, from which a form can be generated. $section can be "general", "configuration" or "preferences"
getSettingsHTML($section)
Returns the settings in an array with the format "Label" => "HTML". $section can be "general", "configuration" or "preferences"

For a test, I coded a Moodle block, which allows to use UWA Widgets inside the LMS. Heyo, WordPress, Xoops, etc-Coderz, how about an integration of the Widgets in your system???

Examples from the Moodle block:

Moodle UWA CalculatorMoodle UWA ConverterMoodle UWA Translator
Moodle UWA Google NotesMoodle UWA SpiderMoodle UWA ToDo
The configuration in Moodle:
Widget settings in Moodle

Uh, almost…

…I was almost faster than the german computer magazine c’t which has a short bit good introduction into UWA-Widgets.

Eingeordnet in Learninmanagement Systeme (lms), Web | 6 Komentare »

eLearning etwas anders…

Geschrieben von skaldrom am 26. September 2007

Unter Elearning wird oftmals noch das dröge Lernen von verbugten, sturen CD’s seiner selbst willen verstanden. Einen Schritt weiter geht das Blended Learning und die Learning Management Systems (lms) wie zum Beispiel Moodle.

Es geht aber auch ganz einfach und ganz spassig: AK Kappenberg hat mit WinChemie eine Programmsammlung mit einigen Perlen gratis zum Download ins Web gestellt, und das nicht nur für Chemie!

Der grosse Preis

Bei Der grosse Preis wird die Klasse in mehrere Gruppen eingeteilt, die live und abwechslungsweise gegeneinander Fragen beantworten, die mit dem Beamer projiziert werden. Dabei können die Gruppen Punkte einsetzen, sich beraten, ärgern oder freuen. Der Lerneffekt ist riesig, weil es einfach Spass macht. Die Fragen können mit einem Editor geändert und für jedes Fachgebiet angepasst werden.

Achtung: Damit das Teil läuft müssen die EconNSoft Core Components von AK Kappenberg vorgängig installiert werden, ansonsten gibt es eine nichtssagende Fehlermeldung!

Als nächstes werde ich AK Riddle austesten. Das scheint über das Netzwerk zu funktionieren. Ein Erfahrungsbericht dürfte folgen…

Eingeordnet in Desktop, eLearning | Keine Kommentare »

SVN und Moodleintegration: Einen Schritt weiter

Geschrieben von skaldrom am 16. May 2007

In einem älteren Posting habe ich schon beschrieben, dass wir das LMS Moodle mit SVN integrieren. Um die Integration voranzutreiben habe ich einen Block gecoded, von welchem aus man direkt die Dateien aktualisieren kann:

Moodle SVN Block

Den Code zu posten macht nicht viel Sinn, da es sehr installationsabhängig ist. Auf Anfrage hin rücke ich aber gerne was raus :) ….

Eingeordnet in Learninmanagement Systeme (lms) | Keine Kommentare »