Auto-éducation dans la science
Un programme entièrement gratuit pour apprendre le cours en informatique par cours
Introduction à l'informatique (1-2 semaines)
- Aperçu de l'informatique
- Introduction à la programmation
- Aperçu des algorithmes et des structures de données
- Organisation et architecture informatiques de base
Ressources:
- Introduction à l'informatique par l'Université Harvard sur EDX
- Codecademy apprend à coder le cours
Fondamentaux de programmation (4-6 semaines)
- Introduction au langage de programmation Python
- Instructions de flux de contrôle
- Types et structures de données
- Fonctions et modules
- Opérations d'entrée et de sortie
- Débogage et gestion des erreurs
- Concepts de programmation orientés objet
Ressources:
- Python pour tout le monde par l'Université du Michigan sur Coursera
- Apprenez Python à la dure par Zed Shaw
Structures de données et algorithmes (12-16 semaines)
- Structures de données de base (tableaux, listes liées, piles, files d'attente)
- Structures de données avancées (arbres, graphiques, tables de hachage)
- Analyse et conception de l'algorithme
- Algorithmes de recherche et de tri
- Récursivité
- Programmation dynamique
- Algorithmes gourmands
- Diviser et conquérir les algorithmes
Ressources:
- Structures de données et spécialisation des algorithmes par l'Université de Californie, San Diego sur Coursera
- Introduction aux algorithmes de la presse du MIT
Architecture et systèmes informatiques (8-12 semaines)
- Aperçu du matériel informatique et des logiciels
- Systèmes d'exploitation
- Gestion de la mémoire
- Systèmes d'entrée / sortie
- Réseaux informatiques
- Systèmes distribués
Ressources:
- Architecture informatique de l'Université de Princeton sur Coursera
- Systèmes d'exploitation: trois pièces faciles de Remzi H. Arpaci-Dusseau et Andrea C. Arpaci-Dusseau
Systèmes de base de données (8-12 semaines)
- Introduction aux bases de données
- Systèmes de base de données relationnels (SQL)
- Conception et normalisation de la base de données
- Interroger et manipuler les données
- Administration de la base de données
Ressources:
- Introduction aux bases de données de l'Université de Stanford sur Coursera
- SQLBOLT (Tutoriels interactifs en ligne SQL)
Développement Web (8-12 semaines)
- Développement frontal (HTML, CSS, JavaScript)
- Développement arrière (frameworks Web, programmation côté serveur)
- Intégration de la base de données (SQL, ORM)
- Sécurité et authentification
Ressources:
- Le projet Odin (programme de développement Web complet de la file d'attente)
- FreeCodeCamp (programme de développement Web gratuit)
Génie logiciel (8-12 semaines)
- Cycle de vie du développement logiciel
- Gestion de projet logiciel
- Ingénierie des exigences
- Tests et assurance qualité
- Maintenance et évolution du logiciel
Ressources:
- Essential d'ingénierie logicielle de l'Université du Colorado Boulder sur Coursera
- The Mythical Man-Month de Frederick P. Brooks Jr.
Intelligence artificielle et apprentissage automatique
- Aperçu de l'intelligence artificielle et de l'apprentissage automatique
- Algorithmes d'apprentissage supervisés (régression linéaire, régression logistique, arbres de décision, machines à vecteurs de support, voisins K-Dearest, naïf Bayes) (4-6 semaines)
- Algorithmes d'apprentissage non supervisés (clustering, réduction de la dimensionnalité) (4-6 semaines)
- Apprentissage du renforcement
- Réseaux de neurones et apprentissage en profondeur (4-6 semaines)
- Traitement du langage naturel
- Vision par ordinateur
Ressources:
- Apprentissage automatique par Andrew Ng sur Coursera
- Deep Learning par Yoshua Bengio, Ian Goodfellow et Aaron Courville
Informatique et visualisation (8-12 semaines)
- Pipelines graphiques
- Transformations géométriques
- Primitives graphiques 2D et 3D
- Techniques de rendu (traçage des rayons, rasterisation)
- Animation et simulation
- Techniques de visualisation
Ressources:
- Infographie de l'Université de Tokyo sur EDX
- Rendu en temps réel par Tomas Akenine-Möller, Eric Haines et Naty Hoffman
Interaction humaine-ordinateur (8-12 semaines)
- Principes de conception de l'interface utilisateur
- Processus de conception centrés sur l'utilisateur
- Test de convivialité et évaluation
- Conception d'interaction
- Visualisation de l'information
- Accessibilité
Ressources:
- Interaction humaine-ordinateur par l'Université de Californie San Diego sur Coursera
- Ne me fais pas penser par Steve Krug
Cybersécurité (8-12 semaines)
- Sécurité du réseau
- Cryptographie
- Contrôle d'authentification et d'accès
- Analyse et détection de logiciels malveillants
- Évaluation et gestion des risques de sécurité
Ressources:
- Introduction à la cybersécurité par la New York University Tandon School of Engineering sur EDX
- Ingénierie de la sécurité par Ross J. Anderson
Outils de développement de logiciels (4-6 semaines)
- Systèmes de contrôle de version (GIT)
- Environnements de développement intégrés (IDE)
- Outils de débogage et de profilage
- Construire l'automatisation et l'intégration continue (Jenkins)
Ressources:
- Manuel Git par Github
- Tutoriel Eclipse Ide par Vogella
Mathématiques pour l'informatique (8-12 semaines)
- Mathématiques discrètes
- Algèbre linéaire
- Probabilité et statistiques
- Calcul
- Théorie des nombres
Ressources:
- Mathématiques pour l'informatique par le Massachusetts Institute of Technology on MIT OpenCourseware
- Algèbre linéaire par Gilbert Strang sur le MIT OpenCourseware
Éthique et société en informatique (8-12 semaines)
- Problèmes éthiques dans l'informatique
- Implications sociales et politiques de l'informatique
- Problèmes de confidentialité et de sécurité
- Propriété intellectuelle et droit d'auteur
- Impact global de l'informatique
Ressources:
- Informatique et société par l'Université Harvard sur EDX
- Le code: la Silicon Valley et la refonte de l'Amérique par Margaret O'Mara
J'espère que cela sera aussi bénéfique pour tous les lecteurs que cela a également été bénéfique. Veuillez garder à l'esprit que tous les temps estimés pour terminer ces cours sont basés sur un emploi à temps plein pendant les études.