Many teachers have found that getting a solid coding environment at their schools can be a frustrating experience. Sometimes you face roadblocks from the Information Technology department who are reluctant to install the compilers, editors, or more complex integrated development environments (IDEs) on computers. Security concerns may prevent certain programs from running correctly as student user accounts are barred from modifying application configuration files or installing updates.
There are schools that are moving to provide Chromebooks with the intention of having all classes use these devices. I really like my Chromebook, but I would never rely on one for programming. I would not want to use my iPad for coding either, even if it was equipped with a keyboard.
Your students will likely want to write some programs on their home computers. While many will install software by themselves, some may want the convenience of cloud based IDEs. With their own accounts, they would be guaranteed access to their files anywhere. This may be really important on a shared computer or in a public space like the school library.
I stumbled onto Repl.it several years ago when I was teaching Python to my CSP classroom. My students would send me their programs via email and I wanted an easier way to grade their work. I could certainly save their code locally and run the programs but this took time and threatened to clog up my computer with dozens of files. This also resulted in the confusion of dealing with programs with exactly the same name. I did not want to overwrite DistanceFormula.py submitted by “John” with DistanceFormula.py submitted by “Christine.”
My solution was to use a copy and paste function to drop each submitted program into a Repl.it window and run the program within my browser. I could immediately identify syntax errors and send relevant feedback to my students. With the programs that calculated the distance between two (X,Y) coordinate pairs, I would use the same values and check if the programs were getting consistent results. This allowed me to spot logic errors, such as code that compiled and ran yet did not perform calculations properly.
There are a growing number of similar environments available that may be great for your own environment. I am currently taking a course in Java from The College of St. Scholastica for a graduate certificate in Computer Science Teaching. When I am home, I can write my code with JGrasp or BlueJ on my Linux desktop. At my school, I must rely on iMac computers that are available in the library or teacher workrooms. None of these machines will permit the installation of software by users. Since one of my assignments was to investigate alternative IDEs, I decided to look to strictly online options.
Browxy Main Screen
Information on using the service is provided from their dedicated YouTube channel.
This service provides 3GB of free storage for projects. There are enterprise solutions available to enable teams of developers to work collaboratively on projects. Tyler Jewel is the CEO of Codenvy. Here is an excerpt of what he wrote about his product in response to a question on Quora:
“Eclipse Che and Codenvy are the leading - and really only - contenders in this segment. Both products were authored primarily in Java and intended to create an open source alternative to IntelliJ. Eclipse Che is the next-generation Eclipse IDE from the Eclipse Foundation. Che provides a new kind of workspace composed of projects and runtimes. Workspaces are virtualized, making them portable to any location -you can actually move your workspace to different locations. Within the workspace, Che runs agents that provide plug-in and intelliSense. For Java, this includes 200 forms of intelliSense, including proposals, refactoring, jump to definition, find usages, and so on. There is a built-in remote debugger, code outline, plugins for maven + ant, multi-module support, and multi-project support. The project tree navigation is package-sensitive along with providing drill-in and drill-out abilities.”
Codenvy provides hosted versions of Che for programmers to use. It’s free for 20 hours each month. There are some ample user guides and documentation available on the website. This product is geared towards the professional developer and system administrator. The complexity of the interface may not make it an ideal solution for the beginner programmer.
As I wrote in an earlier blog, I had my students using SSH to connect to a Linux server. While this worked great for text based coding, it was unable to support graphics. My students were able to apply what they knew about loops and subroutines to Turtle based drawing programming. For my first assignment, I tasked my students with replicating the Olympics logo.
By copying and pasting their code into the left-hand window, I could easily check how well they were able to recreate the logo.
Trinket allows users to have a free account on their servers. Schools can establish premium accounts that provide more flexibility and dedicated support. There are also courses that you can access on their site. For example, it may be really helpful for your students to complete the exercises in this Getting Started with Python tutorial.
This blog is by no means an exhaustive list of every cloud based coding option that is available. Many of the website IDEs have free account options that are worth exploring. I would be happy to learn what other teachers have been using in their classrooms.
Neil Plotnick (firstname.lastname@example.org) works at Everett High School, an urban district located just north of Boston. In 2015, he was a recipient of the Presidential Award for Excellence for Math and Science Teaching (PAEMST). He has taught Exploring Computer Science and was a pilot site for the AP Computer Science Principles course developed by Code.org during the 2015-16 academic year.