Selbstaufklärung-im-Computer-Wissenschaft
Ein völlig kostenloses Programm zum Erlernen des Informatikkurses für Kurs
Einführung in die Informatik (1-2 Wochen)
- Überblick über die Informatik
- Einführung in die Programmierung
- Überblick über Algorithmen und Datenstrukturen
- Grundlegende Computerorganisation und Architektur
Ressourcen:
- Einführung in die Informatik durch die Harvard University an EDX
- Codecademy's lernen, wie man den Kurs codiert
Programmierfundamentaldaten (4-6 Wochen)
- Einführung in die Python -Programmiersprache
- Kontrollflussanweisungen
- Datentypen und Strukturen
- Funktionen und Module
- Eingangs- und Ausgangsvorgänge
- Debugging und Fehlerbehandlung
- Objektorientierte Programmierkonzepte
Ressourcen:
- Python für alle an der Universität von Michigan über Coursera
- Lerne Python auf die harte Tour von Zed Shaw
Datenstrukturen und Algorithmen (12-16 Wochen)
- Grundlegende Datenstrukturen (Arrays, verknüpfte Listen, Stapel, Warteschlangen)
- Erweiterte Datenstrukturen (Bäume, Diagramme, Hash -Tabellen)
- Analyse und Design von Algorithmus
- Suchen und Sortieren von Algorithmen
- Rekursion
- Dynamische Programmierung
- Gierige Algorithmen
- Algorithmen teilen und erobern
Ressourcen:
- Datenstrukturen und Algorithmenspezialisierung von der University of California, San Diego über Coursera
- Einführung in Algorithmen durch MIT Press
Computerarchitektur und Systeme (8-12 Wochen)
- Überblick über Computerhardware und Software
- Betriebssysteme
- Speicherverwaltung
- Eingangs-/Ausgangssysteme
- Computernetzwerke
- Verteilte Systeme
Ressourcen:
- Computerarchitektur der Princeton University an Coursera
- Betriebssysteme: Drei einfache Stücke von Remzi H. Arpaci-Dusseau und Andrea C. Arpaci-Dusseau
Datenbanksysteme (8-12 Wochen)
- Einführung in Datenbanken
- Relationale Datenbanksysteme (SQL)
- Datenbankdesign und Normalisierung
- Abfragen und Manipulieren von Daten
- Datenbankverwaltung
Ressourcen:
- Einführung in Datenbanken der Stanford University on Coursera
- SQLBOLT (Online Interactive SQL Tutorials)
Webentwicklung (8-12 Wochen)
- Front-End-Entwicklung (HTML, CSS, JavaScript)
- Back-End-Entwicklung (Web Frameworks, serverseitige Programmierung)
- Datenbankintegration (SQL, ORM)
- Sicherheit und Authentifizierung
Ressourcen:
- Das ODIN-Projekt (Free Full-Stack Web Development Curriculum)
- Freecodecamp (Free Web Development Curriculum)
Software Engineering (8-12 Wochen)
- Lebenszyklus der Softwareentwicklung
- Software -Projektmanagement
- Anforderungen Engineering
- Test- und Qualitätssicherung
- Wartung und Entwicklung von Software
Ressourcen:
- Software Engineering Essentials von der University of Colorado Boulder über Coursera
- Der mythische Mannmonat von Frederick P. Brooks Jr.
Künstliche Intelligenz und maschinelles Lernen
- Überblick über künstliche Intelligenz und maschinelles Lernen
- Überwachende Lernalgorithmen (lineare Regression, logistische Regression, Entscheidungsbäume, Support Vector-Maschinen, K-Nearest-Nachbarn, Naive Bayes) (4-6 Wochen)
- Unbeaufsichtigte Lernalgorithmen (Clustering, Dimensionalitätsreduzierung) (4-6 Wochen)
- Verstärkungslernen
- Neuronale Netzwerke und tiefes Lernen (4-6 Wochen)
- Verarbeitung natürlicher Sprache
- Computer Vision
Ressourcen:
- Maschinelles Lernen von Andrew Ng auf Coursera
- Deep Learning von Yoshua Bengio, Ian Goodfellow und Aaron Courville
Computergrafik und Visualisierung (8-12 Wochen)
- Grafikpipelines
- Geometrische Transformationen
- 2D- und 3D -Grafik -Primitive
- Rendering -Techniken (Strahlenverfolgung, Rasterisierung)
- Animation und Simulation
- Visualisierungstechniken
Ressourcen:
- Computergrafik von der University of Tokyo auf EDX
- Echtzeit-Rendering von Tomas Akenine-Möller, Eric Haines und Naty Hoffman
Human-Computer-Wechselwirkung (8-12 Wochen)
- Prinzipien des Benutzeroberflächendesigns
- Benutzerzentrierte Designprozesse
- Benutzerfreundlichkeitstest und Bewertung
- Interaktionsdesign
- Informationsvisualisierung
- Zugänglichkeit
Ressourcen:
- Human-Computer-Interaktion von der University of California San Diego über Coursera
- Lassen Sie mich nicht von Steve Krug denken
Cybersicherheit (8-12 Wochen)
- Netzwerksicherheit
- Kryptographie
- Authentifizierung und Zugriffskontrolle
- Malwareanalyse und Erkennung
- Sicherheitsrisikobewertung und -management
Ressourcen:
- Einführung in die Cybersicherheit durch die New York University Tandon School of Engineering auf EDX
- Sicherheitsingenieurwesen von Ross J. Anderson
Softwareentwicklungstools (4-6 Wochen)
- Versionskontrollsysteme (GIT)
- Integrierte Entwicklungsumgebungen (IDEs)
- Tools Debugging und Profilerstellung
- Automatisierung und kontinuierliche Integration (Jenkins) erstellen
Ressourcen:
- Git Handbuch von GitHub
- Eclipse IDE Tutorial von Vogella
Mathematik für Informatik (8-12 Wochen)
- Diskrete Mathematik
- Lineare Algebra
- Wahrscheinlichkeit und Statistik
- Infinitesimalrechnung
- Zahlentheorie
Ressourcen:
- Mathematik für Informatik von Massachusetts Institute of Technology on MIT opencourseware
- Lineare Algebra von Gilbert Strang bei MIT opencourseware
Ethik und Gesellschaft im Computer (8-12 Wochen)
- Ethische Fragen beim Computer
- Soziale und politische Implikationen des Computers
- Datenschutz- und Sicherheitsprobleme
- Geistiges Eigentum und Urheberrecht
- Globale Auswirkungen des Computers
Ressourcen:
- Computing und Gesellschaft von der Harvard University auf EDX
- Der Code: Silicon Valley und das Remaking of America von Margaret O'Mara
Ich hoffe, dies wird für alle Leser ebenso von Vorteil sein, wie es auch für mich von Vorteil war. Bitte beachten Sie, dass alle geschätzten Zeiten, um diese Kurse zu beenden, auf einem Vollzeitjob während des Studiums basieren.