Real-world problems
We will take applications such as climate change and show how you can participate in the big open source community looking to find solutions to challenging problems with exposure to github and parallel computing.
MIT students: Sign up for the Fall 2024 edition of this class!
Register for 18C25
, 6C25
, etc:
"Julia: Solving Real-World Problems with Computation" (catalog link)
Counts for course 6 and course 18 majors, etc.
This class uses revolutionary programmable interactivity to combine material from three fields creating an engaging, efficient learning solution to prepare students to be sophisticated and intuitive thinkers, programmers, and solution providers for the modern interconnected online world.
Upon completion, students are well trained to be scientific “trilinguals”, seeing and experimenting with mathematics interactively as math is meant to be seen, and ready to participate and contribute to open source development of large projects and ecosystems.
We will take applications such as climate change and show how you can participate in the big open source community looking to find solutions to challenging problems with exposure to github and parallel computing.
You will learn mathematical ideas by immersion into the mathematical process, performing experiments, seeing the connections, and seeing just how much fun math can be.
Our course material is built using real code, and instead of a book, we have a series of interactive notebooks. On our website, you can play with sliders, buttons and images to interact with our simulations. You can even go further, and modify and run any code on our website!
In literature it’s not enough to just know the technicalities of grammar. In music it’s not enough to learn the scales. The goal is to communicate experiences and emotions. For a computer scientist, it’s not enough to write a working program, the program should be written with beautiful high level abstractions that speak to your audience. This class will show you how.
We believe many classes cover what we call the vertices — specific topics in computer science, math, or an application.
A student is left to figure out the edges, meaning the intellectual connections between the topics on their own as they mature.
Some classes have you learn a math topic and you can then for homework implement an algorithm or application. The goal
for this class, is to accelerate the process by which a student can participate in the exciting world of software development
be it the big open source universe or privately, by seeing how math with CS abstractions can allow for applications that can
be part of a big huge ecosystem rather than a one-off homework.
… and have more fun in the process!
See also the course repository github.com/mitmath/computational-thinking.
Lecturers: Alan Edelman, David P. Sanders, Charles E. Leiserson
Technical lead: Fons van der Plas
Assistants: Bola Malek, Logan Kilpatrick
Guest lecturers: Henri F. Drake, Fons van der Plas, more to be announced
There is a MIT Computational Thinking t-shirt available for those who really enjoyed the course, you can find it on the Julia Language's Bonfire Shop.
If you use or are inspired by any material, would you be so kind to prominently display
Some material on this website is based on:
Computational Thinking, a live online Julia/Pluto textbook. (computationalthinking.mit.edu)