Instructor: Dr. Igor Steinmacher
Email: Igor.Steinmacher@nau.edu
Office Hours: TuTh 09:30AM – 11:20AM; Room 090-115. I also welcome and encourage students to schedule appointments in different hours.
SLACK: Please hangout, discuss, create channels for specific groups and issues. Click here to join the course Slack
Please, list your group in the group page. Do it by changing it and submitting a pull request.
The main book for this course is:
- FOGEL, Karl. Producing Open Source Software. O'Reilly. Available online: http://producingoss.com (Creative Commons)
Class outline
Assignment list
Papers for Essays (extras) and discussions
Topics for short talks
Groups (List your group here)
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.
Upon successful completion of this course, students will be able to demonstrate the following advanced competencies:
- LO1: understand how a team interact and collaborate to develop a software;
- LO2: differentiate between open source and closed source software;
- LO3: use version control system and issue tracker as development tools;
- LO4: evaluate and review code contributions;
- LO5: understand intellectual property rights, licensing, and the implications of using open source;
- LO6: build solutions and fixes in order to contribute to a project with legacy code;
- LO7: participate in an OSS community, contributing code;
- LO8: understand open source project management.