Software Development Tools

In this section, we discus a variety o tools commonly used in software development. Some of these notes cover tools used in specific classes I teach, other sections cover tools you should know how to use before you go job shopping after you graduate!

Source Code Control Tools

Real deveopers will not write a line of code without making sure they have a solid way to keep track of their project as they work. In today’s development world, the most popular tool to use for maniging your project is Git. I have used Git to manage my development work for many years!

In several of my classes, I also use a server that will let you keep a copy of your project code in a safe place. The server I use is called GitHub and it supports millions of publicly visible open-source projects. GitHub also has a nice feature called GitHub Classroom``, which I use in classes. Work managed under this system are not publicly visible, but are kept private.

I recommend that you set up a GitHUb account for your own use. Work on projects that you are interested, and post our code on this system. THis will become your portfolio, and may well hep you land a good job later.


Under no circumstances should you post school work on a ublic server. You might think that is fine, but you do not want the person next in line looking for a job to have gotten a good grade by copying your work.

On the other hand, your grades alone will not get you a job. Wat you can demonstrate you can really do will get you that job!

Build Tools

If you never leave an IDE in your development work you may not really know how your program gets put together by that system. Not knowing what is really going on is a mistake. I use a tool that has been around for decades to manage my development work (and not just programming work). That tool is Make and you should know somethng about this tool as well.

Programming Languages

In this section we look at several tools used in writing programs in specific languages.


There are a variety of tools that will hep you build a C/C++ program. In most beginning classes you will use a basic Integrated Development Environment which managed building your program for you, and gives you a nice graphical place to work on your code. Unfortunately, many of these tools only work on one system (like Windows), so you may have to use a different IDE if you own a Mac, or work with Linux.

Here are the common tools we use now.