All Classes

Class Name Institution Term Pre-requisites Description Tags
CIS-399 Open Source Software University of Pennsylvania Fall 2016

Free and open-source software (FOSS) has evolved into an important model of development in the software industry. This course exposes students to the cultural, technical, and legal aspects of FOSS development and provides students with an opportunity to work on a real-world open-source software project, and gain experience in software maintenance and enhancing software quality.

The course also covers topics such as: the need for and benefits of free and open-source software; open-source licensing and business models; intellectual property; and humanitarian free and open-source software (HFOSS).

CMPS-107 Open Source Programming UC Santa Cruz Winter 2017

Open Source projects produce some of the most utilized and critical software ever deployed, but joining a high profile project can be daunting since its organization can be difficult to navigate, requiring familiarity with its rules and history. In addition, Open Source projects often put developers in close contact with end users, and successful participation typically requires the programmer to take an active role in ongoing maintenance. This course will teach a student how to participate in a demanding and dynamic Open Source project.

Programming
COMP 412: Free/Open Source Computing Loyola University Chicago Fall 2014 Data Structures

This is a seminar for those who want to learn about Free and Open Source Software. This course is a mix of philosophy, system configuration/installation, software development/hacking, and computer science.

The course is run as a seminar, so you should assume that there is much self-directed effort required in this course. There will be lectures; however, the lectures are designed to be general and motivate student project work, which is a required component of the course (40% of your grade).In this summer offering, there are Monday and Wednesday lectures. The general plan is for there to be lecture on Mondays and guest speakers/group work on Wednesdays. Teamwork is required as part of this summer work. FOSS is all about community and working with others to get stuff done. If you don’t enjoy teamwork and collaborating with others, this course is not recommended for you.

COMP8440 Free and Open Source Software Development Australian National University Spring 2016 ?

This graduate course provides an overview of the historical and modern context and operation of free and open source software (FOSS) communities and associated software projects. The practical objective of the course is to teach students how they can begin to participate in a FOSS project in order to contribute to and improve aspects of the software that they feel are wrong. Students will learn some important FOSS tools and techniques for contributing to projects and how to set up their own FOSS projects.

Tux Paint
Computer Science Senior Seminar Dickinson College Fall 2017-Spring 2018 Senior Standing

Students define and begin a year-long project. Written and oral presentation of project progress reports will be required. Contemporary social, ethical, technical and philosophical issues in computer science will also be examined. Culminating in a written thesis and public presentation, additional contemporary issues in computer science may be considered.

CS 410 TOP- Open Source Development in the Unix Environment Portland State University Current? Software Engineering course such as CS 300. Fluency in a programming language and experience with UNIX.

This course explores Open Source software engineering for UNIX-like operating systems, especially in comparison to and contrast with traditional/industrial approaches. The focus of the course will be the development and delivery of Open Source software projects for Linux by teams of 1-3 students. Class time will be spent largely in supervised lab work in the Intel Linux Laboratory. Students will be expected to interact with the instructor and each other, prepare and present material, and work effectively using email and the web.

CS 461/561 Open Source Software Development Portland State University Summer 2016 CS-300 Elements of Software Engineering

This course explores Open Source software engineering and its methodologies in a laboratory classroom setting. The focus of the course is the development and delivery of Open Source software projects by teams of 1-3 students. Students prepare and present material, working using email and the web.

CS 464 Open Source Software Development Oregon State University Winter 2017 Data Structures

Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects, and gives students an opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.

CS 490 - Software Engineering Western New England University Fall 2014 Senior status, Data Structures

In this course, we’ll be studying the issues involved in developing large-scale software systems. We will cover the software lifecycle and touch on software management. Since many aspects of software engineering are best aprehended through hands-on experience, we will be using a team project to apply what we’re learning. The team project will involve contributing to a Humantiarian Free and Open Source Software (HFOSS) project. In addition, you will write a paper on your learning which counts for a 400-level Learning Beyond the Classroom Experience.

HFOSS
CS 5152 - Open-Source Software Engineering Cornell Spring 2017 ?

Each student will work in a team on an established code base from an active open-source project using the guidance of an industry mentor from that project.

Teams and projects will be decided before the semester begins. The Kickoff Hackathon, sponsored by Facebook, will kick off the projects by putting students in face-to-face contact with their project mentors from industry. All students are required to attend.

CSCI 4961 Introduction to Open Source Rensselaer Polytechnic Institute Summer 2018

Familiarize with open source software development, be familiar and eager to learn new technology stacks, Reading and Understanding Good Code. Patch an existing open source project. Work on a team collaborative project. Become aware of/conversant in team project and diversity issues. Prepare a new RCOS project for the following semester.

The goal of this course is to provide a strong foundation in open source software development in preparation for jobs in industry or for more advanced courses.
– Understanding of Open Source Software Tools and Community.
– Understanding of Open Source Licensing.
– Understanding of Testing, Version Control.
– Understanding of Open Source Software Stack.

Free and Open-Source Sofware Course Technical University of Munich Any ?

This is a template for building your own open-source course. The repository provides a university course template to teach about Free and Open-Source Software (FOSS). The course is broadly structured as follows:

1. Initial phase: kick-off event for interested students. Advertise the course at your faculty and ask students to submit a letter of motivation.

2. Select students and plan the semester. Send selected students an e-mail to select a project. Get in touch with guest speakers.

3. Start of the semester, theory part (3-4 weeks): students will learn and discuss theoretical aspects of FOSS .

4. Preliminary report: students submit a preliminary report about their community of choice and hold a brief presentation.

5. Practical part (~12 weeks): students will contribute to their project of choice. They meet bi-weekly with their supervisors to report on their progress and problems.

6. Final report: students submit their final report, reflecting on their experiences and hold a brief presentation.

Moreover, we highly recommend to invite guest speakers from industry and academia to supplement the course content. You should evenly schedule them throughout the practical part of the course. This way, there’s a regular place for students to meet and discuss their experiences.

course template
GA.2246 Open Source Tools New York University Spring 2017 understanding of modern operating systems and a working knowledge of a programming language such as C, C++ or Java

This course covers a brief history and philosophy of open source software, followed by an in-depth look at open source tools intended for developers. In particular, we will present an overview of the Linux operating system, command line tools (find, grep, sed), programming tools (GIT, Eclipse, DTrace), web and database tools (Apache, MySQL), and system administration tools. We will also cover scripting languages such as shell and Python.

IGME-582 Humanitarian Free/Open Source Software Development Rochester Institute of Technology (RIT) Current Third year standing (RIT is a 5-year coop school)

This course will introduce students to the Free and Open Source Software (FOSS) and Open Content movements, to the open source development process, and to the open questions of the efficacy of technology in the classroom.

Students will learn FOSS process and Tools with class projects that support the One Laptop Per Child community by creating content and software for free distribution to students and teachers around the world. The OLPC project is driven by a world-wide community–one that students in HFOSS will become part of.

See also https://fossrit.github.io ongoing updates about the various facets of FOSS work at RIT.

OLPC and Sugar Lab
Open Source Software (49-782) Carnegie Mellon University Spring 2017 ?

This class is designed to familiarize students with the state of the art in Open Source Software, and covers both technical and business aspects of open source software. On the technical side, the class covers processes and mechanisms for open source development. On the business side, the class emphasizes the impact of open source software on the software industry, including licensing and commercialization issues, corporate software evaluation techniques, and business models. Students install and use open source software (Linux, OpenOffice, Firefox, and more) exclusively.

Open Source Software Development Universidade Tecnológica Federal do Paraná, Brazil Any

This course is intended to familiarize students with the fundamentals of Open Source Software development. We aim to prepare the students for the real world, exposing them to real projects. The practical objective of the course is to teach students how to participate in an OSS project. Specific areas addressed in this course are:

Open source concepts and history;
Open source communities and forges;
Intellectual property and license;
Version control systems;
Communications tools;
Issue trackers;
Contribution to Open Source Software project.

Open Source Software Development NYU Spring 2018 Computer Systems Organization (students have to be CS majors)

This course prepares students to become active participants in open source projects. It begins with an overview of the philosophy and brief history of open source development, followed by an in-depth look at different types of open source projects and the study of various tools involved in open source development. In particular, it covers the collaborative nature of open source projects, community structure, version control systems, licensing, intellectual property, types of contributions (programming and non-programming) and the tool-chains that enable such contributions. The students are expected to contribute to existing open source projects.

OpenUK Kids Camp OpenUK Any None

First camp took place 10-31 August 2020 and will be rerun in 2021 along with a second camp in July/ August 2021 thanks to the sponsorship of Red Hat. Camp is made up of a course and ezine which are freely available to use.
OpenUK Kids Camp is a GNOME Community Challenge, Phase three finalist.

kids
Software Engineering Practicum College of Charleston Spring 2021 OO Programming; Software Analysis, Design and Engineering

This course provides hands-on experience in the practice of group-based software development. Student teams utilize development tools and techniques to implement software solutions to moderately complex problems. This project-based component provides a framework in which students gain both understanding and insight into the application of software engineering principles.

Capstone
Return to All Classes