Friday, April 25, 2014

Coursera

La suite de mes impressions sur plusieurs cours en-ligne (MOOC) à la fois sur Udacity et sur Coursera.

Udacity va arrêter de donner des certificats pour ceux n’étant pas inscrit à la partie payante du cours, c’est dommage c’était une motivation supplémentaire pour finir le cours.

J’ai donc suivi 5 nouveaux cours depuis le dernier post, à savoir: Startup Engineering, Computational Investing, Part I, Algorithms: Design and Analysis, Part 2, Intro to Hadoop and MapReduce et Web Development. Voici ce que j’ai pensé de chacun de ces cours.

  • Startup Engineering Le but de ce cours été de voir comment utiliser les outils modernes (bitcoin, cloud…) pour lancer une startup orientée web. Ce cours était très bien parti, les poly étaient vraiment travaillés et contenaient de nombreuses informations. Malheureusement les enseignants ont sans doute mal évalué la charge de travail que cela allait leur demander et le cours à été abandonné au bout de quelques semaines. Cela dit les poly sur la mise en place d’un environnement de développement et l’utilisation du cloud (amazon web service et heroku) est très bonne, et c’est une très bonne lecture si vous avez un projet web mais que vous ne savez pas vraiment comment mettre en place l’infrastructure.

  • Computational Investing, Part I Pas grand chose à dire sur ce cours. En utilisant Python et une librairie fournie (QSTK) on a analysé des tas de valeurs boursières. Par exemple on peut trouver des événements (une valeur chute alors que celles du même secteur augmentent par exemple) puis voir la tendance historique après un tel événement (la valeur remonte alors significativement 2 semaines plus tard). On peut alors en déduire quelle valeur acheter automatiquement en fonction des événements actuels. L’idée étant de faire de nombreuses transactions pour être en moyenne gagnant. Je pense que le cours était très bien fait, mais il faudrait prendre plus de temps pour pouvoir plus expérimenter. Les statiques sur les avis des étudiants pour ce cours sont disponibles ici.

  • Algorithms: Design and Analysis, Part 2 Un très bon cours d’algo. Le plan annoncé a parfaitement été suivi et les exercices (tant théoriques que de programmation) permettaient vraiment d’approfondir le cours. En revanche les algorithmes étudiés sont tous très classiques, si vous connaissez bien les algorithmes du Cormen vous n’apprendrez sans doute pas grand chose de plus avec ce cours. Celui de [structures avancées](http://ocw.mit.edu/courses /electrical-engineering-and-computer-science/6-851-advanced-data-structures- spring-2012/lecture-videos/) du MIT est sans doute bien plus intéressant pour ceux ayant déjà des bases solides d’algo.

  • Intro to Hadoop and MapReduce Une introduction à Hadoop le framework open-source de référence pour mapReduce. Je suis un peu déçu sur le contenu de ce cours. Je l’ai fini en une après-midi ce qui est exceptionnellement court. Au final j’ai vu la mise en place d’Hadoop avec la distribution de cloudera et le principe des algorithmes (une phase de mapping puis une de reduce). Notez qu’Hadoop peut aussi exécuter des programmes en Python. C’est ce qui était proposé ici. Il suffisait d’écrire une fonction map et une fonction reduce en Python. Au fond c’est un bon tuto sur Hadoop et mapReduce mais vous en aurez fait le tour très rapidement. Et la question centrale de comment installer Hadoop sur un tas de machines n’est pas abordée alors que c’est à mon avis le point difficile, le paradigme MapReduce étant finalement très simple.

  • Web Development Peut-être le meilleur cours en ligne que j’ai suivi jusqu’à maintenant. Le but était de construire des applis web (blog, wiki) en Python en utilisant Google app Engine (dont le quota gratuit est suffisant pour toutes sortes d’essais). J’avais déjà fait un site en Python sur Google app Engine mais j’ai vu de nombreuses techniques pour simplifier mon code et si j’avais suivi ce cours avant j’aurais définitivement gagné un temps fou.

No comments:

Post a Comment