Grateful but conflicted

I haven’t felt so much in two minds about a course before. On one hand, I felt the course was well organized, taught a good structure for approaching ML modeling, provided valuable intuition about different models, highlighted pitfalls, and was really high quality overall. It is easily the best course on ML that I have come across.

On the other hand, I must admit that I got really bored after a few chapters and had to force myself to finish the course. I can’t exactly put my finger on it but it had something to do with the ever same structure of the exercises (I guess, it helps drive home the recommended approach) and the same data sets. Switching things up a little might have helped keeping me more engaged. I would also like to encourage you to include a few more questions in some of the quizzes. It was really demotivating when a quiz had a single question and I got that wrong. Having at least four or five questions could be a nice amount.

And one tip: There is really no need to assign to _ to prevent cell output in notebooks, just end the last statement with a semi-colon ; or in case of plots you can use plt.show().

Thanks for your feedback @MoritzB, our commitment to quality appreciates your suggestions. Adding much more questions risks making the course contents too heavy, but trying to use more datasets could be an option to introduce more realistic problems, for instance. Another option that has been discussed is to add more videos, what do you think?

2 Likes

All of the videos were well prepared with really intuitive figures and good explanations. So I definitely would love to see more of them. It’s just a matter of finding the right balance. Videos are great for teaching concepts but at some point we have to dive into the code as well in order to learn the API and working on a problem helps with memorizing as well.

1 Like

Hello,
I just wanted to point to the fact that opposing to you I didn’t get bored during the course, even found it difficult sometimes. This contrast in our experiences is, I think, due to the difference in our skills and backgrounds on this topic. To make such a MOOC, finding the right balance is important so that both of us can make it to the end.

I agree on including more datasets, and i defenetly enjoyed the videos (so YES for more english ones with french accent :blush:)

1 Like

On the other hand, I must admit that I got really bored after a few chapters and had to force myself to finish the course. I can’t exactly put my finger on it but it had something to do with the ever same structure of the exercises (I guess, it helps drive home the recommended approach) and the same data sets. Switching things up a little might have helped keeping me more engaged. I would also like to encourage you to include a few more questions in some of the quizzes. It was really demotivating when a quiz had a single question and I got that wrong. Having at least four or five questions could be a nice amount.

Thanks for the valuable feedback. I think those are very good suggestions.

Personally I find the ; trick harder to understand for people new to Python programming. In that respect I find that assigning the unwanted output to the dummy _ variable more explicit and explicit is better than implicit :wink:

I find that using plt.show() is a bit misleading because this method is not actually needed to trigger the display of the figure in a jupyter notebook.

1 Like

I do share the general feeling expressed by @MoritzB, the course was great and quite useful, and could just use a little more eccentricity to become perfect :wink:

this being said, and as a total aside now:

Total respect for your personal preferences, but it seems to me too that the ; trick is much more widespread than the dummy assignment (at least for me it’s the first time that I see that one); I guess one of the reasons the ; is popular is because it only involves adding one character, rather than having to first go to the beginning of the line, and add 2 (or rather, add _ = which is 4 if you comply with pep8), so all in all a lot of fuss

Besides, saying that ; is a separator, and thus creates an empty statement, is in my teaching experience pretty easy to swallow, and as a trend easier to grasp than the special _ variable

But well, again your personal preference is quite fine, it’s just that in light of all this, it would make sense to at least mention the other option to your students, if only once the first or second time where you need that trick

my $0.02

I personally do not want to teach or mention the ; trick. It is not PEP8 and it would be removed by code style formatter such as black.

Since I am sure that we use _ in other scenarios - e.g. _, ax = plt.subplots() or for _ in range(10) - we stick to a convention that is widely used in Python and compliant with the current style guide.

1 Like

The advantage of plt.show() over the dummy variable assignment is that it does not require a paragraph of explanation.
The automatic display you mentioned is somewhat context-dependent: it does not happen in JupyterLite for example.

1 Like

Interesting. We might want to port the MOOC to JupyterLite for at some point, in this case we will have to add plt.show() calls everywhere.