Informatikolympiaden - Themaverfehlung?

Vor kurzem habe ich erfahren, dass es eine Informatikolympiade in der Schweiz gibt.
Also habe ich mich mal auf dessen Website umgeschaut (Swiss Olympiad in Informatics | programming contest for young people).
Auf der Website sind die Aufgaben der ersten Runde von 2013 aufgelistet. Als ich diese Aufgaben angeschaut habe, hatte ich ne Menge Fragezeichen im Gesicht. Nicht wegen der enormen Komplexität der Aufgaben, nein, sondern weil es quasi only math ist.
Was zur Hölle haben diese Aufgaben konkret mit Informatik zu tun? Das ist ja nur Mathematik, einfach man muss noch bischen code schreiben- Man muss (fast)nichts über Netzwerke (Ausser bei einer Aufgabe ein bisschen) wissen, nichts über Betriebssysteme, nichts, rein garnichts. Man muss quasi nur wissen, dass man bei Gleit/Fliesskomma-Aufgaben double oder float benutzen muss und den Syntax der Programmiersprache beherschen. Gut, ich persönlich habe ja nichts gegen Mathe, im Gegenteil, es ist sogar mein Hobby. Aber trzd. frage ich mich.

Was meint ihr dazu?

Für alle: Ich weiss, dass Informatik sehr viel mit Mathematik zu tun hat, aber meiner Meinung nach, deckt die Informatikolympiade nur ein Teilgebiet der Informatik ab. Sollte das bei einer Olympiade nicht anders sein?
 
Zuletzt bearbeitet:
Es hilft viel (gerade im Studium) Informatik als angewandte Mathematik zu betrachten. Bedenke auch, dass unsere Rechner nichts anderes sind als Rechenmaschinen, die durch die hohe Geschwindigkeit auch für andere Anwendungen "missbraucht" werden können. Vergleiche eventuell auch den BWInf, der auf den ersten Blick weniger mathematisch ist. Wenn man sich jedoch damit genauer befasst, bemerkt man, dass die Schweizer das eigentliche Problem weniger verschleiern. Dazu auch ein Zitat von Djikstra:
In der Informatik geht es genau so wenig um Computer, wie in der Astronomie um Teleskope
 
Ich selber mag Mathematik sehr. Trotzdem sind z.B Netzwerkthemen auch sehr wichtig. Und dort geht es nicht immer um Mathematik. Bei der Informatikolympiade muss man darueber nichts wissen, obwohl es auch zur Informatik gehoert. Eine gute Aufgabe währe zum Beispiel einen kleinen Betriebssystemkernel fuer ARM (Da es fuer ARM nicht so viele tutorials gibt wie fuer x86, deswegen kann man nicht einfach copy pasta machen). In dieser Aufgabe haetten wir Mathematik, sehr viel Wissen über Prozessoren, evtl. Netzweke und, und, und. Natürlich wären die feautures des Betriebssystemes genau festgelegt. Fuer diese Aufgabe 2-3 Monate Zeit geben, und schon haetten sie ne Aufgabe, wo alles drin steckt, nicht nur Mathe.
 
Zuletzt bearbeitet:
Auch bei Netzwerk-Themen geht es um Mathematik. Schliesslich, und das sagte bad_alloc bereits, rechnen Computer nur. Und auch bei Netzwerk-Verbindungen machen sie nichts anderes als rechnen. Im Endeffekt kannst du sämtliche Themen der Informatik auf Mathematik runterbrechen.
 
Ich selber mag Mathematik sehr. Trotzdem sind z.B Netzwerkthemen auch sehr wichtig. Und dort geht es nicht immer um Mathematik.
Informatik wird in mehrere Teile aufgesplittet - Netzwerkthemen sind dabei nur ein kleiner Teil.
Bei der Informatikolympiade muss man darueber nichts wissen, obwohl es auch zur Informatik gehoert.
Dann müsste aber noch viel mehr dazugehören (z.b. rationale Datenbanken, Micro-Controller Pragrammierung, Mainframe usw). Das kannst du nicht alles abdecken. Auf der Website von SOI wird auch klar gesagt, um was es geht:
Die Schweizer Informatik-Olympiade ist ein Programmierwettbewerb für Jugendliche unter 20 Jahren. Seit 1992 bietet sie computerbegeisterten Jugendlichen eine Plattform um ihre Programmierfähigkeiten unter Beweis zu stellen und sich auszutauschen.

btw. bei mir auf der Arbeit gibt es gute Programmierer die keine Ahnung von Netzwerk haben. Weiters haben wir Netzwerker, die kein Java-Programm schreiben können.
 
Zuletzt bearbeitet:
Also ich finde man muss da ein wenig differenzieren. Die Theoretische Informatik hat zwar einige Schnittstellen mit der Mathematik und macht sich die Mathematik sicherlich zu Nutzen ist aber imho nicht dass was man klassisch unter Mathematik versteht. Mathematik wird benötigt zur Analyse und dem Verständnis von Problemen. Außerdem sind Probleme realer Anwendungen häufig mathematischer Natur.

Dazu kommt praktische Informatik / technische Informatik mit tatsächlichen Anwendungen / Hardware wobei hierbei immer die Probleme der theoretischen Informatik grundlegend sind. z.B.
Navigationssysteme -> kürzeste Wege Algorithmen

Eine Aufgabe wie du vorgeschlagen hast (ARM Kernel) halte ich nicht für sonderlich sinnvoll, da die Einstiegshürde relativ groß ist bevor man überhaupt irgendwas machen kann. Die interessanten Fragen sind dann eher wie programmiert man einen (effizienten) Scheduler, was man dann als Aufgabe verpacken kann.
Wichtig ist es auch Probleme zu erkennen und zu abstrahieren. Die Aufgabenstellung darf also nicht lauten "programmieren sie einen Scheudler der Algorithmus XY verwendet" (das kann jeder nachschlagen) sondern muss in ein Szenario (z.B. Alice und Bob müssen Baföganträge verschiedener Priorität bearbeiten, gleichzeitig kommen Studenten vorbei) verpacken. Wie du das dann lösen kannst musst du selber erkennen.
 
Im Informatikstudium kommt man (leider) auch durch, wenn man nur Code von Google zusammen kopieren kann.
Ich bin mir ziemlich sicher, dass das nicht geht, da bei uns z.B. nur einer von fünf Kursen direkt mit Programmierung zu tun hat. Selbst wenn man sich bei den anderen drei durch Abschreiben der Übungsblätter durchmogelt (wobei man kaum genug online finden wird, um über 50% zu kommen), wird einem am Ende doch Mathematik das Genick brechen (Copypasta bei Analysis 1 oder Lineare Algebra wird nicht funktionieren.).
 
Informatik ist nicht Programmieren im hier beschriebenen Sinn, ebenso wenig, wie Informatik Mathematik ist. Informatik heisst abstrahieren zu können, z.B. von der Mathematik in ein Computersystem oder von einzelnen Knoten auf ganze Netzwerke. Mathematische Konstrukte (sei es nun mathematische Logik oder numerische Berechnungen) und darauf aufbauende Programmiersprachen sind nur einzelne Hilfsmittel, mit denen ein Ziel erreicht werden kann. Ebenso wäre der Aufbau eines Netzwerks zum TV Streaming eine Aufgabe aus der Informatik, bei der man nicht programmieren muss, aber bei der du wissen musst, dass Multicast ein Startpunkt wäre und Router dein Leben bei Broadcast erschweren. Deswegen musst du aber nicht gleich einen Multicast-Stream programmieren können. Interessant (und meiner Ansicht nach absolut negativ) ist denoch, dass sich viele Wettbewerbe auf das Programmieren und die Informatikgrundlagen (bzw. die Mathematik) stützen, obwohl Informatik eigentlich so viel mehr ist und bietet.

Deswegen ist es auch nur richtig, dass man auch ohne Programmieren zu können durch sein Studium kommt. Das Programmieren im Studium soll dir nur die Denkweise nahe bringen, bei der du vom eigentlichen Problem (z.B. eine Klasse) auf mehrere Teilprobleme (z.B. auf mehrere Funktionen) abstrahierst und versuchst diese zu lösen. Die Mathematik bildet dabei nur die unterste Ebene, bis hin zur Definition von + oder dem Kommutativgesetz.
 
Deswegen ist es auch nur richtig, dass man auch ohne Programmieren zu können durch sein Studium kommt.
Wo findet man einen Studiengang, der keinen obligatorischen Programmierkurs hat, der innerhalb der ersten N Semester zu bestehen ist?
doch es ist so, zu mindest weiß ich von 6 Unis, dass es so ist (davon sind 2 im Top10 Zeit-Ranking, was das Fach Informatik betrifft) und ich bezweifle, dass es an anderen Unis soviel anders ist.
Nenne bitte diese Unis, denn das ist für mich jetzt schwer zu glauben.
 
Ich bin bischen zwischen den Meinungen hin und her gerissen, aber am meisten stimme ich schon der Meinung von SchwarzeBeere zu. Was fassen wir nun zusammen?
 
Ich bin bischen zwischen den Meinungen hin und her gerissen, aber am meisten stimme ich schon der Meinung von SchwarzeBeere zu. Was fassen wir nun zusammen?

Zwischen welchen Meinungen bist du denn hin und her gerissen? Ich sehe hier bei den ganzen Antworten (unabhängig der Programmierung-im-Studium und Programmieren-Können-Debatte) einen gewissen Konsens:
- Informatik handelt vom Erkennen, Abstrahieren und Lösen von Problemen.
- Mathematik ist die "Grundressource" der Informatik und damit essentiell für die Bearbeitung eines Problems.
- Informatik ist nicht gleichzusetzen mit Programmierung. Programmierung ist nur einen Weg von vielen, Probleme im Kontext der Informatik zu lösen. Programmierung stellt sozusagen das Werkzeug dar, mit dem ein Problem gelöst werden kann.
- Es existiert ein Unterschied zwischen theoretischer Informatik (Algorithmik, Logik, ..) und praktischer (Eine Inbezugsetzung von Software und Hardware zu den Erkenntnissen der theoretischen Informatik).
 
Zuletzt bearbeitet:
Ich nehme an du bist Schüler oder in einem nicht-MINT-Beruf. Daher hast du wohl auch keine ahnung was Mathematik abseits von Algebra, Geometrie und vielleicht etwas Polynom-Analysis ist. Mathe im Sinne der Informatik ist eher nicht: "Erstelle ein Programm, das alle FIbonacci-Zahlen ausgibt"

Das ist der Studienplan unserer Informatiker. Ein gutes Drittel davon (wenn ich die Theorie mitrechne) ist Mathematik. Die theoretische Elektrotechnik und die Signaltheorie bei uns ist im Grunde nur das was wir in den entsprechenden Mathemodulen lernen. Nur diesmal nicht: Löse diese DGL oder Integriere diese Funktion, sondern: Hier hast du dieses Netzwerk oder diese Feldgeometrie - berechne diese und jene Größe, was letztlich immer auf die ensprechenden mathematischen Aufgabenstellungen runterzubrechen ist. Es wird in der Informatik nicht anders sein.

Am Ende wird ein Akademischer Mathematiker im Alltag wohl auch eher wenig Zeit mit programmieren und eher viel Zeit mit Zeugs wie Optimierung oder Algorithmik betreiben.


EDIT zum Studienplan: Und wenn ich an meinen eigenen Plan denke, wird wohl auch noch sehr viel Mathematik hinter Fächern stecken hinter denen man es weniger vermutet. So wie bei mir z.b. in der Schaltungstechnik, in den Material- und Bauteilemodulen oder auch in der Systemtheorie hinter der sich wohl jeder Laie etwas anders vorstellt als es tatsächlich ist.
 
Zurück
Oben