Introduction to Tools and Techniques in Computer Science

Introduction

Franklin Bristow

Right now building a program doesn’t really seem like a hard problem: you hit the Compile and/or Run buttons (whatever they look like for you), your program runs and does stuff 🎉.

When your program consists of a single file, it can and should be that easy to build your code. But as the size of your code grows beyond one single file, building your program can become difficult and tedious. We’re going to spend some time looking at tools for building software from source code, and look at building source code for different programming languages.

As your programs grow in complexity, you’re also going to want to rely on source code and programs that have been developed by other people. We’ll take a look at some approaches to downloading and using third-party libraries of code that aren’t included as part of the language itself (I’m looking at you incredibly huge JDK!).

Languages

This isn’t a programming course™.

While this isn’t a programming course, we’re kind of required to look at these topics in the context of programming languages:

  • Installing dependencies with Python.
  • Using make with C (but also other stuff).
  • Build and dependency management with Maven and Java.

While you almost certainly know some dialect of Java, the examples we’re going through are less about knowing the language, and more about knowing how to get a program already written in that language up and running.