MIT Challenge

, Author

Au cours des 12 prochains mois, je vais apprendre l’intégralité du cursus de 4 ans du MIT en informatique, sans prendre de cours.

MISE À JOUR : Le MIT Challenge est maintenant terminé. J’ai terminé le 26 septembre 2012, un peu moins de 12 mois après avoir commencé le 1er octobre 2011. Cliquez sur « Voir plus… » pour n’importe quelle classe pour accéder à mes examens, aux solutions officielles ou au code que j’ai écrit.

Réponses à certaines questions courantes :

  1. Combien ai-je travaillé pendant le défi ? Au début, environ 60 heures/semaine. Plus tard plutôt 35.
  2. Avez-vous obtenu un diplôme du MIT ? Non. Voir l’exposé ci-dessus pour ma motivation à faire toute l’éducation sans crédit.
  3. Avez-vous fait tout ce que fait un étudiant du MIT ? Non. J’ai fait les examens et les projets de programmation d’un programme d’études qui est très similaire à celui du MIT (j’ai dû échanger certains cours de laboratoire et les exigences en matière de sciences humaines contre d’autres cours). Le nombre d’heures de crédit est cependant le même. Consultez ici le programme d’études en quatre ans du MIT pour le comparer au mien. (Note : Ce lien a été mis à jour car l’ancien était mort, cependant je n’ai pas vérifié si des changements ont été apportés au programme CS depuis que j’ai fait le MIT Challenge)
  4. Avez-vous utilisé des manuels ou des vidéos de cours ? Tout est dans le volet « Voir plus… » pour chaque classe. Veuillez le vérifier si vous n’êtes pas sûr pour chaque classe.
  5. Dans quel ordre avez-vous fait les classes ? Dans l’ordre indiqué ci-dessous. Sauf que certains ont été pris en même temps. Cependant, si vous suiviez cet ordre en série, vous ne manqueriez aucun prérequis.
  6. Avez-vous noté le travail vous-même ? Oui. Certes, cela introduit un certain degré d’erreur par rapport au fait qu’un professeur note mon travail. Cependant, la plupart des examens sont quantitatifs avec des ensembles de solutions qui ont des rubriques de notation, donc cela limite quelque peu l’erreur. J’encourage tout le monde à vérifier mes résultats réels aux examens et à les comparer aux solutions. Dans de nombreux examens nécessitant de longs calculs, j’ai accordé des notes partielles à condition que les concepts enseignés dans le cours soient appliqués correctement. Je pense que la notation fournie est sans doute juste, mais si vous vouliez prendre la position ferme que toute erreur (comme oublier de porter un signe moins) invalide une question entière, cela réduirait certaines de mes notes. J’ai revu et recalculé mes notes en fonction de ces restrictions plus sévères et les examens finaux des cours 18.01, 5.111, 18.03, 6.002 et 6.013 passeraient sous le seuil de réussite (les 28 autres cours n’ont pas été affectés ou sont restés au-dessus du seuil de réussite). Je crois que la notation initiale était juste, bien qu’imparfaite, mais ces calculs ultérieurs montrent l’impact de ma décision d’utiliser des notes partielles.
  7. Croyez-vous que tout le monde ne devrait pas aller à l’université et faire cela à la place ? Bien sûr que non. J’ai fait mon premier cycle à l’université et je ne le regrette pas. Mon objectif pour ce projet était de voir si ce serait possible – de repousser les attentes quant à la durée, au coût et au caractère conventionnel d’une éducation.

Les ordinateurs m’ont toujours fasciné. De la finance à Facebook, les algorithmes sont le langage caché qui sous-tend la plupart de notre vie. Les plus grandes transformations de notre monde sont écrites en code, et les progrès de l’intelligence artificielle nous permettent d’utiliser les ordinateurs pour comprendre ce que signifie être humain.

Au delà de la poésie de la machine, l’informatique est aussi immensément pratique. Des fortunes ont été faites et des révolutions déclenchées sur des lignes de code.

J’ai toujours voulu parler ce langage. Mais, je ne voulais pas investir quatre ans de ma vie et des centaines de milliers de dollars pour l’apprendre.

Je me lance dans cette expérience parce que je veux montrer que l’apprentissage ne nécessite pas des jurys d’admission et des tests SAT, des milliers de dollars de dettes, ou même le rythme de 4 ans que la plupart des étudiants supposent nécessaire pour apprendre une matière.

Est-ce que je vais échouer ? C’est définitivement une possibilité – des gens beaucoup plus intelligents que moi luttent contre d’immenses charges de travail dans des institutions comme le MIT, et je tente d’apprendre le même matériel à 4x la vitesse, sans le bénéfice des instructeurs.

Tout ce que je peux promettre, c’est de partager ce que je trouve avec vous. Voici la liste des 33 cours que je vais couvrir. Pour chacun d’entre eux, j’écrirai l’examen final et vous pourrez comparer mes réponses aux solutions officielles du MIT. Je posterai également tous les échecs, afin que vous puissiez être sûrs que je n’omets pas mes erreurs.

Mise à jour du défi post-MIT

Depuis que le défi est terminé, j’utilise cet espace pour partager certains des nouveaux cours que je complète ou des programmes que j’ai terminés liés à l’informatique.

  • WordSmith – C’est une IA que j’ai construite qui joue au Scrabble. Gratuit et open-source.

PROGRÈS D’APPRENTISSAGE (33/33):

Cliquez sur les titres pour voir les vidéos, accéder aux cours et voir mes résultats

8.01 : Physique I – Mécanique classique – COMPLÉTÉ

J’ai terminé ce cours en juillet dans le cadre d’une expérience pilote pour voir si j’étais prêt à faire le programme complet. Le cours est brillant, le professeur Walter Lewin fait un travail incroyable en apportant la physique à la vie sans sacrifier la rigueur intellectuelle. Note : Ce cours a été supprimé par le MIT, vous pouvez accéder à une version différente ici. Note de Scott : 5/5

18.01 : Single Variable Calculus – COMPLETED

Ce fut le premier cours officiel que j’ai complété pour le MIT Challenge. Des cours solides m’ont donné une bonne idée des bases du calcul en commençant par les limites et en allant jusqu’à l’intégration plus avancée.
La note de Scott : 4/5

18.02 : Calcul multi-variable – COMPLÉTÉ

Ce cours étend les principes de base du calcul à une variable à plus d’une dimension. Très utile à connaître pour comprendre l’électricité, les aimants, la lumière ou tout ce qui implique des objets en 3D.
La note de Scott : 4/5

8.02 : Physique II – Electromagnétisme – COMPLÉTÉ

Encore un cours donné par le professeur Walter Lewin, les démonstrations sont étonnantes. Rigoureux pour ceux qui veulent les détails techniques, mais toujours abordable, discutant des concepts quotidiens comme les arcs-en-ciel et les détecteurs de métaux. Note : Le cours original que j’ai suivi a été supprimé par le MIT. Voici un cours de remplacement.
La note de Scott : 5/5

6.01 : Introduction à EE et CS I – COMPLETED

C’est un bon cours, mais je ne recommande pas de le prendre si vous n’avez pas de connaissances en programmation, car il plonge directement dans l’orientation objet avec relativement peu d’explications. J’ai vraiment apprécié le mélange de concepts plus avancés de l’IA et des machines à état dans le cours de base. Les notes de cours sont gratuites et excellentes, bien qu’une grande partie de l’accent soit mis sur la robotique qui utilise un équipement spécialisé auquel je n’ai pas accès. (En passant, de nombreuses personnes ont fait remarquer que l’examen final que j’ai écrit n’était pas entièrement complet, vous pouvez lire ma réponse approfondie ici) Note : Le cours original que j’ai suivi a été changé par le MIT. Voici un remplacement.
La note de Scott : 4/5

  1. Accéder au matériel de cours gratuitement
  2. Télécharger le code
    • Projet : Bibliothèque de machine d’état
    • Projet : Estimateur d’état bayésien
    • Projet : A* Pathfinding Algorithm
  3. Mes résultats d’examen
  4. Solutions réelles du MIT

5.111 : Principes de la science chimique – COMPLETE*

Bonne introduction à la chimie quantique, aux diagrammes de Lewis, aux réactions acide/base et redox. Comprend également une section plus avancée sur les métaux de transition et la théorie du champ cristallin. Malheureusement, la classe n’avait pas d’examen final viable, j’ai donc été obligé d’utiliser mes midterms pratiques comme base d’évaluation.
La note de Scott : 4/5

7.012 : Introduction à la biologie – COMPLÉTÉ

Excellent cours de biologie qui explore la biologie du point de vue de l’expérimentateur, en donnant des bases en biochimie, immunologie, génétique et écologie. Le manuel est également un bon complément, montrant également l’état d’esprit expérimental menant aux découvertes.
Note de Scott : 4/5

18.03 : Équations différentielles – COMPLÉTÉ

Extension du calcul, les équations différentielles permettent de modéliser et d’analyser des systèmes complexes. Elles jouent un rôle particulièrement important en génie électrique où elles (et leurs équivalents discrets) sont essentielles pour comprendre les circuits, les signaux et les systèmes. Les conférences vidéo associées à ce cours présentent des écarts importants par rapport au reste du contenu du cours, ce qui m’a fait perdre un peu de temps.
La note de Scott : 3/5

6.02 : Introduction à l’EE et à la CS II – COMPLÉTÉ

Ce cours a été plus délicat à prendre en charge car il n’y a pas de cours pour lui dans l’OCW du MIT. L’apprendre signifiait passer au crible les recoins les plus cachés des archives publiques du MIT pour essayer de trouver des notes et des examens. Une conséquence de cela est que la conception de filtres, un sujet majeur, était complètement absent des notes et je n’ai pas pu compléter les laboratoires (6 & 7) ou les sections d’examen qui en traitaient. Il n’y avait pas d’examen final, alors j’ai complété les trois examens intermédiaires et les ai notés collectivement.
Note de Scott : 3/5

  1. Matériel de cours
  2. Dossiers de laboratoire (avertissement large), Instructions de devoirs/Fichiers
  3. Mes réponses d’examen
  4. Solutions réelles du MIT

6.042J : Mathématiques pour l’informatique – COMPLÉTÉ

Graphes, théorie des nombres, preuves, probabilités et comptage ne sont que quelques-uns des sujets abordés dans cet excellent cours. Il n’y a pas de cours vidéo, mais le manuel de cours gratuit est incroyable et engageant. Il y a aussi une énorme quantité de ressources pour pratiquer les problèmes, offrant des défis intéressants.
La note de Scott : 5/5

6.006 : Introduction aux algorithmes – COMPLÉTÉ

Une introduction aux algorithmes et à la théorie de la complexité. Le cours offre une bonne occasion d’appliquer les concepts de conception algorithmique (programmation dynamique, algorithmes gourmands, etc.) à des problèmes de programmation réels, ce qui donne à ce cours un caractère concret qui manquait dans le cours 6.042J. Malheureusement, je n’ai pas réalisé que l’examen final n’était pas complet avant de l’écrire, donc j’ai aussi inclus les quiz que j’avais faits pour m’entraîner. J’ai complété la plupart des devoirs, cependant comme il n’y avait pas de solutions, je les ai laissés non notés.
Note de Scott : 4/5

18.06 : Algèbre linéaire – COMPLÉTÉ

D’excellentes conférences vidéo et des matériaux abondants ont fait de ce cours l’un des plus abordables du catalogue OCW. Le professeur Gilbert Strang donne des conférences fluides et faciles à comprendre. Mon premier examen pour cette classe n’était qu’un 56%, alors j’ai décidé de prendre un autre jour pour écrire l’examen à score plus élevé que j’ai posté ci-dessous.
La note de Scott : 5/5

6.041 : Analyse de systèmes probabilistes – COMPLÉTÉ

Cours de probabilité, il entre dans les fondements de la probabilité en utilisant le calcul pour analyser des questions probabilistes plus difficiles que celles posées en 6.042J. Le manuel est conçu pour ce cours spécifiquement, il est donc extrêmement utile.
La note de Scott : 4/5

6.002 : Circuits et électronique – COMPLÉTÉ

Ce cours couvre les bases des circuits numériques et analogiques. L’examen était assez difficile et il a marqué le premier examen où j’ai effectivement manqué de temps en l’exécutant. Malheureusement, les solutions officielles ne sont accessibles qu’au MIT, je ne peux donc pas les télécharger ici à titre de comparaison. Ce cours sert de base à de nombreux cours ultérieurs d’EE, donc je suis sûr que j’aurai une autre chance d’être vraiment testé sur les concepts de base.
Note de Scott : 4/5

6.046J : Design and Analysis of Algorithms – COMPLETED

Un de mes cours préférés jusqu’à présent ! Le cours explore certains des concepts les plus avancés en algorithmique que l’on ne trouve pas dans le cours 6.006, tels que la preuve que certains problèmes sont NP-Complets, les algorithmes d’approximation, le cryptage, les algorithmes sous-linéaires et le traitement parallèle. J’ai dû faire attention cependant puisque la version OCW de ce cours est antérieure au changement de programme du MIT où 6.006 a été ajouté, donc il couvre un matériel substantiellement plus facile que les versions actuelles.
Note de Scott : 5/5

6.034 : Intelligence Artificielle – COMPLÉTÉ

Grand cours qui couvrait un aperçu de différentes techniques d’IA, y compris la recherche, la propagation des contraintes, les réseaux neuronaux, les machines à noyau, l’apprentissage des concepts et le traitement du langage naturel. J’ai également effectué 6 devoirs pour cette classe qui m’a demandé d’apprendre le langage de programmation Scheme. L’un des défis de l’écriture des examens pour cette classe était la variété dans les syllabus, car tant de techniques différentes ont été couvertes et les spécificités différaient d’une classe à l’autre.
La note de Scott : 5/5

6.003 : Signaux et systèmes – COMPLÉTÉ

Ce cours enseigne les bases de l’analyse des signaux et des systèmes, en étendant les techniques mathématiques abordées pour la première fois en 18.03. Bien qu’utile pour plus que les circuits, la classe est particulièrement importante pour comprendre des choses comme la modulation de fréquence, les filtres audio, la réduction du bruit et sert même de base pour l’analyse et la manipulation des images. C’est également le premier examen auquel j’ai échoué. Heureusement, je me suis amélioré et j’ai obtenu un score de 69% lors de ma deuxième tentative. Note : Le cours original que j’ai suivi n’est plus disponible. Voici un remplacement.
La note de Scott : 4/5

6.004 : Computation Structures – COMPLETED

Grande classe enseignant le croisement entre le génie électrique et l’informatique. Le projet de conception impliquait la construction d’une spécification d’unité centrale de traitement au niveau de la porte, c’est-à-dire la construction du circuit pour permettre à un ordinateur d’être construit. La seule faiblesse était le manque relatif de matériel de la classe, cependant les devoirs et les laboratoires sont fortement soutenus.
La note de Scott : 4/5

  1. Accéder au matériel de cours gratuitement
  2. Laboratoires et projets(Note : BSim et JSim sont nécessaires pour exécuter les fichiers. Ils peuvent être téléchargés gratuitement depuis la page du cours)
  3. Mon examen
  4. Solutions officielles du MIT

24.241 : Logique I – COMPLÉTÉ

Intro au calcul sententiel et au calcul des prédicats, à leurs systèmes de dérivation et aux preuves métathéoriques. J’ai trouvé le cours plutôt sec et technique, mais le cours a offert une bonne pratique des méthodes de preuve plus rigoureuses, par opposition aux styles plus informels enseignés dans les cours d’informatique. Malheureusement, les réponses à l’examen que j’ai utilisées pour corriger ma copie ne sont pas publiques, je ne peux donc pas les afficher ici.
Note de Scott : 3/5

14.01 : Principes de la microéconomie – COMPLÉTÉ

J’avais déjà pris la microéconomie quand j’ai fait mon diplôme de commerce, donc la grande majorité de ce cours était une récapitulation. Cependant, comme le MIT a une base mathématique beaucoup plus forte que mon alma mater, il était rafraîchissant de voir des définitions techniques plus rigoureuses de nombreux concepts. J’ai passé un peu moins de quatre jours sur ce cours, donc la plupart de mes erreurs provenaient de l’oubli de définitions techniques et de formules puisqu’aucune n’était fournie à l’examen.
Note de Scott : 3/5

6.033 : Computer Systems Engineering – COMPLETED

Un cours utile enseignant les bases des réseaux informatiques, le cryptage, le paradigme client-serveur et l’Internet. J’ai trouvé une partie de la classe répétitive après 6.004 et 6.02, dont le contenu se chevauchait, mais elle était toujours utile. J’ai fait l’erreur de ne pas me concentrer assez sur les devoirs de lecture puisque c’est de là que vient une grande partie de l’apprentissage.
Note de Scott : 4/5

6.013 : Electromagnétique et applications – COMPLÉTÉ

Sans aucun doute, la classe la plus difficile que j’ai prise dans le programme jusqu’à présent. La classe fait un usage intensif du calcul vectoriel, des transformées et de la notation complexe en plus d’étendre généralement les principes de l’électromagnétisme enseignés dans 8.02. Une base solide dans les sujets de 6.003, 6.002, 18.02, 18.03 et 8.02 est une bonne idée si vous voulez tenter ce cours. Je n’ai réussi l’examen que de justesse, donc c’est certainement un sujet que j’aimerais revoir et affiner à un moment donné dans le futur, car il a exprimé beaucoup d’idées intéressantes.
Note de Scott : 3/5

14.02 : Principes de la macroéconomie – COMPLÉTÉ

J’avais également fait de la macroéconomie avant quand j’ai fait mon diplôme de premier cycle, donc c’était un récapitulatif principalement. Cela dit, je pensais que la version MIT du cours et du matériel de soutien était beaucoup plus accessible. C’est un excellent cours à suivre si vous voulez comprendre l’économie dans son ensemble. Note : Le cours original que j’ai suivi a été échangé par le MIT. Voici un remplacement.
La note de Scott : 3/5

24.242 : Logic II – COMPLETED

Ce cours était entièrement basé sur 8 devoirs à domicile, donc la quantité de matériel d’essai que j’ai traversé était plus faible que beaucoup d’autres, malheureusement. Cela dit, j’ai adoré ce cours, car les théorèmes d’incomplétude de Godel représentent l’une des idées les plus profondes que j’ai jamais vues dans un cours.
La note de Scott : 5/5

6.011 : Intro aux communications, au contrôle et aux signaux – COMPLÉTÉ

Ce cours était une extension du cours 6.003, Signaux et systèmes. Il prend les concepts de base de l’analyse des signaux et des filtres et les étend aux représentations état-machine et aux signaux stochastiques. L’inclusion de signaux aléatoires est très utile pour gérer le bruit, de sorte que de nombreux concepts de ce cours sont plus pratiques que leurs équivalents idéaux en 6.003. Le manuel gratuit / notes de cours a été très utile.
La note de Scott : 4/5

24.244 : Logique modale – COMPLÉTÉ

La logique modale est la logique de la possibilité et de la nécessité et étend le calcul des prédicats de base. C’est une logique intéressante à étudier car elle peut représenter de nombreux systèmes de logique divers, en fonction des axiomes pris (déontique, aléatoire, tendu, etc.). L’examen final était un examen à emporter, donc je l’ai complété au cours de deux jours.
La note de Scott : 3/5

14.20 : Organisation industrielle – COMPLÉTÉ

Les cours d’introduction à l’économie simplifient généralement l’analyse en supposant une concurrence parfaite ou un monopole. Ce cours supprime cette hypothèse et examine comment les entreprises se concurrencent stratégiquement les unes les autres. Ce cours a vraiment suscité mon intérêt pour en apprendre davantage sur la théorie des jeux. Malheureusement, je n’ai pas réalisé que l’échantillon de l’examen final était assez limité comme couverture du contenu, mais c’était le mieux que je pouvais faire.
La note de Scott : 3/5

14.23 : Réglementation gouvernementale de l’industrie – COMPLÉTÉ

Le contenu de ce cours était très similaire à 14.20, bien qu’il se concentre davantage sur le contexte historique et le cadre politique que sur le côté théorie des jeux. Un cours intéressant, les sections de lecture du manuel étaient assez longues (près de 900 pages) cependant le niveau d’analyse mathématique était léger, ce qui rendait la lecture facile.
La note de Scott : 3/5

14.48J : Économie de l’éducation – COMPLÉTÉ

Compte tenu de la nature de mon défi, ce cours était amusant puisqu’il explorait les différentes théories de l’éducation. La plupart du temps, le cours ressemblait à une discussion sur l’économétrie de base, car il semble que la littérature ne soit pas concluante sur de nombreuses idées fondamentales (les classes plus petites sont-elles meilleures ? les programmes de bons d’études fonctionnent-ils ?) La classe a également exploré les différences entre la théorie standard du capital humain de l’éducation par rapport à l’explication de signalisation, bien que, encore une fois, la littérature présentée était principalement non concluante.
Note de Scott : 3/5

6.005 : Elements of Software Construction – COMPLETED

C’est le cours obligatoire de développement de logiciels du MIT. C’était un cours difficile, non pas parce qu’il est trop exigeant intellectuellement, mais à cause de la quantité de travail. Il consiste en 3 projets d’équipe, 3 projets individuels et plusieurs laboratoires (des devoirs, à part entière). J’ai hésité à prendre ce cours parce que les contraintes de temps du défi rendent difficile de prendre des cours comme celui-ci, cependant, en fin de compte, je me suis dit que la seule façon était simplement de faire tout le travail.

J’ai réussi à terminer le cours en environ 3 semaines, réparties sur environ deux mois. C’était l’un des cours les plus enrichissants, même si c’était aussi le plus long. J’aurais aimé rester plus longtemps avec chaque projet, en particulier l’application de messagerie instantanée finale que j’ai construite à partir de zéro, pour l’embellir avec plus de fonctionnalités. La classe est un excellent choix si vous êtes déjà un programmeur novice, mais que vous voulez apprendre plus d’idées de conception de haut niveau pour non seulement écrire du code fonctionnel, mais du code bien conçu.

J’ai posté tous les projets que j’ai écrits ici, bien que vous ayez besoin de Java installé pour les exécuter. J’ai également inclus les rédactions pour les trois projets de conception (désolé pour le manque de contraste dans les scans !)
La note de Scott : 5/5

  1. Accéder au matériel de cours gratuitement
  2. Tout le code
  3. Recueils de projets
  4. MIT Matériel fourni et spécifications des devoirs

6.801 : Machine Vision – COMPLÉTÉ

Ce cours enseigne les bases de l’utilisation des algorithmes informatiques pour voir, principalement dans le contexte du guidage d’un robot pour effectuer des actions basées sur ces images. Les sujets abordés comprennent le traitement d’images binaires, la détection des bords, les surfaces étendues gaussiennes, l’orientation et la photogrammétrie. Le cours a été évalué par deux questionnaires à emporter et a compté comme l’un des deux cours de niveau supérieur que j’ai pris dans le défi.

Dans l’ensemble, le cours était stimulant, utilisant des techniques d’analyse de Fourier, de calcul vectoriel, d’algèbre linéaire, de programmation quadratique et de calcul des variations, de sorte que c’était probablement le cours le plus difficile que j’ai pris dans l’application des mathématiques. Malheureusement, il n’y avait pas de devoirs de programmation, ce qui aurait été intéressant.
La note de Scott : 5/5

  1. Accéder au matériel de cours gratuitement
  2. Mes examens
  3. Solutions officielles du MIT (et questions)

6.837 : Infographie – COMPLÉTÉ

Ce cours enseigne les bases de l’infographie, principalement le ray tracing, bien que les méthodes de scanline soient enseignées. L’évaluation était entièrement basée sur les devoirs (il y avait deux quiz mineurs, mais ils n’avaient pas de solutions donc je ne les ai pas utilisés). En commençant par un ray tracer de base et un ombrage plat, les devoirs ont progressivement développé le ray tracer pour inclure un ombrage mat, des réflexions brillantes, des ombres portées, des surfaces transparentes avec des indices de réfraction, une réflexion miroir et un texturage procédural. Un projet a également été fait sur la création d’une structure de données d’accélération de grille, qui n’a pas d’effet visuel mais accélère considérablement l’approche relativement lente du ray tracing pour les graphiques.

Des détails sur l’environnement de programmation utilisé sont inclus dans le README.rtf pour le code. Le fichier est assez volumineux, mais il inclut également toutes les images rendues afin que vous puissiez jeter un coup d’œil à la sortie même si vous ne compilez/exécutez pas les scènes spécifiques en question. (À titre de comparaison, les résultats officiels du MIT sont inclus dans le fichier sample_res.pdf pour chaque devoir, afin que vous puissiez voir comment mon raytracer se compare). Note : Le cours original que j’ai suivi a changé. Voici un remplacement.
La note de Scott : 5/5

  1. Accéder au matériel de cours gratuitement
  2. Mon code
  3. Code fourni par le MIT (et exemples de réponses)

COSC 545 : Theory of Computation – COMPLETED

Ce cours n’était pas un cours du MIT mais un cours de second cycle sur la théorie du calcul enseigné par Cal Newport à l’université de Georgetown. C’était un sujet que j’avais vraiment envie d’étudier après avoir apprécié les deux cours d’algorithme du MIT, mais le cours de théorie de la complexité du MIT manquait d’outils d’évaluation que je pouvais utiliser. Certaines idées intéressantes du cours sont quels types de problèmes peuvent être résolus par des algorithmes (ce qui signifie qu’il y a un processus pour résoudre toute instance du problème) et les restrictions sur la vitesse et la mémoire nécessaires pour résoudre certaines classes.

Il comprend également une discussion approfondie sur l’un des problèmes les plus importants et non résolus en mathématiques, à savoir si P=NP, qui aurait de profondes implications pour la société selon sa réponse et malgré des décennies de travail et un prix d’un million de dollars pour sa solution, personne n’a pu y répondre.

Il y avait deux examens que j’ai écrits et notés parce qu’ils étaient non cumulatifs.
Note de Scott : 5/5

  1. Accéder au matériel de cours gratuitement
  2. Mes examens

Mon discours TEDx du MIT Challenge

FAQ pour le MIT Challenge

  1. Quelles règles suivez-vous ?
  2. Faites-vous tous les devoirs, papiers et projets ?
  3. Votre programme d’études diffère-t-il de celui du MIT ?
  4. Que se passe-t-il si vous échouez à un cours ?
  5. Pourquoi faites-vous cela ? Aimez-vous simplement étudier ?
  6. Vous obtiendrez un diplôme en faisant cela ?
  7. Vous faites des cours en série, n’est-ce pas juste du bachotage pour des tests ?
  8. Quelle sorte d’expérience antérieure avez-vous avec le sujet ?
  9. Je suis un blogueur/reporter/journaliste-comment puis-je vous contacter pour partager l’histoire?

Q) Quelles sont les règles que vous suivez?

Parce que je ne suis pas inscrit au MIT (ou affilié à eux de quelque façon que ce soit), j’ai dû construire mes propres règles pour rendre le défi équitable, mais réalisable. Les règles de base sont simples :

  1. Je considère qu’un cours est réussi si je peux passer l’examen final (ce qui signifie généralement obtenir une note d’au moins 50% bien que je vise beaucoup plus).
  2. J’écris l’examen avec les mêmes contraintes qu’un étudiant : pas de regard sur les questions ou les solutions à l’avance, pas de notes ou de matériel interdit, mêmes contraintes de temps (le défaut est de 3 heures si ce n’est pas spécifié).
  3. Je note les copies moi-même, en les comparant aux solutions réelles du MIT. Je posterai les deux, afin que tout le monde puisse revérifier mes méthodes de notation.

N’oubliez pas que ce ne sont que les exigences minimales de mon défi. Pour les classes qui ont une composante de programmation significative, j’essaie de faire des devoirs de programmation représentatifs, dans la mesure où cela est possible.

Q)Faites-vous tous les devoirs, les articles et les projets ?

Pour les classes théoriques ou basées sur les mathématiques, les examens finaux sont généralement une base d’évaluation complète, donc je les utiliserai comme mon évaluation. Je finis toujours par faire la plupart ou des parties des devoirs et des quiz en guise de préparation, mais comme je ne peux pas maintenir la cohérence avec ce critère sur l’ensemble du défi (de nombreux devoirs sont soit indisponibles, soit impossibles à évaluer objectivement), je les fais de manière informelle.

Pour les classes avec une quantité importante de travail de programmation ou de problèmes de conception pratique, je vais essayer de compléter la plupart des devoirs. Cependant, comme ceux-ci sont plus difficiles à évaluer, je compte toujours sur les examens finaux comme critère principal pour ces classes.

Q) Votre programme d’études diffère-t-il de celui du MIT ?

J’ai passé près d’un mois à essayer de reconstituer le miroir le plus proche du programme d’études informatique réel du MIT à suivre. Malheureusement, je ne peux pas le faire parfaitement puisque certaines classes sont impossibles à évaluer (y compris les laboratoires et les classes de recherche), et d’autres n’avaient aucun accès en ligne.

Je prends le même nombre d’heures de crédit qu’un diplôme réel du MIT, donc là où je ne pouvais pas prendre une classe, je l’ai remplacée par une alternative similaire. En termes de volume de connaissances à apprendre, donc, mon programme d’études est similaire à celui suggéré par le MIT à ses étudiants.

La seule autre exception avec le MIT concerne les cours facultatifs. Je prends divers cours non informatiques, pour imiter au mieux les exigences du HASS pour les étudiants du MIT. Ceux-ci ne correspondent pas parfaitement, car le didacticiel en ligne pour les arts est considérablement plus faible que pour les sciences au MIT.

Vous pouvez voir le programme réel du MIT pour l’informatique ici.

Q) Que se passe-t-il si vous échouez à un cours ?

Vu le rythme que je tente, je pense qu’il est inévitable que j’échoue à un cours. Ma principale exigence est de réussir un examen final, donc si j’en échoue un, je me permets de passer un autre examen après.

Ma stratégie est d’adopter une approche d’échec d’abord, d’être plus efficace avec mon temps sur les classes où j’ai plusieurs examens finaux que je peux utiliser comme base d’évaluation. C’est très différent de l’université où un échec peut être un véritable coup dur. C’est un avantage de l’auto-éducation par rapport aux institutions formelles rigides.

Q) Pourquoi faites-vous cela ? Aimez-vous simplement étudier ?

Personne n’aime étudier, mais tout le monde veut être intelligent. Apprendre, arriver à ces intuitions et se sentir plus intelligent sur un sujet sont immensément gratifiants. Dommage que beaucoup d’entre nous aient oublié cela après des années d’éducation formelle punitive.

J’admets que je suis peut-être un peu fou, ou arrogant, pour vouloir terminer un programme de 4 ans en seulement 12 mois. Cependant, ma véritable motivation est de montrer aux gens qu’apprendre plus vite est possible et que cela peut être plus amusant en même temps.

Q) Obtiendrez-vous un diplôme en faisant cela ?

Non, et c’est exactement le but. Notre société assimile à tort la connaissance à l’accréditation. Obtenir un morceau de papier est génial, et pour de nombreuses lignes de travail, c’est tout à fait nécessaire. Mais l’équation est faite si fortement que les gens oublient que les deux choses sont différentes.

J’ai déjà une carrière d’écrivain et de propriétaire de petite entreprise. Je ne veux jamais travailler pour une grande entreprise, où les RH pourraient scruter mon absence de diplôme. Pour moi, je veux juste apprendre l’informatique au cas où je voudrais créer une nouvelle entreprise ou travailler pour une start-up.

Je n’ai rien contre l’université. L’université a été une expérience étonnante et enrichissante pour moi, et elle pourrait l’être pour vous aussi. Tout ce que j’espère, c’est qu’en montrant une alternative, les gens qui pensent que le système actuel ne leur convient pas peuvent trouver une autre voie.

Q) Est-ce que ce n’est pas juste du bachotage pour les tests ?

Non, mais la différence est subtile. La plupart des cours s’appuient sur des concepts passés, donc mon objectif avec chacun est de développer une compréhension profonde que je peux exploiter. Le bachotage est typiquement un recours à la mémorisation pour passer rapidement un test puis l’oublier. La compréhension est plus difficile, mais pas nécessairement plus longue (et une exigence si chaque classe s’appuie sur celle qui la précède).

Comme mise à jour, Depuis les quatre premières classes, je procède à 3-4 classes en parallèle à la fois. Bien que cela implique de réviser sur une période beaucoup plus courte que ce qui est typique (1 mois au lieu d’un semestre), cela augmente les avantages de la répétition espacée.

En fin de compte, ma capacité à comprendre et à performer adéquatement sur les classes de niveau supérieur sera le test de ma méthode, puisque la plupart des classes de première année servent principalement de base pour les classes de dernière année plus difficiles.

Q) Quel type d’expérience antérieure avez-vous avec le sujet ?

Lorsque j’étais encore au lycée, j’ai fait pas mal de programmation, principalement en créant de petits jeux sur ordinateur. De plus, j’ai suivi 4 cours d’informatique de niveau universitaire, lorsque j’ai fréquenté l’Université du Manitoba pour mon diplôme de commerce. Oui, j’ai une certaine expérience de la programmation, ce qui me donnera un avantage pour relever le défi. Cela étant dit, mon niveau de compétence antérieur n’est probablement pas très éloigné de celui de nombreux étudiants en CS qui fréquentent actuellement le MIT et pour lesquels le programme d’études est basé.

En outre, j’ai terminé le premier cours 8.01 Mécanique classique en tant qu’expérience pilote pour ce défi principal en juillet 2011. Par conséquent, le nombre de cours que je tente au cours de la période de 12 mois est officiellement de 32.

Q) Je suis un blogueur/reporter/journaliste comment puis-je vous contacter pour partager l’histoire ?

Vous pouvez me contacter à [email protected] ou utiliser le formulaire ici. Je vais être assez occupé (pour des raisons évidentes), alors excusez-vous d’avance si je mets du temps à traiter mes courriels, car je me déconnecte généralement lorsque je travaille sur un cours.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.