This post was published 3 years 5 months 5 days ago and as such probably does not reflect my current opinions, knowledge or ability.With universities soon to start back, I’ve been focussing on student software a lot these past couple of weeks. First I suggested some freeware and open source software that all students will find useful. Next I looked at how Open Source software can benefit computing students and why they should try Linux. Today I’m going to suggest some Open Source software which will be particularly beneficial to computing students.
The Text Editor
You weren’t planning on writing code in Notepad were you? When a full featured IDE is too much for the task at hand, these text editors will give you all the features you need without too much bulk. Each of them lets you have multiple files open at once, has syntax highlighting and search and replace functions, and a whole lot more.
Kate (Linux)
gEdit (Linux)
Notepad++ (Windows)
The IDE
Asside from being expensive, Microsoft Visual Studio is closed source, and only runs under Windows. Whether you want something a little lighter, something tailored to your language or just something free, there’s an open source option available. Here are some great choices for a range of platforms.
Eclipse (Cross-Platform)
KDevelop (Linux)
Anjuta (Linux)
Dev-C++ (Windows)
The UML Editor
I’ve looked before at the importance of planning. UML modelling tools make it easy to put together a visual representation of a solution, and to modify it as you work.
Gaphor (Multi Platform)
ArgoUML (Multi Platform)
Umbrello (Linux)
StarUML (Windows
The Mind Mapper
Some times you need do some planning without the constraints of something formal like UML. When you just need to get ideas onto paper (or screen as the case may be), mind mapping can be ideal. These applications help you make maps quickly and easily, and unlike writing them in a notepad, they’re easy to edit later on.
Freemind (Multi Plaform)
Whilst not open source, this online tool can also be useful:
Bubbl.us (Online)
The Source Manager
Whether you’re working alone or as part of a group, losing all of your work is never fun. Source code repositories make it easy to store your code in a seperate location, access it from multiple computers, and revert to older versions when something goes wrong. Several of the IDEs I listed above have support for repositories either natively or through plugins, plus I have listed some stand alone tools below.
CVS
Tortoise CVS (Windows)
Cervisia (Linux)
Subversion
Tortoise SVN (Windows)
KDE SVN (Linux)
Git
The LiveCD
This might seem like an odd choice if you’re not normally a Linux user, however it can be a lifesaver if you experience computer problems. A Live CD can be great for rescuing data before a reinstall if Windows messes up, testing problematic hardware and of course trying out Linux without installing it to your harddrive.
Whilst these distributions might not be the most suitable for long term use, they come with great tools for emergencies.
gParted (Partitioning)
Knoppix (General Purpose)
Backtrack (Security/Pen Testing)
Over To You…
I hope you find some of the items on this list useful. If you have any other great pieces of Open Source software computing students might find beneficial, please share it in a comment below.
If you enjoyed this post, I’d encourage you to check out http://blog.padowi.se, which features an expansive overview of software which could be useful to any developer, an in particular to students.
Very nice list. One thing I would think about adding in is a Database Explorer. These can be invaluable when working with Databases, something I’m sure a computing student will find themselves doing rather frequently. One such open source program is SQL Explorer. Also a note about version control, if you commit often when your project is functioning correctly, you can easily track down where you introduced an error by diffing with the most recent revision in the repository. I have found that most VCS clients have robust diffing utilities and can be used very effectively in finding newly introduced bugs.
Thanks Bryan, I haven’t really had to work with databases for my university work (although I have done in my free time) so I never thought of adding that. I’ll look at trying a couple of examples (the only tools I’ve used are Eclipse SQL Explorer and phpMyAdmin) and adding them to the list.
Thanks for your tips on version control too.
Good tips, Bryan. Yeah, a DB Explorer would be useful. I tend to only use phpMyAdmin, though. And ya gotta love version control. Subversion (and TortoiseSVN when I’m on Windows) is my fave. I use ActiveState Komodo (not free, but well worth every penny) for my PHP IDE, and it integrates Subversion flawlessly. It also has support for CVS and Git as well, but seeing as how I never use them, I don’t know how support is for them.
Excellent suggestions as always, Hazel.
I like SciTE, a very customizable programmer’s editor that comes with properties files (syntax highlighting, etc.) for dozens of programming languages. SciTE is available for both Windows and X-windows (Unix/Linux/BSD), nice if you work cross-platform. It’s not a full IDE, because there is no debugger, but you can launch a build script from within the editor.
Thanks, I don’t use SciTE but I know a lot of people highly recommend it.
What’s wrong with gedit? … Good luck in school!
There’s nothing wrong with gedit… I have it on the list. I just prefer Kate.
And thanks!
Mind Mapper * 875 == http://mindraider.sourceforge.net/
You should check out Mind Raider its a pretty spectacular piece of software.
Thanks again Bryan, that does look pretty cool.