Archiv für den Monat: April 2013

LaTeX im Informatikunterricht

In der Schule lernen wir im Informatik-Unterricht den Umgang mit Textverarbeitungsprogrammen, namentlich OpenOffice Writer. Dass der Informatikunterricht weitaus sinnvoller genutzt werden könnte – indem man z.B. wirklich Informatik unterrichtet, statt den Umgang mit Computern zu lehren – ist klar. Doch dies soll nicht Thema dieses Eintrags sein.

Wenn man schon den Umgang mit Textverarbeitungsprogrammen üben muss, sollte man dies mit einer besser geeigneten Technologie machen: statt WYSIWYG (What you see is what you get) mit OpenOffice lieber WYSIWYM (What you see is what you mean) mit LaTeX (wird mit einem stimmlosen velaren Frikativ ausgesprochen). Ich hör nun schon die ersten: „Oh nein, nicht LaTeX, das ist viel zu kompliziert“. Wenn man LaTeX in einem reinen Texteditor schreibt, mag dies stimmen. Doch dies ist heutzutage gar nicht mehr notwendig, denn es gibt Programme, die von der Bedienung her ähnlich wie Word bzw. OO Writer sind, jedoch im Hintergrund LaTeX verwenden (z.B. LyX). Und die Ergebnisse mit LaTeX sehen mit weniger Aufwand besser aus. Punkt.

Ich habe mich mit für das Konzept meiner Maturaarbeit mit LaTeX zu beschäftigen begonnen und habe schon nach kurzer Zeit ein passables Ergebnis erzielt. Es ist nicht schwer, wenn man mal das Konzept dahinter verstanden hat.

Die Schule behauptet, sie bereite uns auf das spätere Leben vor, die Kanti zusätzlich fürs Studium. Während dem Studium muss man oft Hausarbeiten, Semesterarbeiten, …, kurz gesagt, viele Arbeiten verfassen. Die meisten werden dies mit Word oder etwas ähnlichem machen und dabei Stunden damit zubringen, die Formatierung entsprechend hinzubekommen. Ich behaupte jetzt einfach mal, dass dies mit LaTeX schneller geht. Es gibt sogar Orte, an denen LaTeX verlangt wird. Und im Informatikunterricht schlägt man sich mit OO herum…

LaTeX mit LyX oder ähnlichem ist keine Hexerei. Eine Einführung darin im Informatikunterricht würde ich begrüssen. Es würde die Erstellung von Facharbeiten, Maturaarbeitskonzepten, Hausarbeiten usw. enorm vereinfachen.

Informatik-Olympiade – was macht man da?

Was macht man an einem Informatikwettbewerb? Das werde ich oft gefragt. Wenn ich dann antworte, dass man programmieren müsse, denken viele, man reiche einfach ein Programm oder ein Spiel ein, das dann bewertet werde. Klar gibt es auch solche Wettbewerbe, doch die SOI gehört nicht dazu. Bei dieser geht es um das Programmieren von Algorithmen.

Nun, was ist ein Algorithmus? Ein Algorithmus ist nicht etwas, das ursprünglich aus der Informatik kommt – selbst die alten Griechen kannten Algorithmen. Ein Beispiel für ein solcher ist die Berechnung des ggT von Euklid. Ein Algorithmus ist eine Abfolge von Befehlen, um eine bestimmte Aufgabe zu lösen. Dieser kann man in Pseudocode (das ist wie eine Programmiersprache, jedoch kann diese nicht für echte Programme verwendet werden, da die genaue Begriffe nicht festgelegt sind. So kann man auf einfache Art und Weise einen Algorithmus – also eine Abfolge von Befehlen – aufschreiben) wie folgt beschreiben (Quelle: Wikipedia):

EUCLID(a,b)
wenn a = 0
2      dann return b
sonst solange b ≠ 0
4      wenn a > b
5          dann a \leftarrow a - b
6      sonst b \leftarrow b - a
return a

Die return-Anweisung bedeutet, dass die Funktion diesen Wert zurückgeben soll. Der Algorithmus ist somit beendet. Zu erklären, warum und wie dieser Algorithmus funktioniert, überlasse ich euch (Wikipedia weiss es auch).

Das Ziel an der SOI ist also, ein solcher Algorithmus für ein gegebenes Problem zu finden und umzusetzen. Im nächsten Teil der Serie werde ich dann die Aufgaben näher beschreiben.

Medaillen für alle!

Im Final der SOI gewann ich Gold, doch ich habe nur den 4. Platz belegt. Das führt oft zu Verwirrung, denn normalerweise bekommt nur der Erste Gold.

Im Final der SOI gilt jedoch eher „Medaillen für alle“, denn alle der zwölf Finalteilnehmer erhielten eine Medaille: Gold für die ersten vier, die an die IOI dürfen, Silber für die nächsten vier und Bronze für Platz neun bis zwölf. So haben alle Finalteilnehmer ein Andenken.

SOI 2013

Dieses Jahr habe ich – wie letztes Jahr auch – an der Schweizerischen Informatik Olympiade (SOI) teilgenommen. Nachdem ich in der ersten Runde den 6. Rang und in der zweiten Runde den 5. Rang belegte, konnte ich im Final vom letzten Wochenende nochmals einen Platz vorrücken und landete auf dem 4. Platz. Damit kann ich zusammen mit den 1. bis 3. platzierten in der ersten Sommerferienwoche nach Australien an die Internationale Informatik Olympiade (IOI).

Da ich nun oft auf dies angesprochen werde, mache ich in diesem Blog eine kurze Serie über den Wettbewerb.