Pluto for education

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.

Why is Pluto good for education?

Hereโ€™s our evil plan to take over the world:

  1. We make programming and exploration easy โ€“ย this makes it great for writing lectures notes. You can experiment with your idea, and when youโ€™re done, you organize the code and add some text.
  2. Then we add interactivity in a very accessible way (easy, but not as flexible as some other tools) โ€“ and you can write awesome lectures with sliders, buttons and animation!
  3. When itโ€™s the studentsโ€™ turn to write code, we make Pluto as easy as possible to set up and use, with a coding experience that is designed specifically for users that are new to programming and Julia.

Letโ€™s look in more detail at writing lectures and assignments in Pluto.

Why Julia for education?

We believe that Julia is a great language for scientific education! Here are the main advantages from an educational perspective:

Code as communication tool

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.

Easy access to core CS and math concepts

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.

Good way to learn Python

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.

Connection to open source and the scientific community

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.