As a teacher of Computer Science I’ve always looked for ways to remove barriers to learning and make the curriculum more accessible. One of the biggest hurdles to this has been the complex nature of managing the installation and use of IDEs (Integrated Development Environments) to teach computer programming. Without a burning passion for the subject, you can forget getting a young person to download something like Microsoft Visual Studio or Eclipse at home.

A few years ago, whilst looking for a solution to my concerns I switched to to teach computer programming with the language Python. is an online development environment which is completely browser based and requires no software installations on the user’s device. It is device and operating system agnostic, so it will work on desktops, laptops, mobile and tablet devices.

An example of the programming interface (Python 3.8)

An example of the programming interface (Python 3.8)

Over this period, I have transitioned from using to teach software design, to using to teach all practical elements of the course with support for creating rich web content using HTML, CSS and JavaScript and interrogating databases using SQLite. Students can easily share these projects with each other and with me. There are even tools to allow students to work together on the same project, allowing for latency free peer programming through’s “multiplayer” feature. provides tools for assessment, through their Assignments tool which provides the student with a set of instructions, a pre-populated piece of code as a starting point and a console window. The student can then submit the assignment to the teacher for written feedback and receives a notification when this is sent to them. assignments also allow for test conditions to be set to provide some level of instant feedback to the student.



An example of an assignment in showing student code, instructions, console and feedback area.

This has enabled my students and I to make a smooth transition from classroom teaching to remote learning for National 5 and Higher Computing Science during the COVID-19 lockdown. Although using online tools for home learning has always been a part of my pedagogical practice at this school, I’ve adapted my methods slightly. At Speyside High School, learners are currently using a combination of Google Classroom, Scholar, and YouTube videos that I have created to begin their new Senior Phase courses.

To create learning materials, I am using OBS Studio to capture my screen and webcam, which means I am then able to explain concepts to the students as if I was teaching a class and seamlessly flip between my course material and my live coding environment on

The tools mentioned in this blogpost are all free to use for teachers. can be found at
OBS Studio can be found at

Marc McWhirter
PT Computing & Technical / Speyside High School

Speyside High @speysiderector


Leave a Reply

Your email address will not be published. Required fields are marked *