Informatik Studium und die Logik?
Warum braucht man für ein Informatikstudium an der Universität ein Abitur, anstatt wie ich 6 Jahre lang Programmiererfahrung zu haben (Mittelschule) (C++, C#, Java, PhP...) ?
Ich kann sowas einfach nicht nachvollziehen. (Sachsen)
Ich habe Erfahrung mit KI und Objektorientiertes Programmieren, das adminstrieren von Servern und co.
Warum sollte ich jetzt noch 2 Jahre sinnloses Abitur oben drauf machen?
18 Antworten
Naja, die Regeln sind halt so...
Das Abitur sagt halt aus, dass du einen gewissen Stand in Allgemeinbildung hast und dass du eine gewisse Befähigung hast, selbstständig zu lernen.
Im Prinzip ist ein Studium das Gleiche auf anderem Niveau. Ein Studium an einer Universität zielt (meiner Erfahrung nach) nicht so sehr darauf ab, dass du eine fachliche Ausbildung bekommst, mit der du direkt anfangen kannst zu arbeiten... (in dem Falle programmieren) sondern vermittelt zum einen Grundlagen-Theorie (die man später zu 90% der Fälle nicht gebrauchen kann) und ein abstraktes Verständnis für das Fachgebiet, zum anderen aber auch allgemeine wissenschaftliche Kompetenzen:
Wie man mit wissenschaftlichen Artikeln umgeht (Paper lesen, fachliche Informationen beschaffen), wie man sich Wissen aneignet, wie man Ausarbeitungen schreibt, Vorträge hält...
Am Schluss bescheinigt das Studium, dass man diese Kompetenzen (mehr oder weniger) hat.
An einer Fachhochschule liegt der Fokus eher auf dem fachlichen Inhalten. Es ist viel Praxis-orientierter und darauf ausgelegt, dass du danach eine Arbeit als Programmierer, etc... nachgehen kannst.
Mach Fachhochschule, hat einig Vorteile gegenüber der Uni und du musst keine Abitur haben. Ist praxisorientierter und es klingt so, als wäre das das bessere für dich. Informatik an der Uni hat seeehr viel Mathe, was du wahrscheinlich nachholen müsstest wegen des fehlenden Abiturs.
Würde ich dir empfehlen, ich fange nächstes Jahr auch an einer Fachhochschule an Informatik zu studieren, obwohl ich locker an einer Uni studieren könnte.
Du weißt gar nicht, was Mathe ist!
Das Kinder-Rechnen in der Schule, das du bislang kennengelernt hast, das hat mit Uni-Mathematik so viel zu tun wie ein Fußball-Turnier in der Grundschule mit Bundesliga.
Es gibt auch noch andere Zugangswege zum Studium als das Abitur: Als Meister oder Fachwirt, mit Ausbildung plus Berufserfahrung, über eine Eignungsprüfung, eine Begabtenprüfung oder mancherorts auch über ein Probestudium.
Die Regelungen dazu sind in den jeweiligen Bundesländern unterschiedlich. Für Sachsen siehe http://www.studieren-ohne-abitur.de/web/laender/sachsen/
Bitte lies https://www.gutefrage.net/frage/lernt-man-imninformatik-studium-nur-programmieren#answer-253483462 und berücksichtige:
Programmieren zu können ist der allereinfachste Teil von Informatik. Sogar der Software-Entwicklungs-Prozess besteht nur zu etwa 15 Prozent aus Programmierarbeit. Große Systeme konzipieren und spezifizieren zu können, ist weit wichtiger.
Gut bezahlte Informatiker sind Personen, die
- den Umgang mit sich ständig weiter entwickelnden, hoch komplexen Softwaresystemen souverän beherrschen, weil sie entsprechende langjährige Erfahrung mitbringen,
- auch unter Zeitdruck projektübergreifend denken und handeln
- und Detailwissen mit strategischer Weitsicht verbinden:
Sie wissen um den Wert guter, stets aktueller Dokumentation, bestehen auf ihrer Existenz, erhalten ihre Qualität, und können daher stets ganz genau zu sagen, was die von ihnen verantworteten Anwendungen an SOLL-Funktionalität zu welchem Zeitpunkt haben bzw. haben sollten. [ Insider wissen: Personen mit solchem Wissen in ausreichender Genauigkeit sind selten. Wo sie fehlen, kann die IT-Landschaft auf Dauer nicht gesund bleiben. ]
|
Merke: Erst ein Studium — am besten an einer Technischen Hochschule — macht aus einem Hobby-Programmierer einen kompetenten, gut bezahlten Software-Entwickler.
Wisse auch: Für studierte Informatiker gibt es noch viel interessantere, weit besser bezahlte Tätigkeiten als nur das Programmieren. Viele von ihnen schreiben nur wenige Jahre Code.
Lies zudem warum das so ist und was Informatiker und Programmierer unterscheidet.
Wenn jemand sagt, er sei Programmierer ...
Warum es recht naiv ist, zu sagen, man wolle "Programmierer" werden
Weil ein Informatik-Studium viel mehr mit Mathematik, als mit Programmieren zu tun hat.
Außerdem lernst du dort Dinge wie Compilerbau und wichtige theoretische Informatik, die dir als Programmierer erst richtig ermöglichen vernünftig Software zu entwickeln.
Dafür brauchst du Kenntnisse in Logik (Aussagenlogik, Prädikatenlogik, usw.).
Und bei der Signalverarbeitung wirst du nicht weiter kommen, ohne die Funktionsweise einer Fourier-Transformation zu verstehen ... es sei denn du frickelst blind mit FFTW rum, ohne wirklich zu wissen, was du da mit deinen API-Calls eigentlich tust.
Desweiteren lernst du, warum man ohne tiefgehende Mathematikkenntnisse NIEMALS Verschlüsselungen und Zufallszahlengeneratoren selbst entwickeln sollte, was leider immer wieder Laien-Informatiker versuchen.
Alles in allem lernst du eine Art "Demut", und dass eben doch nicht alles so einfach ist, wie es scheint.
Fakt ist, dass ein Informatikstudium mit Programmieren eher wenig zu tun hat und du den Vergleich eher mit einem Mathematikstudium ziehen solltest.
PS: Aus meiner eigenen Erfahrung weiß ich, dass die meisten C++ und Java Entwickler ihre Sprachen nur sehr sehr oberflächlich kennen.
Da ich mir sehr sicher bin, dass das bei dir nicht anders ist, solltest du anstelle eines Informatik-Studiums vielleicht erst mal C++ und Java auf einem wirklich fortgeschrittenen Level lernen.
Damit wäre deiner Arbeit als Entwickler sicher wesentlich mehr geholfen.
Ob du Fortgeschritten bist, oder nicht, erkennst du daran, wie oft du eigene Allokatoren oder Iteratoren schreibst, ob du alle C++17-Features wie Fold-Expressions oder Static-Bindings nutzt, ob du Const-Correctess verinnerlicht hast und ob du Attribute wie [[nodiscard]] regelmäßig nutzt.
Falls du bei einem einzigen dieser Punkte nicht auf Anhieb weißt, worum es geht, dann halte ich ein Informatik-Studium in deinem Falle für unangebracht, da du du als Software-Entwickler erst mal deine aktuellen Fähigkeiten auf ein professionelles Niveau heben solltest.
Ansonsten: Mach dein Abi nach, und studiere was du willst. :)
Desweiteren lernst du, warum man ohne tiefgehende Mathematikkenntnisse NIEMALS Verschlüsselungen und Zufallszahlengeneratoren selbst entwickeln sollte, was leider immer wieder Laien-Informatiker versuchen.
Zwei links, zwei rechts, eine fallen lassen und die original Vollbitverschlüsselung hinterher :-).
Wieso muß ich bei FFT immer an Butterflynetze denken? *kopfkratz*
Und ja, modernes C++ ist ein ziemliches Biest :-D.
Ich stimme dir weitestgehend zu. Aber:
"Außerdem lernst du dort Dinge wie Compilerbau und wichtige theoretische Informatik, die dir als Programmierer erst richtig ermöglichen vernünftig Software zu entwickeln."
halte ich für Blödsinn. Selbst der entsprechende Dozent an meiner Uni (Theoretische Informatik bzw. Berechenbarkeit, formale Sprachen und Logik) erzählt regelmäßig in seinen Vorlesungen, dass man keine theoretische Informatik braucht, um ein guter Softwareentwickler zu werden. Er meinte, dass diese lediglich dabei helfen kann, einer zu werden. Von Compilerbau muss man ebenfalls nicht viel verstehen, wenn man nicht gerade vorhat, eine eigene Programmiersprache zu entwickeln.
Es kommt ein wenig drauf an, als reiner Entwickler, der sich nicht um algorithmischen Entwurf kümmern muß, ist die Theorie sicherlich entberlich. Im Zweifelsfall werden Probleme dann halt einfach nicht so gut/optimal gelöst.
Aud der anderen Seite muß man aber auch sagen, daß heute sehr viel mehr 'Kleber' programmiert wird, als früher, das erleichtert es natürlich schon.
Ich habe das bewusst deshalb geschrieben, weil mir schon oft State- / Stack- / Register-Machines von Leuten ohne theoretisches Grundlagenwissen über den Weg gelaufen sind, und so etwas will man nun wirklich nicht warten müssen. :)
Das gleiche habe ich mit einer Regex-Bibliothek erlebt, die von jemandem geschrieben wurde, der von Compilerbau keinen blassen Schimmer hatte.
Und zu guter letzt: Bei nahezu jeglicher Form von Parser sind theoretische Kenntnisse zwingend erforderlich, auch wenn man einen Parsergenerator nutzt.
Was passiert, wenn das nicht der Fall ist, wäre zum Beispiel das HTML-Parser-Modul der Python-Standardbibliothek.
Hab den einmal überflogen, und mich dann spontan entschieden, schnell einen eigenen zu schreiben. Ansonsten ist die Python-Standardlib allerdings wirklich sehr gut ... mit wenigen Ausnahmen. :)
Von daher hilft theoretische Informatik durchaus im Alltag weiter ... zumindest, wenn man irgendwas implementieren will, was irgendwie entfernt mit Automaten zu tun hat. :)
Mathe ist einfach