MIT OpenCourse - Reflection on Introduction to Computational Thinking with Julia
# ReviewI highly recommend checking out this MIT open course, Introduction to Computational Thinking. All the course videos and assignments can be found on the website. I initially started following along because 3B1B was also teaching, and I was pleasantly surprised to find the content even more interesting than I expected.
At first glance, the course content may seem quite diverse, covering topics like data science, climate change modeling, ray tracing, partial differential equations, statistics, and image processing. However, they all revolve around the concept of computation. I believe this approach effectively trains your ability to solve problems using computers.
For example, in the first couple of classes, you learn about image convolution, breaking down problems into matrix multiplication. The assignment is to implement a simple Gaussian blur. The concept of convolution can be further extended; for instance, you can apply the same idea for edge detection or even Fourier transforms. This method of breaking down seemingly complex problems into mathematically representable steps, and showing you how to apply it in other areas, is an excellent learning approach that many people lack.
Next, let’s talk about seam carving, an algorithm that can change the aspect ratio of an image without looking “off.” When we typically alter an image’s proportions, one dimension is stretched or compressed, which often results in a strange appearance. This algorithm identifies the less important areas of the image, allowing you to remove those sections while keeping the overall image looking normal.
When it comes to data handling, using COVID-19 as an example feels quite relevant; it allows for learning through real-world cases. The course also touches on concepts like PCA for dimensionality reduction and the significance of singular value decomposition, while briefly reviewing statistical concepts.
I lost interest in the later classes and, admittedly, got a bit lazy, so I’ve only skimmed through them. Here’s an outline for reference:
- Random walks
- Discrete mathematics
- Partial differential equations
- Climate change modeling
I personally think these are quite practical concepts, and if I have time, I’ll likely continue to follow through the entire course.
The course primarily uses Julia as the main programming language, which I find very comfortable to write. In the future, for simple matrix operations or data analysis, I will probably use Julia. Experienced engineers should pick it up quickly, and with Plutco, you can write code directly in your browser (similar to Jupyter Notebook) and see the results in real time.
P.S.: Grant Sanderson’s delivery and videos are impressively well-made; I believe he is among the highest quality instructors in the group.
Related Posts
- Carnegie Communication and Interpersonal Relationships: How to Win Friends and Influence PeopleThis book can be considered a classic among classics. It took me a long time, but I finally finished reading it. The ideas conveyed in the book are somewhat like transforming oneself into an altruist.
- OutliersImpressions after reading the book "異數" (The Otherness): The book "異數" explores the concept of otherness in various aspects of life, including culture, society, and personal experiences. It delves deep into the complexities of human relationships and the struggles faced by individuals who are considered different or marginalized in society. One of the key takeaways from this book is the importance of empathy and understanding towards those who are different from us. It reminds us that everyone has their own unique stories and perspectives, and it is crucial to embrace diversity and promote inclusivity. The author's writing style is engaging and thought-provoking, making it an enjoyable read. The book not only challenges our preconceived notions but also encourages us to question societal norms and biases. Overall, "異數" is a compelling book that sheds light on the significance of embracing otherness and fostering a more inclusive society. It serves as a reminder that our differences should be celebrated rather than feared or ignored.
- Deep Work by Cal NewportPassion has been overly romanticized. The book starts by using Steve Jobs' speech as an introduction, directly stating that what Jobs did was different from what he said. I believe that passion should not be something you are required to generate, but rather something that naturally arises in the process of doing something. I am passionate about XXX, but the world usually demands not your passion, but your output.
- Self-learning Encyclopedia - Reading ReflectionsThis book feels like it will eventually be translated into Chinese. While there is currently only a Japanese version, I want to share my reading experience with everyone. This book is thick, with over 700 pages, and is even referred to as the "#BluntInstrument" in Japan. It has also made it onto the bestseller list. The content inside is very substantial and is suitable for beginners who want to learn a subject thoroughly but don't know where to start.