Accéder au contenu principal

First year of MOOC

Happy new year,

This post will be in English contrary to the previous one because I want to talk about Massive Open Online Course. It was my main occupation during my free time doing as far sa 4 courses in parallel.

My first and main learning plateform was Coursera.

I began with "Functional Programming Principles in Scala" in Sep 18th 2012. A great course to learn functional programming by Martin Odersky, the creator of the Scala language himself, and maybe one of the best course I have done even if it's one of the most difficult, needing a lot of time and motivation.

In programmation, I have also done "Algorithms, Part I" from Princeton. Again a difficult and time consuming course with no certification at the end but the content is great if you want to learn algorithms and java performance tips. I will try to do the 2nd part this year.

"Introduction to data science" was a good introduction to Data Science. I have learned the basic component of Data Science with Map Reduce techniques, Hadoop, the difference with classic SQL data access and storage, a bit of python programming language and SciPy librairie (the famous lib for machine learning in Python) and a good overview of Data Visualisation. Two problems for this course: the instructor is not an engaging orator and the subject would require more depth. The best thing of this course was the discovery of the machine learning competition website called Kaggle. This website is clearly a great place to learn Data Science / Machine Learning and show your level.

"Malicious Software and its Underground Economy" is also only an introduction to a very large and somewhat very technical subject. Even I have only done the quizzes (and avoided the difficult exercices) but I have learned about traditional and mobile malware, the security threats they represent, state-of-the-art analysis and detection techniques, and the underground ecosystem that drives such a profitable but illegal business. The instructor is good and the subject is crazy. However, at the end of the course, don't think you have become an hacker. You understand you're really far from it :)

More in the side of development but also at the frontier of business was "Startup Engineering" from Stanford. As the title says, the goal is to make you create your first web application and associated startup with first funding (with bitcoin crypto-currency). You learn how to choose your market, designing for mobile first and mainly how to code your webapp with html/css/javascript in NodeJS and deploying in the cloud with Heroku. For a developer like me, the certification was pretty easy but I think it's a real challenge for a non-programmer and the course is 12 weeks long. The goal to build your first startup is really present and you can compete with others for the startup who has the most social influence and the most funding. By the way, two french guys won it. I was just a bit disappointed by the video content because the instructor only read the PDF material where all the "how to" (deploy in the cloud, install, html, js ...) are explained. However if you prefer to read and don't like videos, it's great :)

The course "Developing Innovative Ideas for New Companies: The First Step in Entrepreneurship" is also for startup creation but only on the business side without development. Only 6 weeks long, mainly quizzes and some peer review exercices, it's really accessible but the content is not the most interesting I have done. Even if the course is closest to Lean Startup, you can learn how much a business plan is useless :)

The two courses "Grow to Greatness: Smart Growth for Private Businesses" part 1 and part 2 by Edward D. Hess are the shortest course I have done with only a final quizz. It's easy, with good tips to build a company and make it growth.  The instructor is one of the most engaging and motivating of all the courses I have done.

"New Models of Business in Society" is also very short, not really time consuming. However the business tips are more high level. More interesting if you already work in a company at strategic decision levels and want to see a refreshing view on business models.

"Foundations of business Strategy" is good and offers more pratical learning on business than the previous one. It demands also more work. I have learned how industry structure impacts competitive outcomes and learn how to analyze industry forces, how to analyze firm capabilities and how they may provide competitive advantage, how businesses compete in multiple markets and how to analyze firm scope.

One of the last course of the year I have done was "Design Thinking for Business Innovation". As a Design Thinking fan, I couldn't miss this course. However, if the video content is good and it's a great introduction, there was no practical exercices (even no quizzes). It seems more like a promotional content of the book of the instructor than a real course.

I have also one two MBA level courses from Wharton University. "An introduction to Marketing" which is a long course (12 weeks) but also totally accessible because it's only quizzes. Moreover its content is great and engaging with three instructors, each with their expertise. "An introduction to operations management" is shorter but the exercices need really more work (lots of calculation). The instructor and the content are good. Fun fact, the management of the "machine" is not my primary focus, I prefer more human view of the business. However, even with such a analytical view, you learn how the errors of the typical management.

Finally the best two courses are "gamification" where I have learned the application of game elements and digital game design techniques to non-game problems, such as business and social impact challenges and "Social Psychology" where I have learned more "why people do what they do?".
This two courses are amazing by their content, their professor, theirs exercices. They are totally accessible and demands the good level of time to do it.
If you have only two courses to do in 2014, you know what to do!

Et voila! This long list was the course I have done in Coursera with a certificate! But I have also followed some other courses and have almost win the certificate of "Human-Computer interaction" (69% for 70%). This course has great content but the exercices are really time consuming and the last week exercice seems to me totally useless in modern software development.

I have also done two courses from Stanford University on the platform NovoEd "Designing a New Learning Environment" and “Design Thinking Action Lab”. I was disappointed by this two courses because there is almost no direct content. The style of learning focus more on doing by yourself and interacting with other students. My way of using MOOC is totally different because I almost never interact with others students or use the forum. However it is very easy to finish with success the course.

Finally I have done a "MongoDB for java developer course" and lots of Codecademy or CodeSchool programming courses. These type of MOOC are more easy to do because you can come and learn when you want but it lacks a real tempo to engage you. The content is very good if you want to learn coder skills. And even if you have to pay, CodeSchool has an amazing design and their courses are very well done. I have also tried a bit KhanAcademy for the mathematical cursus.

Update: oops, I forgot my french MOOC by EM Lyon about Effectuation. I know you should ask yourself but what is this new term ? In fact, it's very close to Lean Startup and it's trying to show how entrepreneurship works. You should look at this TED Conference if you want to have an overview of the concept. This MOOC was fine with good content, good professor and, even it's the exercices weren't very difficult, the limitation in how to do them make the whole course a bit challenging.

What the conclusion of this ?

Clearly MOOCs are changing the world. I have learned a lot and from the best for free! (Just 9$ for one month of CodeSchool). I have successfully achieved so many course because I could do some weeks three to four courses. How ? I always watch the video when I go to my work during transportation (count 50 to 90 minutes of videos by week and by course) and I made the exercices either the evening, the week-end and sometimes during my lunch time. I think in average a course needs 3 to 6 hours of work by week. The business courses with only quizzes are the easiest. The programming one and worst the design one can be a lot more time consuming. For example, Reactive Programming is almost impossible if you are not fluent in the Scala programming language. 
However I am clearly an addict and I should do less course but trying to use more what I have learned to directly improve my work. 
It's the goal of 2014: less MOOC, more practice :D


Parisot Mathieu a dit…
Great feedback thanks ! Just to let You know that the link for the malware course is broken, it should be :

Posts les plus consultés de ce blog

Summary of 'Clean Architecture' by Robert C. Martin

Summary of 'Clean Architecture' by Robert C. Martin
Uncle Bob, the well known author of Clean Code, is coming back to us with a new book called Clean Architecture which wants to take a larger view on how to create software.

Even if Clean Code is one of the major book around OOP and code design (mainly by presenting the SOLID principles), I was not totally impressed by the book.

Clean Architecture leaves me with the same feeling, even if it’s pushing the development world to do better, has some good stories and present robust principles to build software.

The book is build around 34 chapters organised in chapters.
Programming paradigm After some introduction, there is an overview of three paradigm of programming:

structured programming which imposes discipline on direct transfer of controlobject oriented programming which imposes discipline on indirect transfer of controlfunctional programming which imposes discipline upon assignment

Uncle Bob tells us that each of these paradi…

Summary of 'Words are windows, Introduction to nonviolent communication' by Marshall Rosenberg

Summary of 'Words are windows, Introduction to nonviolent communication' by Marshall Rosenberg
“Words are windows” is an introduction to non violent communication (abbreviated as NVC). Marshall Rosenberg presents in this book the process that allows us to communicate more serenely with others as well as with ourselves. This mode of communication allows us to become more and more caring, authentic, and empathic with others. It can therefore be used in all interactions of everyday life: as a couple, with our children, at work … NVC is proving to be a very effective way to manage conflicts, and also to better identify our own needs.

At the source of Non Violent Communication NVC has 4 four key components:
Observation – specific facts/data, no evaluation/judgmentFeeling – state how we feel (many failure modes here)Need – the need underlying this feelingRequest – must be specific action to address need
First we observe what is really happening in a given situation. These observatio…

Le développeur incompétent est un mythe

Sous ce titre complètement arbitraire et très clairement provocateur, je vais passer un contre pied aux derniers articles que j'ai lus sur le métier de développeur.
Par exemple : 
Ça tombe bien c'est juste avant la soirée du Paris JUG sur le métier de développeur ! Et comme on se plaint que les présentateurs ne sont pas de vrais (?) développeurs, je vais en profiter pour donner mon avis.

Alors voila, d'après ces articles, un bon développeur connait ses fondamentaux.
Ok soit mais quelle est cette liste de fondamentaux ? 
Chez certains, c'est les maths et l'algorithmie pure, d'autres c'est C++ par coeur et savoir retourner une chaine de caractère en moins de 3 instructions et une seule allocation mémoire, d'autres c'est Java JEE, ses 100 jsr et frameworks in…