ANN: ๐ŸŽ“๐Ÿ—๏ธ Course website template based on Computational Thinking @ MIT

Are you using Julia to teach a course? The Pluto team would like to announce computational-thinking-template, a repository template for building awesome looking course websites! It features a sidebar, a colorful homepage, built-in search, GitHub Actions, โ€œEdit this Pageโ€ links, run with Binder, and much more!

This template has excellent integration with Pluto.jl notebooks. You can place notebooks in the repository, and they will automatically turn into course pages. You can use Pluto frontmatter to set the title, description, chapter number and image of a lecture, and it will automatically show in the homepage, sidebar and on web search results.

Based on Computational Thinking

This template is based on the successful online course Computational Thinking at MIT. The technology behind this course is open source (developed by the Pluto team), and now available as a standalone template.

Getting started

You start using the template by filling in your course details (name, teachers, university logo, theme color, etc). Then you add course material. You can write lectures in Markdown, HTML, or as Pluto notebooks. There is documentation about writing lectures in Pluto,

Interactivity

Students learn by doing! This website is designed to engage students in the following ways:

  • Show the code โ€“ all pages have a โ€œView codeโ€ button that you can use to reveal the code behind any cell. Example
  • Run it yourself โ€“ all pages have an โ€œEdit or runโ€ button that explains how to download and run this notebook yourself. You can also run notebooks directly online, using Binder. Example
  • Homework โ€“ you can write your homework as Pluto notebooks, which gives students a reliable and interactive environment to work in. Packages will work without a fuss, and you can write exercise prompts that respond to studentsโ€™ work. Learn more about homework in Pluto
  • (optional) Sliders and buttons โ€“ if you set up a Linux web server with PlutoSliderServer.jl, you can make all the PlutoUI.jl elements interactive on your website. Learn more about PlutoSliderServer

Other ways to export Pluto notebooks

This template adds a new option for publishing your Pluto notebooks online as web pages. computational-thinking-template is great if you want to make a complete website (with search, sidebar, homepage, etc), but there are also simpler options. Check out the complete overview on our documentation:

Authors

This template is based on the course Computational Thinking at MIT by Alan Edelman, David Sanders, Shashi Gowda and others, where the technical/visual code was written by me from the Pluto.jl team. Later, Luca Ferranti turned the course into a template format.

Really cool, congrats. I will share it with my university colleagues.

Note that this is a static webpage, so sliders will not work. Students will still be able to play with interactivity by downloading the notebook or running it on binder.

So I know this is a tough problem to solve and has been asked for many times, but people will compare this to to python where this technology is available.

edit: I missed Precompute the pluto notebooks โ€“ OPTIONAL โ€” Name of your course :slight_smile:

Yes! Julia needs WebAssembly support! Then we can bake it into any website automatically.

But indeed, right now you have the option to run a Linux server to make your sliders etc interactive. :slight_smile: It works really well!