Als vollständig autodidaktischer Programmierer würde ich es begrüßen, wenn ich den Informatikkurs, der für einen typischen CS-Absolventen unterrichtet wird, selbst lernen könnte.
Es war einfach, im Internet nach verschiedenen Ressourcen zu suchen. Natürlich gibt es MIT Open Course Ware und Coursera-Kurse von Stanford und anderen Universitäten. Es gibt zahlreiche andere offene Ressourcen im Internet und einige gute Bücher, die wiederholt empfohlen werden.
Ich habe viel gelernt, aber mein Studium ist stark fragmentiert, was mich wirklich nervt. Ich würde es lieben, wenn ich irgendwo einen Weg finden könnte, dem ich folgen sollte, und einen Stapel, auf den ich mich beschränken sollte, damit ich sicher sein kann, welche wesentlichen Teile der Informatik ich studiert habe, und mich dann systematisch denen nähern kann, die ich nicht habe.
Das Problem mit Wikipedia ist, dass es Ihnen nicht sagt, was wesentlich ist, sondern darauf besteht, eine vollständige Referenz zu sein.
MIT open course ware für Informatik und Elektrotechnik Es gibt eine riesige Liste von Kursen, die Ihnen auch nicht sagen, welche Kurse wesentlich und welche optional sind, je nach Interesse / Anforderung der Person. Ich fand keine Erwähnung einer Reihenfolge, in der man verschiedene Fächer studieren sollte.
Am liebsten würde ich eine Liste erstellen, der ich folgen kann, wie dieser Dummy
SUBJECTS DONE
Introduction to Computer Science *
Introduction to Algorithms *
Discrete Mathematics
Adv. Discrete Mathematics
Data structures *
Adv. Algorithms
...
Wie Sie deutlich sehen können, habe ich keine Ahnung, aus welchen spezifischen Fächern die Informatik besteht.
Es wäre sehr hilfreich, auch wenn jemand in einer empfohlenen Reihenfolge auf wichtige Kurse von MIT Course ware (+ wichtige Fächer, die nicht am MIT OCW vorhanden sind) hingewiesen hätte.
Ich werde die Posts auflisten, die ich bereits durchlaufen habe (und ich habe dort nicht das bekommen, wonach ich gesucht habe)
https://softwareengineering.stackexchange.com/questions/49557/computer-science-curriculum-for-non-cs-major - die beste Antwort lautet, dass es sich nicht lohnt, einen Kurs zu belegen
https://softwareengineering.stackexchange.com/questions/110345/how-can-a-self-taught-programmer-learn-more-about-computer-science - verweist auf MIT OCW
quelle
Antworten:
Ich habe Kursmaterial vom MIT gesehen und es war schockierend schlecht . Sie hatten Unterrichtsmaterialien, die VC5 erforderten, Bündel impliziter globaler Variablen, die Farben als "Blau" anstelle von 32-Bit-ARGB übergaben, geschweige denn 4x [0,1] Float, so etwas. Ich würde keinem Lehrplan oder Code vertrauen, nur weil er von einer renommierten Universität stammt.
Mein CS-Abschluss (von einer Universität, die in Großbritannien zu den Top 10 für CS gehört) bestand aus:
Erstes Jahr:
Zweites Jahr:
Drittes Jahr:
Wie Sie feststellen werden, ist so ziemlich alles "die Basis" von etwas und fast nichts wird bis zu einer nützlichen Tiefe abgedeckt.
Das Zeug, das es wirklich wert war, getan zu werden:
Das Zeug, das sich gelohnt hat, optional:
Dinge, die wichtig sind, aber ich habe sie trotzdem nicht behandelt:
Der Rest war reine Zeitverschwendung. Leider kannte ich die meisten dieser neun Punkte bereits oder habe die nützlichen Teile an anderer Stelle aufgegriffen. Wenn Sie über Dinge wie das FizzBuzz-Problem lesen, wird schnell klar, dass Sie nicht allzu viel wissen müssen, um ganz oben auf dem Pack zu sein - was ein Glück ist, da mein Abschluss und viele der Materialien, die ich online gesehen habe für andere Grade unterrichte ich eigentlich gar nicht viel.
quelle
Open Course ware ist nur eine Liste der Kurse, die sie zur Verfügung gestellt haben. Wenn Sie wissen möchten, was ein Student gemacht hätte, schauen Sie auf der Website des MIT (nicht OCW) nach und sehen Sie sich das aktuelle Programm an. Sie haben eine Liste, was erforderlich ist und was als Voraussetzung für was angesehen wird. Hier ist ihre Seite.
quelle
Probieren Sie die Empfehlungen zum Informatik-Lehrplan 2001 von ACM / IEEE aus, die hier verlinkt sind: http://www.acm.org/education/curricula-recommendations
zusammen mit den 2008 CS-Updates.
Seite 17 des Berichts von 2001 enthält eine handliche Tabelle, die alle "Kern" -Voraussetzungen unterstreicht und nach wie vor Wahlfächer auflistet.
Ein Bachelor-Programm hätte keine Zeit, auch nur die Kurse abzudecken, die von diesen Empfehlungen als Kern betrachtet werden. Daher werden sie einige der Kategorien zusammenfassen und die Studenten unter ihnen auswählen lassen (z. B. Betriebssysteme, Programmiersprachen und Softwaretechnik) Software und Studenten wählen eine Spur).
Sie finden die erforderlichen Lehrveranstaltungen für so ziemlich jede Schule auf der Website der CS-Abteilung. Diese sollten eine Version davon sein.
quelle
Wenn ich darf, möchte ich vorschlagen, dass Sie sich im Rahmen Ihres Lernprozesses bei github.com anmelden .
Dann können Sie nach Code suchen, der eine reale Anwendung enthält, an der Sie interessiert sind, ihn für sich selbst klonen, damit arbeiten, ihn codieren und kennenlernen und schließlich beginnen, Patches an das Quellprojekt zurückzusenden Arbeiten Sie an einem Open-Source-Projekt, an dem Sie ein berechtigtes Interesse haben.
Und natürlich lernst du git kennen, was umso besser ist.
quelle