|Material Type||Title||Overview||Courses||FOSS Area||Tags||Source|
|Reference||Producing Open Source Software||
Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software. The book is released under an open copyright. You can buy it in bookstores, order copies from O’Reilly Media, or browse and download it here.
|Project Management, Software Engineering & Process||Coding & Style, Culture/Intellectual Property, Documentation, Philosophy/Politics, Product Packaging & Distribution, Quality & Testing, Specification & Design, Tools & Communication||Karl Fogel|
|NYU Open Source Tools||Software Engineering & Process||Culture/Intellectual Property, Specification & Design|
|Learning Activity||OpenMRS Design Reverse Engineering Activity (Android App)||
Expose student to the OpenMRS Android client and have them reverse engineer the design of the module.
|CS1/CS2/Data Structures, Software Engineering & Process||Specification & Design||Android, OpenMRS,||foss2serve.org|
|PSU – Open Source Software Development (Summer 2016)||Software Engineering & Process||Specification & Design, Tools & Communication|
|UPenn – Open Source Software (Fall 2016)||Software Engineering & Process||Specification & Design|
|WNE Software Engineering (Fall 2014)||Software Engineering & Process||Specification & Design||HFOSS,|
|Learning Activity||Propose a New Feature||
In this activity, students will analyze a project to identify a new feature to implement. They will document and propose this new feature to the community. To do so, they will need to learn and follow the coding and communication practices of the project community.
|CS0/Non-majors, Software Engineering & Process||Specification & Design||bug report,||foss2serve.org|
|Learning Activity||Requirements Analysis||
Students will read about software requirements, delve into open source requirements tracking tools in the ManageIQ community (cloud computing), and explain a timeline of how a requirement progressed across the life of a particular feature.
|Software Engineering & Process||Specification & Design||ManageIQ, requirements,||foss2serve.org|
|Learning Activity||Software Design Architecture Comparison||
Students will learn how to introduce themselves to new and foreign open source communities by researching existing software design documents and resources in two large and popular open source projects. Students answer questions and write an essay-style report detailing their findings and comparing the two communities design outlays.
|Software Engineering & Process, System Architecture & Administration||Coding & Style, Specification & Design||design, software architecture,||foss2serve.org|
|Learning Activity||Test Driven Development||
Students will follow and implement a beginner level java-based Test Driven Development (TDD) approach with JUnit in the Eclipse IDE. First, they create a test case that fails, then they start creating mock code, and finally a simple piece of code that allows their test to pass.
|CS1/CS2/Data Structures||Coding & Style, Quality & Testing, Specification & Design, Tools & Communication||Eclipse, Java, JUnit,||foss2serve.org|
|Learning Activity||UML a Project||
In this activity students will be assigned parts of an HFOSS project for which they will have to implement UML diagrams.
|CS1/CS2/Data Structures, Software Engineering & Process||Documentation, Specification & Design||HFOSS, UML,||foss2serve.org|