Kalan's Blog

Kalan 頭像照片,在淡水拍攝,淺藍背景

四零二曜日電子報上線啦!訂閱訂起來

Software Engineer / Taiwanese / Life in Fukuoka
This blog supports RSS feed (all content), you can click RSS icon or setup through third-party service. If there are special styles such as code syntax in the technical article, it is still recommended to browse to the original website for the best experience.

Current Theme light

我會把一些不成文的筆記或是最近的生活雜感放在短筆記,如果有興趣的話可以來看看唷!

Please notice that currenly most of posts are translated by AI automatically and might contain lots of confusion. I'll gradually translate the post ASAP

MIT OpenCourse - Reflection on Introduction to Computational Thinking with Julia

I highly recommend everyone to check out this MIT open course Introduction to computational thinking. All the course videos and assignments can be found on the website. Initially, I started watching it because 3B1B also taught in the course, but the content turned out to be even more interesting than I imagined.

The course seems to cover a wide range of topics, including data science, climate change modeling, Ray Tracing, partial differential equations, statistics, image processing, and more. However, all these topics revolve around the concept of computation. I think this approach actually helps in developing the ability to solve problems using computers.

For example, in the first two lessons, they teach image convolution, breaking down the problem into matrix multiplication. The assignment is to implement a simple Gaussian blur. The concept of convolution can be further extended to tasks like edge detection or even Fourier transform. This step-by-step approach of breaking down seemingly difficult problems into mathematically representable methods, and teaching how to apply them elsewhere, is a fantastic learning method and a skill that many people lack.

Next, they discuss seam carving, a technique to change the aspect ratio of an image without making it look "weird". Usually, when we change the aspect ratio of an image, one dimension of the image gets stretched or compressed, making it look strange. This algorithm can identify unimportant areas in the image and remove them, making the whole image still look normal.

They also cover how to process data, using COVID-19 as an example, which I think is quite relevant to current events. Learning with real-life examples is beneficial. They also mention the significance of techniques like PCA dimensionality reduction and singular value decomposition, while briefly explaining statistical concepts.

I didn't have much interest in the later lessons, and I was a bit lazy, so I only skimmed through them. Here is an outline for your reference:

  • Random walks
  • Discrete mathematics
  • Partial differential equations
  • Climate change modeling

I personally find all these concepts quite practical, and if I have the time, I would continue to complete the entire course.

The course primarily uses Julia as the programming language, and I found it very comfortable to write in. I think I'll use Julia for simple matrix operations or data analysis in the future. For experienced engineers, it should be easy to learn, and when combined with Pluto, you can write code directly on the web page (similar to Jupyter notebook) and see the results in real-time.

p.s: Grant Sanderson's delivery and videos are truly exceptional. I believe he is one of the best among the professors.

Prev

Toxic comments on the internet

Next

2021 Chitchat

If you found this article helpful, please consider buy me a drink ☕️ It'll make my ordinary day shine✨

Buy me a coffee