https://eugeneyan.com/rss 09月30日
MOOC学习反思
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

MOOCs在入门新知识时很有用,但过量学习可能导致学习效率下降。作者认为,通过实际项目、面对真实问题(如脏数据、CUDA错误)能更有效地提升技能。强调‘做中学’的重要性,避免被动观看视频,建议从感兴趣的小项目开始,让挑战引导学习方向。

🎓 MOOCs适合入门级学习,能提供结构化环境、优质教学和练习,帮助掌握基础概念,但过量学习(如超过两门)后效果递减,因它们通常只教授实现80%结果的20%关键知识。

📚 观看教学视频并非真正学习,而是被动接收信息。与学习骑自行车不同,仅靠视频无法掌握编程或应用技术知识,实际工作中的应用能力可能因此受限。

🛤️ 现实学习应‘偏离快乐路径’(happy path),即主动面对真实世界的复杂问题(如脏数据、调试错误),通过项目实践学习定义问题、试错迭代、资源整合和培养韧性,这些是课堂学习无法提供的。

⏳ 推行‘即时学习’(Just-in-time learning)原则:不必精通所有理论再开始,只需掌握启动所需的基础知识,遇到困难时再学习相关技能,这能强化记忆、提升效率,并增加学习满意度。

🎯 应对YAGNI原则于学习:仅学习实现项目目标所必需的知识,避免信息过载。技术技能会随时间生疏,持续应用才能保持熟练。

🎯 建议从个人感兴趣的项目开始,设定能在6-8周周末完成的短期目标。项目内容可以是熟悉领域的新应用,或直接解决工作/求职需求,若找不到兴趣点则需反思职业动机是否明确。

Don’t get me wrong, I love MOOCs. They’re great for trying to learn a new programming language (e.g., Python, Scala) or framework (e.g., Spark, TensorFlow) or subject (e.g., statistics, machine learning). The structured learning environment, excellent teaching, and exercises (and solutions) guide us through the best way to learn new concepts.

But most of the time, we don’t really need it. If we already know machine learning, taking that shiny new MOOC won’t help with applying it more effectively. Doing another Python tutorial won’t help with writing better code. Most MOOCs follow the Pareto Principle and teach students the 20% they need to achieve 80% results. Thus, past the first or second course, our learning tapers off. (Also see Susan’s view on diminishing returns.)

\[\text { Diminishing returns from similar MOOCs }=1+\frac{1}{2}+\frac{1}{4}+\frac{1}{8}+\frac{1}{16}+\cdots \approx 2\]

Sometimes, new MOOCs become a reason to procrastinate, or worse, a self-handicap. You know this is happening when you hear yourself, or something else, having these thoughts:

    “I’m not able to start building that until I finish this MOOC specialization.” “My resume isn’t getting picked up because I don’t have certs on Spark & PyTorch.” “I haven’t studied enough about deep learning, so I won’t do well in the interview.”

Watching lecture videos isn’t learning—it’s passive consumption. We sometimes equate taking an MOOC, or reading a technical book cover to cover, with learning the material. But how often do we struggle when we try to apply the technical knowledge or skills at work? Children don’t learn to ride bicycles via how-to videos. Similarly, we can’t learn how to program or apply technical knowledge just solely watching videos.

Go off the happy path

Most good MOOCs or tutorials will provide hands-on practice. However, that hands-on practice will lie on the happy path. We can copy-paste the code and it’ll work. This makes sense as there’s a lot of material to cover and we don’t want to spend time debugging, doing prep work, or solving problems via trial and error. Students will lose patience, causing completion rates to drop.

Being on the happy path makes it easier to complete MOOC after MOOC. However, when we try to apply what we’ve learned—either at work or on a personal project—it becomes much harder. This is because we’re now off the happy path. And this is a good thing!

Going off the happy path is how we further our learning beyond the classroom. This is especially so for our field of data science and machine learning, because:

    Real-world data is messy and dirty, but most MOOCs or YouTube classes start with clean, structured data. Most of the skills we require are technical. Thus, hands-on coding (read: debugging) is essential to master them. Experimentation is fundamental in our field. We need to try different approaches, fail, and learn beyond what can be practically taught in an MOOC or online tutorial.

“I hear and I forget. I see and I remember. I do and I understand.” – Confucius

We go off the happy path by doing real-world projects, dirty data, CUDA errors, and all. Through projects, we learn how to define problems, apply algorithms wrongly (and correctly), google error messages, and iterate until it works. We practice resourcefulness, grit, and how to learn. These are the lessons that push us towards excellence.

But, I don’t know enough to start a personal project!

Just-in-time learning

You just need to know enough to start; the rest you’ll pick up along the way. We don’t need to know Python generators before developing your first Python program. We don’t need to know Spark before processing 2 million rows of data. We don’t need to know TensorFlow before training your first machine learning model.

Just start, and let the challenges guide you towards your next learning needs. This way, you immediately apply what you’ve learned. This reinforces learning, improves retention, and increases satisfaction. Similar to just-in-time manufacturing, just learn whatever’s needed to make progress on your project. Technical skills are perishable—if we don’t apply what we learn, they’ll decay.

Apply YAGNI to learning. Just like we don’t need to add functionality until it’s required, we don’t need to do every new MOOC or read every new textbook. No point overwhelming ourselves with all that information and knowledge which we won’t use or apply.

To be clear, I’m not saying that we should stop exploring and learning new things. I’m saying that we should lean towards being more focused.

When learning about new domains, subjects, or skills, adopt a childlike exploratory mindset. Don’t concern ourselves with the practicality of what we learn. However, if our intent is mastery, we should adopt a focused mindset and learn via hands-on projects, mistakes, and feedback.

But, but… here are my reasons for _____

I often get pushback when I suggest doing a personal project instead of another MOOC, Kaggle, or further education. Here’s how some conversations go:

“I’m very time-constrained and don’t have time for a personal project. MOOCs are self-contained and need only 2-4 hours a week”

Yes, MOOCs are great return on time-invested for getting up to speed on a subject. But past a certain threshold of knowledge and understanding, you’re going to need hands-on practice to take your learning further. AFAIK, projects are the best way to do this.

“I tried doing a personal project in the past. But I got a lot of errors and had to google a lot—I don’t think I’m ready for them until I do more MOOCs.”

Getting errors and googling for help is perfectly normal! Even the instructors who created those MOOCs do that too. That’s how we learn—by trying, failing, and overcoming.

“Personal projects are too difficult. Taking an MOOC is easier.”

That’s exactly why you need to do a personal project. The difficulty you experience is the learning curve—without it, there’s no learning.

MOOCs feel easier because their tutorials and assignments are structured to follow the happy path. But this means you’re deliberately steered away from the hairy issues that you’ll face in the real world, unlike in a personal project.

“Doing that MOOC/Masters gives me a certificate that helps my resume.”

Perhaps. Nonetheless, companies are placing less emphasis on educational qualifications, even for technical roles. Recruiters and hiring managers are also becoming more open-minded. And in the end, from a hiring manager’s perspective, what really counts is if you can do the work, not that cert.

“The recruiter said I would be tested on technical skills and knowledge. Thus, I need to do more technical MOOCs.”

To an extent, MOOCs and YouTube videos are helpful, especially for questions that test your knowledge (read: memory) or require you to know the trick (e.g., leetcode type questions).

However, for most interviews, you’ll likely get more nebulous tasks, like designing a data pipeline, whiteboarding a machine learning API, or coding up a basic k-nearest neighbors or decision tree. These assess your ability to design and develop maintainable systems, think through edge cases, and adapt based on feedback. The hands-on practice from projects will be more helpful in such interviehttps://eugeneyan.com/assets/interview-board.webp/interview-board.webp" loading="lazy" title="Lets just focus on the easy questions" alt="Lets just focus on the easy questions">

“What personal project should I do?”

Start with something you’re interested in. If you’re not intrinsically interested in it, you might find difficulty finishing.

Aim for something you can complete over the weekends in 12 weeks, ideally, 6 - 8 weeks. Any longer and it won’t seem urgent enough (and you’ll lose momentum).

“I’m familiar with web scraping/ruby/excel, can my personal project be about that?”

Sure. Just start somewhere and evolve it along the way.

Nonetheless, if you’re doing a personal project to learn, you’ll probably want to deliberately pick something new and unfamiliar. Or if you’re doing a personal project to build your portfolio (and get a job), you’ll want to look over the job requirements to make sure you address them.

“But, I can’t think of any interesting personal projects!”

Look back on the classes and material you’ve covered. I’m sure you’ll find something interesting that you’ll want to dig deeper into.

This is also a good test of whether you’re interested in a discipline. If you can’t think of a personal project that interests you, do you really want it for a career? (And the answer might be yes, for various reasons such as compenhttps://eugeneyan.comhttps://eugeneyan.com/assets/project-drake.webp>

“Other than personal projects, anything else you would recommend?”

Nope. My sole recommendation is to start a personal project and learn whatever you need to complete it.

• • •

In 2021, instead of taking that MOOC or watching another YouTube machine learning playlist, learn by doing instead.

Learning a programming language? Build an app, any app. Share it online and get feedback. Iterate and add new features. Learning a new machine learning technique? Find some novel data and apply it. Understand where it fails, where it shines, and how to adapt it for different data sets. Share your findings via writing online or at a meetup.

Learning comes from doing. Not watching videos, or reading textbooks. Start doing now.

Thanks to Yang Xinyi for reading drafts of this.

If you found this useful, please cite this write-up as:

Yan, Ziyou. (Jan 2021). You Don't Really Need Another MOOC. eugeneyan.com. https://eugeneyan.com/writing/you-dont-need-another-mooc/.

or

@article{yan2021mooc,  title   = {You Don't Really Need Another MOOC},  author  = {Yan, Ziyou},  journal = {eugeneyan.com},  year    = {2021},  month   = {Jan},  url     = {https://eugeneyan.com/writing/you-dont-need-another-mooc/}}
Share on:

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

MOOC反思 学习效率 实践学习 即时学习 YAGNI原则 个人项目 数据科学 机器学习
相关文章