Setting Up Coding Environments on Linux for Educational Use

With so many strong attributes, such as robustness and flexibility, Linux stands as a powerful platform for teaching coding among many other educational purposes. So this guide is meant to help educators and students set up a suitable coding environment when they are on this journey of learning to program.

Step 1: Choose the Appropriate Distribution of Linux

The first thing needed is choosing a suitable distribution of Linux. For novices, it is Ubuntu or Linux Mint, as these two can be user-intuitive and include many documented features and options. Some other users more advanced may incline towards Fedora or Debian for the vastness of packages and community support. If you want a comprehensive course for children programming that can work with these distributions, Codemonkey offers quite a few interactive coding courses.

Step 2: Install Required Software

Once the Linux system runs on your computer, you are supposed to install software in order to be able to code. Essential tools include:

Text Editors: Using Atom, Visual Studio Code, or Sublime Text for writing out code.

Compilers/Interpreters: If you’re going to teach a programming language, then just install Python, GCC for C/C++, or JDK for Java.

Version Control Systems: Git for tracking changes in code and enabling collaborative development.

Step 3: Setting up a Development Environment

Configure the environment post installation of the required software.

Customize the IDE: Most IDEs, and text editors, for that matter, will support the ability to easily change settings. Make slight changes to the settings to fit your educational needs, such as setting up auto-save, and enabling line numbering and syntax highlighting.

Install Extensions: Extend the functionality of VS Code to include linters, code formatters, and debuggers.

Create a Project Template – You can create project templates for subjects that students may use to jumpstart their assignments.

Step 4: Using Learning Tools

Think about including instructional and collaboration tools:

  • Code Sharing Platforms: Use tools such as GitHub Classroom to be able to distribute assignments and collect student submissions.
  • Interactive Learning Environments: Jupyter Notebook is a really good platform to write Python since you are able to see code and output in real time.

Step 5: Ensure Accessibility and Security

It ensures that every student is provided with the necessary resources for their needs.

Accessibility: Configure accessibility options available in Linux to accommodate all students.

Security: Install a firewall and regularly update to prevent unauthorized access to the systems.

Step 6: Documentation and Additional Support

Finally, give resources that can enable the learner to self-study:

  • Write Documentation: Provide tutorials or links to online tutorials, on tools and languages you are teaching.
  • Support Offered: Providing forums or chat groups where students can ask questions and help one another.

Final thoughts

Setting up a Linux-based educational coding environment first requires making extensive plans on all the necessary tools and resources and then going ahead to implement the laid plan. Through these steps, instructors can create a stable and effective environment in which their students can learn.

Use Sublime Text On Ubuntu (And Derivatives)

Sublime Text is a proprietary, closed-source, paid application with a free version that has most of the paid features. It’s a pretty solid text editor and it’s worth taking a look at it.

I covered my favorite text editors and Sublime Text got a mention, even though it isn’t in my top 3. It’s actually a very capable text editor, it’s just not in my top 3 list. I don’t have to be the target audience to recognize its potential! It’s great to expose folks to the application. Choice is a good thing and it could be in your top 3 list.

It has a great ‘find in files’ feature that works well and I’ll sometimes start the application just for that. Being able to find (and replace) text across multiple files in a graphical way is pretty great. They’re not alone in that feature, it just works well in Sublime.

In fact, Sublime Text has a tagline that reads:

Text Editing, Done Right

And, they’re not wrong. There are all sorts of ways to be right, as there are as many preferences for text editors as there are text editor users. Here, they’ve been making and selling Sublime Text for 13+ years and have loaded the application up with a ton of features.

And, indeed, there are a lot of features – from multi-tab select, to ‘context-aware’ autocomplete, to GPU rendering, to macros, projects, and more. It’s definitely aimed at programmers who work with large amounts of text.

While I could try to enumerate the many features and benefits, you can just try them for yourself. It’s a time-limited trial, but the application keeps working beyond the trial date. You can continue using it, or you can pay for it.

Install Sublime Text:

When installing Sublime Text in the past, I’ve come across convoluted methods to install it. The reality is that it’s just three (maybe four) commands. You don’t need to install a bunch of prerequisites. There’s no need to install other things to get it to work, it’s a fairly normal installation.

Note: This installs the ‘free trial’ version. It works wonderfully. At the end of the free trial, it’ll happily continue to work with most features still intact. There’s no ‘need’ to pay for the software. However, many people have found it useful enough to pay for it.

Let’s press CTRL + ALT + T to open the terminal and get Sublime Text installed! Remember, if you don’t like it, you can just as easily remove it.

If it’s not obvious, copy each line, paste it into the terminal, press ENTER, and make sure to pay attention to any outputs so that you can act on them. I don’t anticipate any trouble, but you can leave a comment if need help. You can also ask at (I’m a moderator) Linux.org if you get stuck.

Properly installed, it’ll look a little something like this:

sublime text finding text in files
Sublime Text being used to find a phrase in multiple files. It’s a great feature.

You may not need to run the sudo apt update from above. The system may automatically update the database after the repository is added. The other commands are probably all you need. It’s nothing convoluted and it “Just Works!®” Well, it just worked with a few local tests. It’s also worth installing this way to make sure that that Sublime Text gets updated with the rest of the system.

Closure:

And that’s it. Open Sublime Text from the GUI menu, probably entered under “Programming.” If you want to see the text information in your terminal that you already have open, it’s called ‘subl’. So, try subl -h to see what command line options you have. 

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

You Can, And Probably Should, Use VSCodium Instead Of VSCode

This article’s goal is to raise awareness of VSCodium, an open-source alternative to VSCode that has a couple of important benefits and changes. This isn’t the kind of article that I usually write, but it seems important to make people aware of the choices they have here.

This isn’t really a software review, nor is it really news. After all, if you’re in the business you’re already aware of VSCode (Visual Studio Code) and the benefits. If you’re not in the business, VSCode is a source code editor that comes with a bunch of features that make a programmer’s life easier.

VSCode is quite popular, made by Microsoft, and is available to Linux users. Microsoft has made VSCode’s source code mostly open (but not necessarily ‘free’) and VSCode is free-as-in-beer for anyone who wants a source code editor. It’s popular because it’s actually pretty good. 

It was released back in 2015, with most of the source code covered by the MIT license. In the 2019 SE Dev Survey results, it was #1 among respondents, which was the most recent I could actually find. By most accounts, it’s a great piece of software and a valuable tool.

Why VSCodium:

Not all of VSCode is open source and it’s only free as in beer. The source isn’t free as in libre, because it doesn’t preserve all freedoms. It also comes with telemetry, meaning that it reports on things like how you use the software, what software you’re using with it, what kind of hardware you’re using, and things like that. 

Many Linux users care about those two things. They want their software to have a permissive license. They don’t want their software reporting anything about them to anyone. Those are reasonable wants and the community is usually pretty good about providing alternatives.

In this case, they’ve changed the way it is compiled, and what is compiled with it. They’ve also packaged it for most operating systems out there. They’ve made a package available that’s entirely licensed under the MIT License (permissive, free) and made it easy to get.

I’m not going to duplicate a bunch of information by cutting and pasting. That’s also a good practice when the content may change, so I’ll just link to a couple of pages.

Visit the VSCodium home page, click here.
Visit the VSCodium code repo page, click here.

To get a feel for the project, and to see the vast amounts of effort the maintainers put into it, visit the first link. If you just want to find the right package to get for your system, click the second link. Those links will help you get VSCodium properly installed, usually in a pretty painless fashion. Worst case scenario, they show you how to compile it and how to make your own packages.

It’s so easy to install that I did so just to have access to it on this system, one I mostly only use for writing and browsing. It took a total of three commands. If you’ve done it properly, it’ll look something like this:

VSCodium's about page
That’s the current version, using the PPA method. It was an easy-enough process.

Just follow the installation instructions for your particular version of Linux and you shouldn’t have any issues. If you do, you can always raise issues at their GitHub link, leave a comment here, or drop us a line at Linux.org. Someone will help get you sorted.

By using VSCodium, you can have all the greatness that is VSCode while preserving the important liberties. It’s a great piece of software!

Closure:

This isn’t my “normal” type of article, but I’ve really wanted to make sure people are aware of the options when it comes to VSCode and VSCodium. This is one of those times when you can have your cake and eat it to. 

By the way, there are all sorts of great pieces of software out there. I’ve written a review, an introduction, and some comparative pieces. I think I may do more of them. They take about the same amount of time to write and edit, but there are some great pieces of software out there and people just aren’t aware of them. Feel free to drop an idea or the name of your favorite software as a comment. If you like these types of article, be sure to vote and comment!

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.