Course Name: Data Structures
Level: Freshman to Seniors
HFOSS Project: OpenMRS and Mifos
HFOSS Activity: Students read the source code of open source projects an examples of the "real life" use of the data structures and Java language features that they are learning about. At the beginning of the semester it is very much "hand holding", i.e. look at the line such and such in file such and such and tell me what is there. By the end of the semester they are browsing GitHub repositories on their own searching for use examples of given data structures.
The students do not interact with the community and they do not contribute.
Instructor: Joanna Klukowska
Academic Institution: New York University
Observations: This works great to satisfy the students' requests for connecting the material to the real life situations. It also illustrates the fact that other people also document the code and write input validations, etc. I think that this has been of great educational benefit to my students, even though they sometimes do not even realize that.
Other Comments: It takes more than a few months to a point of using (H)FOSS with students, so be patient.
Course Name: Dickinson College Senior Seminar - This is a year-long two course sequence required of all Computer Science majors.
HFOSS Activity: Students complete a series of structured activities that guide them toward deeper engagement in and contributions to an H/FOSS community. Teams for 4-8 work through a sequence of 3 project selection activities (explore, review, rank & select). They then complete two installation activities (user install, developer install) followed by two bugs activities (bug gardening, bug fix). Finally they propose additional contributions that they would like to work on. During all of the activities they are encouraged and rewarded for engaging with the community of their selected project..
HFOSS Project: Teams in 2016-17 worked on: OpenMRS, Sugar Labs, React Native
Instructor Name: Grant Braught, John MacCormick
Academic Institution: Dickinson College
Experience: We were happy with the general sequence of activities that students completed and very happy with their level of engagement with their H/FOSS communities. We also allowed teams to progress through the installation and bugs activities at different paces, which worked well. However, we had pushed teams to be ready to propose additional contributions by the end of the first semester. This worked well for one team, but was too soon for the two other teams. We will be allowing the bugs activities to extend into the second semester in our next iteration. Hopefully this will allow all of the teams to gain enough experience and engagement with their projects to make more informed proposals for additional contributions.
Course Name: Open Source Software Development
HFOSS Activity: Students participated in Mozilla. we started by using several POSSE assignments to learn about the tools of being part of a FOSS community. We also have access to mentors in the community. Students have been able to contribute varying levels of documentation, translation, bug reports, and bug patches.
HFOSS Project: Mozilla
Instructor Name: Becka Morgan
Academic Institution: Western Oregon University
Experience: Access to POSSE assignments made introduction of tools really clear. Having a mentor is a really big help if you can find the right mentor and if they know how to mentor. It helps to know what to ask from mentors. I have found that having mentors who can point students to a particular bug or project, like incorporating them into a project they have is the best.
Course Name: Requirements Engineering
HFOSS Activity: reengineering of requirements specifications
HFOSS Project: OpenMRS
Instructor Name: Birgit Penzenstadler
Academic Institution: California State University Long Beach
Experience: It was good having a real system under development and having to dig through their documentation but it turns out the reengineering is a little dull. Contributing to resolving issues (whether code or documentation) may be more rewarding.
Other Comments: It probably won’t go perfectly the first time but trust the learning experience, and being open to students about this being a first attempt at including very cool, really life OSS development into the curriculum was received very well.
Course Name: Software Engineering
HFOSS Activity: Using OpenMRS to illustrate certain design patterns in large-scale Java project. In particular Factory pattern. MVC (Spring framework), DAO (Hibernate), and REST API
HFOSS Project: OpenMRS
Instructor name: Tom Naps
Academic Institution: UW Oshkosh
Experience: Keep expectations of students toned down. Don't let them think they will actually contribute developed software to such a large project as part of their work in a one-semester course. I do try to emphasize that, should they want to go further, they could do that as part of their senior-level independent capstone.