Welcome to OpenSourceCourse (OSC)!

OSC is a collection of education material to help engineering/science students improve their software development skills. Each course is designed to be taught in-person.

Current courses are:

Course Structure

The OpenSourceCourse github organization is home to all course content. Each course is organized into modules (on the left menu bar). Each module contains three components:


The overview gives a short introduction to the topic and motivation. Before each module is presented in class, you should review the overview, including the links in the reading sections (but feel free to skip additional resources). This doesn’t mean you need to understand everything in the reading, but do come to class with well-formed questions.


The slides contain the material that will be presented in class. You can look them over before class but this is not required. Notice that most slides progress from left to right using keyboard arrow keys or mouse clicks on the navigation icon, but some slides have horizontal, or grid, navigation features.


The exercises are to be done after a module is presented in class. They will help you internalize the concepts and develop the applicable skills. Although they are not difficult or time-consuming, please do treat them seriously. Each exercise should take between 30 minutes to 3 hours.

You will find links to start each exercise and due dates on the student discussion board.


Each course has a final project to integrate and demonstrate the skills learned in the course.


You should start by creating a github account, if you don’t already have one. Then, you sign up for a course by joining the student team of the OSC organization. Next, follow the setup guide.

Getting Help

Office hours for the instructors of each course will be posted in the corresponding discussion board.


If you notice any ways to improve the content of OSC please do it! Each page on the website has an “edit in GitHub” button, or a github icon, which you can click on to make quick pull requests in your browser. The slides have a “source” hyperlink at the bottom which you can click for a similar effect.

You can also find all the template directories for the assignments on the github org. Feel free to open PRs there as well.