In the previous post, we discussed that My Friend Li Lei Decides to Learn Artificial Intelligence by taking MIT’s linear algebra course. While this might not be the most efficient method, are there other approaches to learn? One such method is project-based learning, which goes by various names such as😵💫:
- Inquiry-based
- Project-oriented learning
- Thematic learning
- Learning by doing
- etc.
In essence, it means learning by doing. Interestingly, I’ve found that people from different fields support the idea of “learning by doing.”
👩🏫Barbara Oakley
Barbara Oakley is a professor at Oakland University and is renowned for her research in the field of learning. Her course “Learning How to Learn” on Coursera is highly recommended and is available for free. In her book A Mind for Numbers, she writes:
Ultimately, practice helps you broaden the networks of neurons connected to your chunk…
This statement is grounded in brain science, suggesting that practice expands the neural networks associated with your knowledge. As shown in the figure below, knowledge becomes more deeply ingrained and forms chunks through practice.
👨🏫Liu Ligang
Liu Ligang, a professor of computer graphics at the University of Science and Technology of China, also advocates for project-based learning. In his article on how to self-study computer graphics and C++ object-oriented programming, he suggests:
… Do not get bogged down in programming textbooks or manuals, trying to master every syntax point and concept before attempting to code. This is different from learning mathematics. You must learn by doing, addressing any unclear points by consulting the textbook or other resources. Focus on learning and understanding the relevant concepts as you work on projects, and don’t spend too much time on topics that you won’t use immediately (they might come up in later projects, so you can delve deeper then). As you complete more projects, you will acquire more knowledge and skills …
📝Summary
In summary, project-based learning represents a paradigm shift in education. By combining active engagement in projects with a focus on real-world applications, it offers a more effective and engaging learning experience. If you’re eager to learn programming through a project-oriented approach, I recommend a GitHub repository with stars. It contains a wealth of resources for learning various topics, from compilers to programming languages, computer graphics, and large language models.
🔗References
- Oakley, Barbara A. (2014) A Mind for Numbers
- Liu, Ligang, How to Self-Study Computer Graphics & C++ Object-Oriented Programming?(Chinese)