Pluto.jl is a programming environment designed specifically for education! If you are planning to teach a scientific course, Pluto might be a good fit for you and your students. Pluto only works with Julia, which is a great language for scientific education. Pluto is designed specifically for Julia, and addresses the needs that we had ourselves when teaching courses.
Students and teachers are our primary target audience, and we are committed to We believe that there are enough โadvancedโ tools for advanced users, but that a lot can be done to make programming more accessible to beginners.
Learn more about why you should use Pluto for education, and how to use Pluto for lectures and homework assignments.
Hereโs our evil plan to take over the world:
Letโs look in more detail at writing lectures and assignments in Pluto.
We believe that Julia is a great language for scientific education! Here are the main advantages from an educational perspective:
Julia has very expressive syntax, which can make your code look similar to the math or pseudocode that you use in your course. We think that (well-written) Julia code is relatively easy to understand by students and scientists, even if they donโt know Julia that well. Watch the TED talk by Alan Edelman about this topic.
This is a core concept in Pluto โ you can use code to tell your story, and not just outputs from code (like plots and numbers). Thatโs why Pluto lets you decide for each cell whether to show the code or not.
Unlike Python, R and JavaScript, Julia gives you direct access to core CS concepts like memory, pointers, bytecode, baremetal performance and more, if you want! And unlike C++ and Rust, you also donโt have to worry about these things. This means that you can teach your course in a high-level way (to cover many topics), and also touch upon core CS concepts in a lecture, without having to switch to a different language.
Letโs be honest, many students will complain that your course is not using Python. Well, learning Julia is also an excellent way to learn Python! Julia teaches core programming skills that are very transferrable to Python โ itโs not a waste of time. Even better, learning another language gives you a wider view of the programming landscape, which will help you be more creative.
The Julia community is very open and welcoming, and Julia users are much more likely to contribute to open source projects than more established languages. This is a big advantage for students who are entering the scientific community, because Julia offers many opportunities to collaborate and get involved.