Money can be tight, especially if you are just coming out of school. Pursuing a degree in one of the STEM subjects might be a great investment in the future but investments usually won’t pay off until a significant amount of time has passed. In this article I will present you free software that you can use to get your degree without spending insane amounts of money on licenses and subscriptions. Important note: All items on this list are Linux compatible, as having a free operating system already saves a lot of money. However, most of it is cross-platform and can run on Mac- and Windows systems as well.
The obvious choice when it comes to free operating systems is Linux. There are several variations of Linux, called distributions (or short: distros). While these distributions share a lot of the same core components, choosing the right one is essential. I recommend Ubuntu, as it has a large community, frequent updates and is generally very easy to use. Ubuntu is very easy to install and comes with many preinstalled programs for everyday application. Other excellent options are Mint and elementary.
Office and Communication
No matter the field, chances are that you have to use a quick and simple word processor or presentation software at some point. Libreoffice is a full office suite for free. You can use it to write documents, perform table calculations, draw, create presentations and much more. Apart from being completely free, it is also extensible and receives frequent updates.
At one point or another you will probably have to write a piece of software in your MINT courses. Writing software can be done by using an editor or integrated development environment (IDE). There are many factors when it comes to choosing the tool for you, but you can rarely go wrong with eclipse. Along with support for multiple programming languages, eclipse also has great debug- and profiling capabilities. Again, the support is outstanding due to it’s huge community. Netbeans and QtCreator are also worth checking out.
If you do not need a complete IDE then a text editor might just be enough. Linux comes with Vi preinstalled. Vi , Vi improved – Vim and Emacs have been around forever. They are lightweight but yet powerful. Be aware that there is a steep learning curve to each of them and even simple tasks like navigating your cursor may need practicing.
Somewhere in between editors and IDEs is Visual Studio Code. Developed by Microsoft, this program is mainly used for text editing but does help you programming by multi-language support, syntax highlighting, debug interfaces and many more features. Lastly, there is Sublime Text. Another one of the newer editors aimed to make programming easier. It is in many aspects comparable to Visual Studio Code and the choice between them ultimately comes down to personal preference.
Simulation and Calculation
Chances are that you will stumble on Mathematica during your studies. Many consider it as the holy grail of computer assisted calculus. However, looking at their pricing, you might want to look for free alternatives (which is a nice way of saying: you can only afford one, the license or food).
Scilab, on the other hand, is free of charge. It is capable to perform symbolic and numerical math, plot data in two and three dimensions and much more. While it may not tick all the boxes of Mathematica, it is a valid alternative.
When it comes to simulations, I can recommend:
- Logisim – Designing and testing Digital Logic Circuits (DLCs)
- CORE – Emulating networks with ligshtweight Virtual Machines (VMs). Setting it up can be a bit difficult but is clearly worth it to understand what you get taught about networks and communications.
- NgSpice – Mixed level/Mixed Signal electronics simulation
Assignments and Reports
LaTeX is still the undisputed go-to when it comes to writing assignments, reports and papers. Installing LaTeX with the Ubuntu package manager is very easy
sudo apt-get install texlive-full texlive-science texlive-extra-utils
Managing citations and creating a bibliography is easy with Zotero. It also comes with a Firefox plugin to directly save whatever paper/website you find online to your bibliography. You can also create an online account to store your bibliography centrally on Zotero servers and access them from anywhere.
Graphics and Plotting
GIMP is your friend on Linux, it is extremely powerful and often compared to Adobe Photoshop. It supports all the basic functionalities for picture manipulation and artwork creation. The only downside is that “easy” tasks can be quite complex. For drawing simple shapes or diagrams I therefore prefer Inkscape or draw.io. While draw.io can be accessed on the web without any sort of registration or download, you can also install it as offline-version. Its capabilities are vast and I also use it to create wireframes and info graphics.
Plotting can be done perfectly fine with the aforementioned Scilab or Gnuplot. Both being able to create 2D- and 3D-plots that may be customized and plotted directly from your raw data files.
Another option I want to mention is yEd. I like it because you can easily create diagrams for your Software Engineering classes (like UML-, Activity- and Flow diagrams).