Open Source Society University – kostenloser Roadmap für autodidaktisches Lernen der Informatik
(github.com/ossu)- Das OSSU-Curriculum bietet kostenlos eine vollständige Ausbildung in Informatik über Online-Materialien führender Universitäten weltweit
- Es bildet die Struktur eines Informatik-Curriculums auf Bachelor-Niveau mit Einführung, Kernbereich, fortgeschrittenen Inhalten und Abschlussprojekt nach
- Alle Vorlesungen und Aufgaben sind kostenlos oder größtenteils kostenlos, auch wenn für einige bewertete Aufgaben Kosten anfallen können
- Eine aktive globale Unterstützungsstruktur für Lernende wie die Discord-Community sowie fortlaufende Material-Updates werden kontinuierlich betrieben
- Lernende können allein oder in Gruppen flexibel Tempo und Auswahl an die eigene Situation anpassen
Was ist OSSU und warum ist es wichtig
OSSU (Open Source Society University) ist ein Open-Source-Curriculum, das so konzipiert wurde, dass jede Person sich ohne Kosten selbst eine Ausbildung auf dem Niveau eines regulären Informatikstudiums aneignen kann. Es nutzt öffentliche Vorlesungen und Materialien von Spitzenuniversitäten wie Harvard, MIT und Princeton und zielt nicht auf bloße einmalige Wissensvermittlung, sondern auf eine ausgewogene Lernerfahrung auf Basis von Theorie, Praxis und Anwendung.
- Alle Lernmaterialien sind sorgfältig ausgewählte, öffentlich verfügbare hochwertige kostenlose Online-Ressourcen
- Es orientiert sich konsequent an internationalen Standards für grundlegende Bachelor-Studiengänge der Informatik wie dem CS2013-Standard
- Es richtet sich vor allem an Menschen, die sich selbst motivieren, kontinuierliche Lerngewohnheiten aufbauen und Unterstützung aus einer weltweiten Lern-Community nutzen können
Struktur und Merkmale des Curriculums
- Einführung (Introduction to CS): Hier kann man grundlegende Konzepte und den Reiz von Informatik und Programmierung kennenlernen. Enthalten sind unter anderem Python-Programmierung, Berechnungstheorie, grundlegende Datenstrukturen und Algorithmen
- Kernbereich (Core CS): Dieser Teil entspricht einem Curriculum bis etwa zum dritten Studienjahr und umfasst verpflichtend Programmierung (funktional, objektorientiert, Software-Design), Mathematik (diskrete Mathematik, Statistik, Wahrscheinlichkeit, Analysis), Systeme (Rechnerarchitektur, OS, Netzwerke), Theorie (Algorithmen, NP-Probleme usw.), Sicherheit, Anwendungen und Ethik
- Fortgeschrittene Inhalte (Advanced CS): Entspricht dem letzten Studienjahr. Hier können Interessengebiete aus fortgeschrittener Programmierung, Systemen, Theorie, Informationssicherheit und höherer Mathematik gewählt werden
- Abschlussprojekt: Das Gelernte wird in einem realen Projekt angewendet; Ergebnisse werden mit globalen Mitlernenden geteilt und überprüft. Es kann als Nachweis praktischer Fähigkeiten und als Portfolio für Bewerbungen dienen
Lernweise und Kosten
- Das Curriculum kann selbstständig oder in Gruppen bearbeitet werden
- Es wird empfohlen, die Kurse der Reihenfolge nach zu absolvieren, bereits bekannte Inhalte können aber übersprungen werden
- Alle Vorlesungen sind online kostenlos verfügbar. Auf manchen Plattformen (Coursera, edX usw.) können für die Bewertung von Aufgaben, Prüfungen oder Projekten Kosten entstehen, in den meisten Fällen ist jedoch das eigentliche Lernen kostenlos. Zur Entlastung wird auch auf finanzielle Unterstützung (Stipendien/Financial Aid) hingewiesen
- Es gibt eine Google-Sheets-Vorlage, die bei der Verwaltung des Lernfortschritts und des voraussichtlichen Abschlussdatums hilft
Community und Unterstützung
- Für Teilnehmende gibt es einen Discord-Server – für Kursdiskussionen, Fragen und den Austausch mit anderen Lernenden
- Es gibt aktive Feedback-Kanäle wie GitHub Issues und Vorschläge zur Verbesserung des Curriculums
- Der Abschluss von OSSU kann dem LinkedIn-Profil hinzugefügt werden
Es wird empfohlen, das aktuelle Curriculum über die offizielle Website und das GitHub-Repository zu prüfen
Detaillierte Curriculum-Liste
Voraussetzungen
- Für Core CS sind Mathematikkenntnisse auf Oberstufenniveau (Algebra, Geometrie, Vorstufe der Analysis) erforderlich
- Advanced CS kann erst gewählt werden, wenn alle Kernmodule abgeschlossen sind
- Für Advanced systems werden grundlegende Physikkenntnisse auf Oberstufenniveau vorausgesetzt
Introduction to CS
- Der erste Schritt in die Informatik. Es werden grundlegende Berechnungen, imperative Programmierung, Datenstrukturen, Algorithmen usw. eingeführt
- Pflichtkurs: 'Introduction to Computer Science and Programming using Python' (14 Wochen)
Core CS
Programmierung
- Breite Praxis in funktionaler und objektorientierter Programmierung, Tests, Patterns, Typisierung und Sprachvielfalt
- Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture usw.
Mathematik
- Enthält diskrete Mathematik, mathematische Beweise, grundlegende Statistik, O-Notation, Wahrscheinlichkeit und Analysis
Entwicklungswerkzeuge und Umgebung
- Praxisrelevante Werkzeuge wie Terminal, Shell-Scripting, vim, Command Line und Versionsverwaltung (
git)
Systeme
- Umfassendes Verständnis der Funktionsweise von Computern – von Hardware über Betriebssysteme bis zu Netzwerken
- Beispiele: Nand to Tetris-Projekt, OS Three Easy Pieces, Networking usw.
Theorie
- Umfasst Analyse von Algorithmen, Divide and Conquer, Graphen, dynamische Programmierung, NP-Probleme usw.
Sicherheit
- Grundlagen der Informationssicherheit, sicheres Coding, Schwachstellenanalyse sowie Wahlfächer zu Netzwerken und Kryptografie
Anwendungen
- Deckt praxisnahe Bereiche wie Datenbanken, Machine Learning, Computergrafik und Software Engineering breit ab
Ethik
- Betont unverzichtbare ethische Grundlagen für Technikerinnen und Techniker, darunter sozialer Kontext von Technologie, Professionalität, geistiges Eigentum und Datenschutz
Advanced CS
- Wahlfächer nach Karriereweg oder Interessengebiet: parallele Programmierung, Compiler, Sprachen wie Haskell/Prolog sowie Software-Debugging und Testing
- Breite Auswahl von Rechnerarchitektur über numerische Analysis/Logik/Wahrscheinlichkeit bis zu Berechnungstheorie, Informationssicherheit und Systemaufbau
Final Project
- Auswahl, Entwurf, Implementierung und Veröffentlichung eines praxisorientierten Projekts
- Beispieloptionen: Full-Stack-Services, Robotik, Data Mining, Big Data, IoT, Cloud Computing, Data Science, Game Development usw.
- Kann selbst definiert oder über empfohlene Kurse umgesetzt werden
Nach Abschluss des Lernens
- Bestätigung des Erwerbs von Wissen auf dem Niveau eines Bachelor-Abschlusses in Informatik
- Empfehlungen für Berufsvorbereitung, vertiefende Lektüre (mit bereitgestellter Liste) und Offline-Entwicklertreffen
- Ermutigung, neue Technologien zu erkunden (Sprachen wie Elixir/Rust/Idris usw.)
Betriebsregeln und Team
- Einhaltung des OSSU Code of Conduct
- Anleitung zur Darstellung und Verwaltung des eigenen Fortschritts auf GitHub (unter Nutzung von Kanban)
Wichtige OSSU-Mitwirkende
- Eric Douglas (OSSU-Gründer), Josh Hanson (technischer Maintainer), Waciuma Wanjohi (akademischer Maintainer) sowie weitere Mitwirkende aus aller Welt
Abschluss
OSSU eröffnet Menschen weltweit einen Weg, kostenlos Fähigkeiten auf dem Niveau eines regulären Informatikstudiums aufzubauen und damit breit in Praxis und Karrierewege der modernen IT-Industrie einzusteigen.
Die Kombination aus flexiblem Lerntempo, strengen Standards, globaler Community und hochwertigen kostenlosen Materialien ist eine große Stärke gegenüber anderen offenen Curricula.
4 Kommentare
> Ich finde, solche Nachrichtenartikel nach dem Motto „Lernt bloß kein Informatikstudium“ verfehlen die eigentliche Aussage.
Die Übersetzung ist echt richtig gut geworden, faszinierend lol
OSSU Open Source Society University - Computer Science im Selbststudium
Das wurde schon in den Anfangstagen von GeekNews vorgestellt. Inzwischen ist ziemlich viel hinzugekommen.
Hacker-News-Kommentare
Als erfahrener Ingenieur denke ich, dass OSSU ein wirklich großartiger Ort ist, wenn man Lernenden helfen möchte
Ich leite ein Bildungsprogramm, das Studierenden hilft, Informatik im Selbststudium zu lernen. Dabei nutze ich das OSSU-Curriculum oft auch als Referenzmaterial
Selbstlernen hat viele Vorteile, aber die Studierenden müssen unbedingt wissen, dass es auch Risiken gibt
Man muss viel stärker selbst an „Signaling“ und Networking arbeiten, und die sozialen Vorteile einer Hochschulzugehörigkeit fehlen beim Selbststudium oft
Kein Abschluss zu haben bedeutet, dass man in gewisser Weise „marked“ ist; eine Erklärung dazu gibt es hier
Wenn man Fehler macht oder auf Schwierigkeiten stößt, wird die Ursache leicht darauf geschoben, dass man keinen Abschluss hat
Manche Recruiter halten es politisch für riskant, Menschen ohne Abschluss einzustellen, deshalb kann schon der Einstieg schwierig sein
Es ist nicht unüberwindbar, deshalb bereiten wir uns von Anfang an gemeinsam darauf vor und gehen es aktiv an
Der Vorteil des Selbstlernens ist die hohe Lerngeschwindigkeit und dass man alles im Kontext lernen kann, ohne unnötige Schleifen
Wenn man merkt, dass Grundlagen fehlen, kann man jederzeit zurückgehen und sie nachholen
Ich denke, für technische Berufe ist das eine unvermeidliche Lernform, aber sie passt nicht zu allen Studierenden
Realistisch gesehen ist es bedauerlich, dass viele wegen ihrer finanziellen Situation nicht an die Hochschule gehen können und so zum Selbststudium „gezwungen“ werden
Wenn man die Trade-offs nicht gut kennt, kann es umso härter werden
Referenz: Divepod
Ich habe die Selbstlernprozesse vieler Menschen betreut
Direkt nach dem Highschool-Abschluss habe ich aus jugendlicher Unreife mein CS-Studium nicht sauber beendet und dadurch gute Chancen verpasst
Ich persönlich halte Teach Yourself CS für die bessere Alternative
Ich bin ein Beleg dafür, dass man auch nur mit Selbststudium eine Karriere aufbauen kann
Ich arbeite seit über 20 Jahren in der Branche
Aber wenn man diesen Weg wählt, gibt es definitiv Unternehmen und Rollen, zu denen man „niemals“ Zugang bekommt
Meist sind das die besten Unternehmen, die am höchsten bezahlten Stellen und die Jobs mit den besten Bedingungen
Noch wichtiger als der Abschluss selbst ist das Alumni-Netzwerk. Mit einem Abschluss gibt es diesen „großen Club“, in dem Leute allein wegen derselben Hochschule einstellen
Wenn man selbstlernt, wird man dieses Netzwerk nie haben
Die Realität? Übrig bleiben oft nur Jobs, die alle anderen ablehnen. Absurde Läden, Scams, unterfinanzierte Startups, Firmen, die schon in der Krise stecken
Selbst wenn man ausnahmsweise etwas Gutes bekommt, ist es schwer, dort lange zu bleiben
Das Gehalt ist niedriger, und das Risiko, ausgenutzt zu werden, ist viel größer
Es ist auch schwerer, mehrere Angebote gleichzeitig zu bekommen, was die eigene Marktposition schwächt
Dadurch kann sich die gesamte Karriere finanziell wie eine völlig andere Spur anfühlen
Die Jobsuche ist viel härter; man muss doppelt so viel arbeiten
Man wird häufig von sich selbst und von Kolleginnen und Kollegen mit einer Art Minderwertigkeitsverdacht betrachtet
Ein einziger Fehler hat enorme Folgen
Trotzdem ist es besser als gar nichts zu tun, aber wenn man die Möglichkeit hat, halte ich die Hochschule für die bessere Wahl
Ich möchte deine Erfahrung nicht kleinreden, aber ich habe zu 100 % im Selbststudium gelernt und bei ganz unterschiedlichen Unternehmen gearbeitet, von Großkonzernen über Unicorns bis zu Startups
Ich habe einige Jahre als Softwareentwickler gearbeitet und bin dann für einen CS-Abschluss an die Hochschule zurückgekehrt
Daran ist etwas Wahres, aber das gilt meist nur am Anfang und wenn die eigenen Fähigkeiten im unteren Bereich der Peergroup liegen
Ich bin wohl in Richtung ADHS und liege auch irgendwo auf dem Autismus-Spektrum
In dieser Diskussion wird oft vergessen, dass der größte Grund, Informatik zu studieren, nicht zwingend Jobchancen oder berufliche Skills sind
Ich frage mich, ob das Curriculum nicht gerade deshalb Grenzen hat, weil es nur aus „kostenlosen und Open-Source“-Kursen besteht
Wenn man ernsthaft lernen will, sollte man meiner Meinung nach auch nicht zögern, Geld in hochwertiges Material zu investieren
Dem stimme ich zu
Discrete Mathematics with Applicationsvon Susanna Epps (gebraucht 50 $)Ich denke, ein Abschluss gleicht die meisten sozialen Schwächen aus
In vielen Kommentaren vermischen sich zwei Punkte: dass die Hochschule Netzwerke schafft und dass manche nur Leute bestimmter Hochschulen einstellen
Es stimmt, dass Jobchancen über Kontakte aus Hochschule und Karriere zunehmen
Aber mit wachsender Karriere wird das Gewicht von Kontakten, die nach der Hochschule entstanden sind, stärker
Positionen, für die ein bestimmter Hochschulabschluss oder ein PhD nötig ist, haben weniger mit Netzwerk als mit „Signalwirkung“ zu tun
Also mit einem vertrauenswürdigen Signal, das dem Arbeitgeber weitere Nachfragen erspart
Selbstlerner müssen das umgehen oder zusätzliche Anstrengungen leisten
Man muss sich darauf ausrichten, über persönliche Kontakte oder eigene Arbeit Aufmerksamkeit zu bekommen oder über Empfehlungen Chancen zu erhalten und so den normalen Hiring-Prozess zu umgehen
Wenn ich höre: „Schon die Chance selbst fällt komplett weg“, muss ich an den Satz denken: Glück ist keine Strategie, aber wenn man die Zahl der Versuche erhöht, steigt die Chance auf Glück
Ich frage mich, was eigentlich das Ziel ist
Ich finde es etwas schade, dass in solchen Diskussionen beide Seiten so übertrieben defensiv auftreten
Wirklich großartig.