Mu The New Python Editor in Town to Teach Programming - Read Time: 5 Mins

Introduction 

In the past when I was teaching programming to kids from age 11 - 15 or young adults, it was always a pain due to the fact that there aren't many available tools that allow ease of use with python.

The Rise of Online Editors

Firstly when you are teaching python, you need to install python which can be simple for a developer but it is quite daunting to install. 

Depending on the operating system be it a Mac, Windows or Linux there are always hiccups in installing it from weird errors to different versions of python. This leads to a lot of time lost just to install python on a student machine. 

Fortunately, with the rise of online code editors like Repl, CodeSandbox, Jupyter Notebook. It has helped a bit in skipping the issue with the problem above.

Problem with Editors

The other problem lies with the choice of editors. When your teaching beginners who are learning to program for the first time or has graduated from visual programming languages like Scratch or Blockly

Most code editors come in two variant, the first one is the minimalist approach which is pure text-based like IDLE that is bundled with Python.

Which is not really beginner friendly to use and lacks certain critical features like zoom in and out button. Which are really useful in presenting code to a class of students.

The other approach is professional specific that is like PyCharm or Jupyter notebook

These editors or what we call integrated development environments or IDE for short is not really useful for a beginner due to the amount of visual clutter and features that could be a turn off for beginners when they are just starting.

What is Mu?

To address the above two problems, Mu is the new python editor for teaching python to beginners created by people who had worked on BBC Microbit editor over a Sunday with support from the Raspberry Pi foundation. 

They had created Mu, based upon feedback from learners and teachers of the Raspberry Pi foundation.

I had stumbled across it when I was listening to an episode of  "Talk Python To Me" interviewing the creator of Mu.

How can Mu help in teaching Programming for Beginners?

Besides the problems that are addressed above, Mu has a minimalist user interface that is useful for beginners.

Mu has many useful features that help in teaching python programming. Like the checker button that gives a beginner a faster feedback loop, without the assistance of a teacher.

On what is wrong with their code through helpful suggestions and easy to understand error messages.

The visual debugger is useful for debugging purposes that can be founded in most professional IDEs that allows the student to look at what is wrong with their code in a line by line code execution.

Lastly, the plotter a line chart which is useful when interacting with sensors or working numeric values to visualise data on a chart.

Visual Play With Game Development and Electronics

Mu has support with a wide variety of microcontrollers like BBC Microbit, Raspberry Pi and Adafruit Boards for electronic or robotics projects.

Besides that game development is possible as well through one of Mu's mode for PyGame Zero. A game development library without boilerplate code to create python games.

Conclusion

My initial impression after playing around with the Mu has made me realised that this is a wonderful editor to teach python programming to a beginner.

As it reduces the over-reliance on teachers and assistants to help students in overcoming the stumbling blocks of programming for the first time through the use of both checker and the visual debugger.

With its ease of use and integration with microcontrollers that is comparable with Arduino. 

In terms of burning the python codes into the microcontrollers without multiple steps can be a godsend for teachers and learners.

Lastly, Mu can be run from a thumbdrive which is useful for both students who want to practice on their own or teachers who are working in a school environment with restricted access to install programs on computer.

Teaching with BBC Microbit

https://talkpython.fm/episodes/show/184/teaching-python-with-bbc-micro-bit

Lesson Observation

https://madewith.mu/mu/users/2018/11/02/lesson-observation.html

Portable Mu

https://codewith.mu/en/howto/use_portamu