Ryan James


April 12, 2020

Welcome to

Imagine a resource that allows for 50+ programming languages, collaborative environments for group programming, implementation of git, runs on any internet connected device, and is free. Yeah that can’t be true can it? But, it is true and it’s called Repl which is found at Repl can be used for just about any computer science class and has proven to be a go to resource for programming outside of the classroom environment. So, here we go with my favorite features about Repl.

Programming options are probably the number one feature – whether you’re teaching Python, Java, web design with HTML and CSS, web development with Javascript or a Flask backend, or if you want to teach something not as modern – its there. Repl supports both scripted and compiled languages which is pretty awesome. With an account you can save your projects which are referred to as ‘repls’ and then upload or download your code to switch it out however you see fit. Each programming environment has its own IDE in the browser that comes with a console window and for GUI based outputs a GUI window is also shown. All the programming is running in the browser which makes the code run almost as fast as if you were writing the code on an IDE on your computer. Collaboration is crucial in any big projects these days with programming and its one of the best skills to teach students. Repl has a few different options to encourage collaboration and make it easier for users. First, there is a share button that users can use that will create a URL for the current project. This will make it so that the recipient of the link can go view the code and run it in a browser. Also for supported software apps, this link will embed the project as a widget and the code can be ran in that app (Microsoft Onenote works great for this). The next level of this would be the fork button. This is how Repl has integrated some of the concepts of git into their website. A user can fork any public repl into their account and then make what changes they want to it similar to forking a git repository. Probably the most integrated collaboration tool is the invite feature. A user can invite multiple users to their project and the users can all work on the same code at the same time. In addition to this, a chat feature is enabled when a project has multiple users. This is my favorite collaboration tool to use when helping students outside of the classroom. They can invite you as a teacher and you can see exactly where their errors are and either fix the code for them or send them a message to which line number the problem is on – and no e-mail is required.

What else can this website do for you? There are more features than we’ve discussed like private repls, creating a classroom with assignments and projects, and creating test cases for programming activities. In most programming environments, there are usually specific IDEs or software that need to be installed for the user to get started in programming that language, with that is no longer a requirement. I still think its valuable for students and users to understand how an IDE works (check out VS Code – its my favorite), but to get code to students and from students to help them understand the programming language first and technology second – is the answer.