Diese Diskussion wurde archiviert.
Es können keine neuen Kommentare abgegeben werden.
|
|
|
|
|
|
|
|
|
Mann kann zwar Theorie zum Programmieren (Vorgehensmodelle, Techniken, Objektorientierung, UML...) lernen, wenn man dann aber das erste Programm schreibt und beim compilieren die ersten Fehlermeldungen kommen, dann nützt einem alle Theorie nichts! NSG -- "...there are two types of friends in this world. Normal friends and the ones you can code with."
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
Praxissemester sind das beste was einem während des Studiums passieren kann. 6 Monate Praktikum sind so gut/wertvoll wie mindestens 1Jahr Studium an Erfahrungsgewinn! NSG -- "...there are two types of friends in this world. Normal friends and the ones you can code with."
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 11:04 MES (#8)
|
|
|
|
|
Zitat: (bis auf die Ausnahmen, die die Regel bestätigen...)
Zitat Ende.
Du hattest wohl zu wenig Theorie..... :-)
|
|
|
|
|
|
|
|
|
|
|
|
|
Na, also so schlimm ist es nicht... zumindest an der ETH hast Du immer noch nebenbei praktische Uebungen, in denen man das Gelerten auch anwendet.
Aber ich stimme Dir insofern zu, als dass es nichts besseres gibt, als mal "ins kalte Wasser" geworfen zu werden, und ein Weile in der Industrie arbeitet.
Der Studiengang Informatik an der ETH beruecksichtigt dies mit einem obligatorischen Industriepraktikum, von dem die meisten positiv berichten.
Bin uebrigens Infostudi im 4. Semester.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 00:01 MES (#6)
|
|
|
|
|
andererseits kann man jede beliebige Programmiersprache problemlos innerhalb eines Monats lernen. Nach spätestens einem Jahr beherrscht man sie. Vorausgesetzt, man kennt die Programmierparadigmen.
Der grösste Aufwand beim Programmieren ist heute das Kennenlernen der API. Und es gäbe wohl nichts Dümmeres, als in einem Informatikstudium APIs auswendig zu lernen. Schaden tut es natürlich trotzdem nicht, wenn ein Informatiker auch einigermassen gut Programmieren kann.
Grundsätzlich sind Informatiker rein fürs Programmieren aber sowieso zu teuer. Das kann ein Programmierer mit 3 Jahren Erfahrung in einer Programmiersprache günstiger und besser.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 04:10 MES (#7)
|
|
|
|
|
Also das Informatiker einen gewaltigen
Theorieanteil haben sollte unlängst bekannt sein,
aber es gibt auch diverse Unterkategorien
der Informatik.
allgemeine Informatik
technische Informatik
praktische Informatik
CES (Computantional Engineering Science)
diverse Informatik bezogene Bachelor und Master-
studiengänge
------------------------------------------------
Ich beschreibe mal jetzt wie das Grundstudium vDipl
an der RWTH-Aachen (BRD/NRW) aussieht
Semester1
Programmierung
(vorzugsweise seit einiger Zeit
Java,Haskel,Prolog)
Lineare Algebra 1
Analysis für Informatiker
+(Anwendungsfach)
Fazit :
jede Informationverarbeitung läuft
nach Mathematischen Regeln ab,
Analysis und LA sind essentiell für jeden
Ingeneur, der Maschbauer und Etechniker kriegt
sie halt in Hoema 1-3 noch komprimiert und etwas
reduzierter vorgesetzt,
viele ingeneurtechnische Probleme sind nun
mal mathematischer Art, und einen
riesen Programmwust darum zu Programmieren,
weil man diese nicht abstrahieren und
verallgemeinern kann ist schlichtweg eine
grausamme Verschwendung von Resourcen
Progra ist so aufgebaut das
objectorientierte und imperative Sprachen durch
java abgedeckt werden
vollständig funktionale Sprachen durch
Haskell mit seinem Mac Currychicken
Semester2
Rechnerstrukturen
Datenstrukturen und Algorithmen
Diskrete Strukturen
Differentialgleichung und Numerik
+(Anwendungsfach)
Fazit :
Rechnerstrukturen sind für Informatiker ebenso
essentiell, prinziepaufbau von Schaltwerken,
Sequenzielle Logik, Laufzeiten in Schaltwerken,
Logikelemente, Funtkionsprinziep von
Logikelementen, ökonomische Nutzung von
Bauelementen zur Synthese eines komplexeren
Baustelements, Assemblerprogrammierung (an
Knuth's mmix)
Schaltnetzwerke, etc..
DSAL - algorithmen Planung, Laufzeitberechnung,
Resourcenberechnung, Prüfung auf
Vollständigkeit, Grundlagen von Hashing, um
nur mal die Oberfläche des Thema's anzukratzen
- definitiv es gibt programmiertechnische
Probleme die man durch für die es mit reinem
sturen durchrechnen über das Verfallsdatum des
Universums hinaus nicht lösen könnte,
z.B. ist es unsinnig eine Datei auf
Korrektheit zu prüfen in dem man
nach der Übertragung jedes einzelne
Bit vergleicht, dazu gibt es Prüfsummen,
die widerrum ohne AL und ohne mathematische
Theorie wohl nie entdeckt worden wären,
Frage : Wo wären wir ohne Mathematik ?
Algorithmen sind zugleich keine Erfindung der
Neuzeit, Euklidverfahren-GGT , grundlegende
Verfahren für moderne Dateisystem,
B-Tree / B*Tree , effziente Organisation
und Zugriff auf diese Knoten,
(Zeit/Aufwand/Resourcen(Rekursionstiefe))
DS - sind dinge wie Mathematische Logik,
Mengenlehre, Graphentheorie, Kombinatorik,
Optimierung, Geometrie etc..
essentiell z.B. für Bilderkennung,
Spracherkennung/Verarbeitung/Verständnis?, die
Grundlage(n) für Neuronalenetzwerke, Modelle
der Wissensrepräsentation.
Diffnum - grob Analysis II
Semester3
Systemprogrammierung
Mathematische Logik
Berechenbarkeit und Komplexität
Softwarepraktikum oder Proseminar
Elektronische Grundlagen für Informatiker
+(Anwendungsfach)
Fazit
Syspro - das erlernte aus DSAL & RS
wird nun für effiziente Algorithmen
in Programmen eingesetzt, vorzugsweise
systemnahen Programmen, wie der
Kernel, Schedulingverfahren, koordination
und Synchronisation von Threads,
aber auch Datenbankorgansation, effizientes
Locking für Daten, Speicherverwaltung,
Dateisysteme
Softwarepraktikum - tatsächlich
themenorientiert, neben einer Vorlesung
etwas dazu ausarbeiten, dokumentieren und
implementieren.
EgfI - Elektrotechnik kurz & gut
Semester4
Automatentheorie und formale Sprachen
if Softwarepraktikum in Sem3
then Proseminar
else
changeit();
Hardwarepraktikum
Wahrscheinlichkeitstheorie und Statistik
Fazit -
HWP - Aufbau von Schaltungen,
Schieberegistern, Schaltungs-CAD,
etc..
------------------------------------------------
so theoretisch das Informatik Studium auch sein mag, Informatiker sind nicht zwangsläufig Programmierer, die Informatik ist eine
Wissenschaft, und ohne Wissenschaftler
die mit Mathematischen Ideen angefangen haben,
Informationen, am Anfang zugegebener Weise mathematische Informationen zu verarbeiten
Euklid
Pythagoras
al Kwarizmi
von Leibniz
Turring
John von Neumann
Konrad Zuse
Wo wären wir da ?
zum Hauptstudium hin kann man sich
auch entscheiden ob man den theoretischen
oder den praktischen Zweig gehen möchte.
wenn ein Informatiker wirklich studiert hat,
kann man Ihn wie den Starmix 3000
zum Fritieren, Braten, Flambieren und Zerkleinern
von Daten gleich welcher Herkunft einsetzen,
ob nur einfache on-demand Programmierung oder
Programmentwurf( Software Engineering ) ,
wenn ein Informatiker von einem Mathematiker/Physiker einen Auftrag erhält
ein Programm zu schreiben für Teilchendetektoranlagen, Astrophysische Probleme
etc.. wird der Mathematiker logischerweise
vom Informatiker erwarten das dieser Ihn
auch versteht, und das ist ohne höhere
Mathematik einfach unsinnig, und erbringt
keinen Fortschritt.
|
|
|
|
|
|
|
|
|
|
|
|
|
Ich habe selbst die Erfahrung gemacht beide Welten zu sehen und ganz nebenbei, IMHO, die Uni ist zu theorielastig. Selbst wenn man anschliessend kein Programmierer ist ;-). Das wollen auch FH-Studenten nicht sein.
PS: Ich hatte mein Dipl. an der FH in 8 Semestern.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 11:13 MES (#9)
|
|
|
|
|
Ich bin der Meinung, daß Informatiker schon programmieren können müssen. Mir dreht sich der Magen um, wenn ich mit vorstelle irgendein Autodidakt programmiert wichtige Systemteile.
Das sollte Leuten überlassen werden, die die nötige Basis haben. Dazu gehört auch Mathematik und Theoretische Informatik (auch Statistik/Stochastik)
Sicher gibt es hervorragende Autodidakten, aber ich schätze im allgemeinen wird ein Informatiker überlegen sein (vorausgesetzt er kann Programmieren).
Algorithmen werden denke ich effizienter, wenn man mal was von Algorithmentheorie und Komplexitätsklassen gehört hat, Dinge wie "Graphen" und "Algorithmen und Datenstrukturen" helfen bestimmt auch weiter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also nach 11 jahren softwareeinwicklung und projektabwicklung (in der industrie) kann ich darauf nur eines antworten: Wenn ich die wahl habe, ziehe ich einen "selbstgelernten" praktiker jedem Dipl.Ing. und Dr. vor. Der grund dafuer ist ganz einfach: Wer sich aus eigenem interesse eine faehigkeit selbst beibringt, hat zwangslaeufig eine bessere motivation sich mit der materie zu beschaeftigen, als jemand der sich nach der erreichung seines akademischen grades (bewusst oder unbewusst) auf seinen lorbeeren ausruht.
Die theorie wird im allgemeinen stark ueberschaetzt. Wie in einem beitrag weiter oben erwaehnt gibt es natuerlich immer ausnahmen von der regel. Die sind in diesm fall aber recht duenn gesät. Den unterschied zwischen "programmierer" und "informatiker" gibt es eigentlich nicht. Es handelt sich um 2 auspraegungen der gleichen taetigkeit. Wie in jedem beruf tendiert der eine mehr zur praxis, der andere mehr zu theorie.
Keiner ist "besser" als der andere. Um wieder auf den parent-post zurueckzukommen: Ich traue keinem kritischen system welches ohne den einfluss eines erfahrenen praktikers geplant und erstellt wurde.
Real C programmers never die, they cast to void...
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 16:21 MES (#11)
|
|
|
|
|
Ich bin auch der Meinung, daß Praxis natürlich das wichtigste ist. Ich studiere Allgemeine Informatik an der FH-Furtwangen, und obwohl ich Informatik Student bin, programmiere ich sehr gerne. In unserer FH wird sehr viel wert auf Praxis gelegt. Aber ich muß auch bestätigen, daß sich hier schon die verschiedenen Ausprägungen zeigen, die erwähnt wurden. Manche mogeln sich durch die Praktika, mache programmieren wirklich. Und ich programmiere auch gerne in meiner Freizeit.
Letzten Endes denke ich aber auch, daß wie im Parent (von mir) genannte theoretische Vorbildung durchaus Vorteile bieten.
Ich kenne begabte Programmierer, die leider noch nichts von Software Engineering gehört haben.
Da kann die Software mal zum Heillosen Durcheinander werden.
Nichts was man nicht selber lernen könnte, aber man lernt doch wichtige Dinge, die andere nicht lernen. Weil die Wichtigkeit vielleicht nicht klar ist.
Selbstverständlich ist das wichtigste eigenes Interesse.
Ich kann einfach auch nicht glauben, daß 4 Jahre intensiven Studiums nichts bringen.
Ich sehe mich als ambitionierten Programmierer und Informatiker, und ich glaube ich kann gute Software schreiben.
Außerdem glaube ich, man wählt sein Studium gerade weil man Interesse und Initiative zeigt.
Ich hätte auch BWL studieren können, ich interessiere mich aber nicht dafür.
Und zu guter letzt: Ich habe im Studium mindestens 4 Jahre Programmierpraxis, (davon 2 Praxissemester). Zu denken Dipl. Ing. oder Dr. seien theoretiker,und haben keine Ahnung von Programmieren, nur weil sie studiert haben,ist falsch! Die meisten Autodidakten lernen in 4 Jahren sicher nicht so gut programmieren, wie der ambitionierte Student (im Mittel).
|
|
|
|
|
|
|
|
|
|
|
|
|
> Ich kenne begabte Programmierer, die leider noch
> nichts von Software Engineering gehört haben.
> Da kann die Software mal zum Heillosen Durcheinander werden
Dann war es kein "begabter" programmierer. Die technische organisation gehoert genauso zur softwareentwicklung wie die persoenliche selbstorganistion (zeitmanagemnt usw.). Die tatsache, dass jemand einen grenzgenialen sortieralgorithmus in 5 zeilen perl (oder C++, Basic oder was auch immer) schreiben kann, sagt meiner meinung nach kaum was ueber sein koennen
Es kommt viel mehr auf die "soft skills" an, wie selbstorganistaion, kommunikationsfähigkeit mit kollegen und kunden, verantworliches handeln im allgemeinen. Interessanter weise haben das Leute die von einer FH kommen, eher als absolventen einer "echten uni". (zur info: ich hatte es bisher mit ~50 praktikanten aller geschmacksrichtungen zu tun). Ich glaube mitterlweile dass das selbstaendige handlen in den uni's nicht wirklich gefoerdert wird, sondern einfach beweise ueber das fachwissen verlangt werden (-> examen). Lange rede kurzer sinn: Meiner meinung nach werden die praktischen aspekte der softwareentwicklung in der akademischen ausbildung definitiv zu wenig vermittelt.
Real C programmers never die, they cast to void...
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Sunday 03. August, 12:16 MES (#15)
|
|
|
|
|
Schade! Da mußt du bisher die falschen Bewerber gehabt haben.
Un außerdem: Gerade die Softskills werden mittlerweile groß geschrieben. Ich nehme da eine leichte Verbohrtheit wahr.
|
|
|
|
|
|
|
|
|
|
|
|
|
>Den unterschied zwischen "programmierer" und "informatiker" gibt es eigentlich nicht. Es handelt sich um 2 auspraegungen der gleichen taetigkeit.
Also das find ich jetzt ein bisschen uebertrieben. Dann setzt Du ja quasi eine Informatikerlehre und eine Hochschulbildung ja quasi gleich!
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 02. August, 20:56 MES (#13)
|
|
|
|
|
Informatiker können programmieren... jedenfalls ist das bei uns so, und da gibts nichts mit durchmogeln wie ich auch in einem Beitrag gelesen habe.
In den Examen werden hier (ETH) auch die praktischen Kenntnisse der Programmiersprachen abgefragt. Im Gegensatz zu einem Programmierer lernen wir aber die Syntax einer Sprache als eher untergeordnet kennen. Vorstellungen von verschiedenen Programmierparadigmen (Programming in the small, OOP, Funktional, logisch, deklarativ) helfen sich zu lösen von einer einzigen Sprache.
Ich habe vor dem Studium schon relativ gut programmiert, und war ganz zufrieden ;) nur hab ich in den zwei Jahren weit mehr gelernt als ich zuvor überhaupt wusste.
Dazu kommt wissen aus Algorithmen und Datenstruktur, zur Funktionsweise eines Computers und jede Menge Mathetmatik, die ein wichtiges Werkzeug der Informatiker sind.
Jeder Student kann hier nach dem Studium programmieren und das meisten effizienter als ein Autodidakt, aber das ist natürlich oft wirklich auch eine Sache der Motivation und Engagements. Aber wer solch ein Studium in Angriff nimmt sollte das im Allgemeinen haben.
Frage umkehr: Hat ein Informatiklehrling in irgendeinem Punkt einen Voteil?
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Sunday 03. August, 12:13 MES (#14)
|
|
|
|
|
Halleluja! Ack!
Mit durchmogeln meine ich das kopieren der Quelltexte, oder in sog. "Programmiergruppen" aus 2 Leuten die Arbeit dem anderen überlasen.
Was aus der Klausur wird zeigt sich erst danach, in den meisten Fällen wird das dann eher nicht so gut.
Wie gesagt, an der FH-Furtwangen wird viel Wert auf Praxis gelegt. Das finde ich gut, aber ohne das Theoretische Wissen ist man im Nachteil.
Ich bin oft sehr dankbar, das wir Theoretische Informatik haben, das ist sehr nützlich.
|
|
|
|
|
|
|
|
|
|
|
|
|
Full ACK. Find ich gut :)
Der Veitrag war von mir...
Anscheinend hab ich vergessen mich anzumelden
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Monday 04. August, 12:19 MES (#18)
|
|
|
|
|
Ich bin der Meinung, daß Informatiker schon programmieren können müssen.
Ich wuerde das umformulieren: Sie sollten waehrend des Studiums programmieren muessen und zwar moeglichst in einer Projekt-Umgebung, mit Projektmanagement, Qualitaetssicherung, Dokumentation etc. Sowas muss man mal mitbekommen haben, damit man weiss, worauf man sich einlaesst, bzw. wie es ablaufen sollte.
Mir dreht sich der Magen um, wenn ich mit vorstelle irgendein Autodidakt programmiert wichtige Systemteile. Das sollte Leuten überlassen werden, die die nötige Basis haben.
Das wuerde ich so nicht stehen lassen. Ich kenne genuegend Informatik-Studenten, die lausige Progarmmierer sind. Ich kenne andererseits genuegend Praktiker, die ein vernuenftiges Design auf die Reihe bekommen und es umsetzen koennen.
Ich kenne aber auch das Gegenteil. Und egal wer es ist, die schlimmsten sind die, die von sich selbst glauben, sie seien gut und sich nicht unterordnen wollen. (Und da nehme ich mich selbst nicht aus, ich bin uebrigens Dipl. Informatiker mit inzwischen >10 Jahren Erfahrung in der Softwareentwicklung.)
Dazu gehört auch Mathematik und Theoretische Informatik (auch Statistik/Stochastik)
Viel wichtiger ist Software-Design. Es ist grausam mitanzusehen, wie manche Projekte einfach deshalb vor die Wand gefahren werden, weil die Leute einfach drauflos basteln, ohne sich vorher Gedanken um Datenbank-, Objekt-, API-, User-Interface-, Test- und sonstiges Design zu machen. Da kommt ein grauslig zusammengestoppeltes Ergebnis raus, was unwartbar und untestbar ist.
Wenn man dann obendrauf noch eine Pseudo-Qualitaetssicherung hat, die sich einen Sch***dr*ck und die eigentlich Qualitaet kuemmert sondern nur formal irgendwelche Dokumente haben will, so wundert es einen nicht mehr, weshalb es so viel schlechte Software gibt.
Algorithmen werden denke ich effizienter, wenn man mal was von Algorithmentheorie und Komplexitätsklassen gehört hat, Dinge wie "Graphen" und "Algorithmen und Datenstrukturen" helfen bestimmt auch weiter.
Naja, schoen waere es. Leider ist es doch so, dass die meisten Projekte wenig mit Algorithmen sondern eher mit durch die Gegend schieben von Daten zu tun haben. Im Uni-Umfeld mag das anders sein, aber in der Wirtschaft, geht es vor allem um DV, wobei V eher fuer Verwaltung als fuer Verarbeitung steht.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Monday 04. August, 12:54 MES (#19)
|
|
|
|
|
In Mannheim kann man den Master of Business Administration and Engineering machen. Kennt irgendjemand eine Fernuni (auch in USA, AUstralien, ENgland, etc.) wo man Wirtschaftsinformatik als Aufbaustudium studieren kann, und wo das Studium auch gut ist?
Gruß
Markus
|
|
|
|
|
|