|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.
|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.
|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.
|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.
|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.
|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.
|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.
|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 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 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.
|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.
|OLPC and Sugar Lab|
|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.
|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).
|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.