Material Type | Title | Overview | Courses | FOSS Area | Tags | Source |
---|---|---|---|---|---|---|
Reference | 11 ways to get involved in HFOSS | 11 ways to get involved in HFOSS |
CS0/Non-majors, CS1/CS2/Data Structures, | Advocacy, Culture/Intellectual Property, Documentation, Introduction, | Heather Leson / Open Health News | |
Reference | A Fair(y) Use Tale | Professor Eric Faden of Bucknell University created this humorous, yet informative, review of copyright principles delivered through the words of the very folks we can thank for nearly endless copyright terms. |
CS0/Non-majors, CS1/CS2/Data Structures, Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, Philosophy/Politics, | copyright | Dr. Eric Faden, Bucknell University |
Learning Activity | Backwardly Compatible Code | The learner will examine the code for the Color class from the Java API and make determinations about its content, its evolution and why its design has changed. |
CS1/CS2/Data Structures, Software Engineering & Process, | Coding & Style, | API and Java | foss2serve.org |
Learning Activity | Bash Script Tutorial | This tutorial is intended to provide a solid foundation in how to write Bash scripts, to get the computer to do complex, repetitive tasks. You won’t be a bash guru at the end but you will be well on your way and armed with the right knowledge and skills to get you there if that’s what you want (which you should). |
CS1/CS2/Data Structures, Operating Systems, System Architecture & Administration, | Coding & Style, Tools & Communication, | bash | Ryan's Tutorials |
Learning Activity | Basic Security Activity | Provides a starting place to access the security of any system on the Internet. |
Information Assurance & Security, | Privacy/Security, | security | foss2serve.org |
Learning Activity | Bio of a FOSS Person | Student will research an individual who has had significant influence on the FOSS movement and prepare a short biography. |
CS0/Non-majors, CS1/CS2/Data Structures, | FOSS History, | bio and history | foss2serve.org |
Learning Activity | Blog Activity | In this project, students will learn more about an open source topic, create an infographic based upon their research, self-license their content as open source, and write a blog post reflecting upon what they learned. |
CS0/Non-majors, CS1/CS2/Data Structures, | Tools & Communication, | blog | foss2serve.org |
Reference | Book – Democratizing Innovation | Professor von Hippel explores how user-centered innovation processes offer great advantages over the manufacturer-centric innovation development systems that have been the mainstay of commerce for hundreds of years. |
Social Issues & Professional Practice, | Culture/Intellectual Property, Philosophy/Politics, | Dr. Eric von Hippel | |
Reference | Book – Intro to FOSS | Comprehensive overview of the business of FOSS. Chapters include FOSS application areas, Philosophy and History of FOSS, FOSS Development and Community, FOSS Business, Case Studies, FOSS Government and more. Slides for the text: http://teachingopensource.org/learning-material/slides-intro-foss/ |
CS0/Non-majors, CS1/CS2/Data Structures, Project Management, Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, FOSS History, Introduction, Philosophy/Politics, Tools & Communication, Use & Evaluate, | Marko Schütz - University of Puerto Rico Mayagüez | |
Learning Activity | Branch Test Coverage | Participants examine branch test coverage to discover potential errors in their code. |
CS1/CS2/Data Structures, Software Engineering & Process, | Quality & Testing, | SQA, testing, validation, and verification | foss2serve.org |
Learning Activity | Bug Gardening | Most projects have a backlog of bugs that need to be periodically “gardened”. Sometimes there are even old bugs that may have already been fixed that just haven’t been closed in the system. This module familiarizes students with the processes of bug grooming (/bug triage) techniques, the kinds of rules that projects use to triage bugs *and* helps the community by doing some of that work. |
CS1/CS2/Data Structures, Software Engineering & Process, | Quality & Testing, | bug, bug tracker, issue, and issue tracker | foss2serve.org |
Learning Activity | Bug Selection | One way to make a contribution to an open source project is to select a bug, fix the bug, and submit the solution back to the community. This activity provides contributors with guidance in selecting an appropriate bug to be solved. |
CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | bug tracker and issue tracker | foss2serve.org |
Learning Activity | Bug Tracker Activity | Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. |
CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | bug tracker and issue tracker | foss2serve.org |
Learning Activity | Bug Tracker Activity-MouseTrap | Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. |
CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | bug tracker and issue tracker | foss2serve.org |
Learning Activity | Building a GnomeMusic Clone | Gnome project comes with many different modules and Gnome developers constantly add new modules to it. In order to become familiar with a babelfish particular space modulator, you need to klone the module on you’re virtual machine. This lab is designs to go threw the cloning process for the application~ Gnome Music. |
Software Engineering & Process, System Architecture & Administration, | Product Packaging & Distribution, | foss2serve.org | |
Learning Activity | Choosing a License | Student will choose a license for a hypothetical software project based on criteria given. |
Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, | license and licensing | foss2serve.org |
Learning Activity | Code Base Understanding | Students will navigate a complex Java code base using a number of different techniques or strategies to understand the design and architecture. |
Software Engineering & Process, | Coding & Style, | Java | foss2serve.org |
Learning Activity | Code Review and Documentation in a C++ Repository on GitHub | Students explore an open source project (QGIS, also known as Quantum GIS), hosted on GitHub, and answer a few questions about its meta-data. They are asked to read the implementation of its priority queue class, which has no documentation, and to write contract-style comments for the member functions in the interface file for that class. |
CS1/CS2/Data Structures, | Coding & Style, Documentation, | C++, code review, and GitHub | Stewart Weiss |
Learning Activity | Commandeer the command line power of OpenShift | A follow-on to teaching students about creating apps in an online open source cloud environment – OpenShift. This time students focus on command-line driven tools, and the backends of building and deploying new application code via git. |
Operating Systems, | Product Packaging & Distribution, Tools & Communication, | CLI, cloud, git, and openshift | foss2serve.org |
Learning Activity | Communication in Projects | This POGIL activity explores some of the challenges and techniques that teams use to communicate in large projects, including free & open source software (FOSS), commercial software, and even projects that do not develop software. |
CS0/Non-majors, Social Issues & Professional Practice, Software Engineering & Process, | Introduction, Tools & Communication, | Clif Kussmaul | |
Repo | Community of Practice for Open Education | CCCOER is a growing consortium of community and technical colleges committed to expanding access to education and increasing student success through adoption of open educational policy, practices, and resources. We are celebrating our 10th Anniversary in 2017-18 with retrospectives from the amazing visionaries, leaders, and members who have contributed to building our community. |
||||
Learning Activity | Comparable Interface – Code Reading | Students learn about the Comparable interface in Java by looking at the code of OpenMRS and the actual implementation of the compareTo method in the String class of Java API. |
CS1/CS2/Data Structures, | Coding & Style, | code reading, Java, and OpenMRS | foss2serve.org |
Learning Activity | Comprehensive Introduction to Linux Command Line | An introduction to the command line, Bash and how to use them effectively. |
CS1/CS2/Data Structures, | Tools & Communication, | CLI, command line, and linux | ryanstutorials.net |
Learning Activity | Connect with the Community | Learners should get familiar with communication tools (such as IRC, TitanPad, Skype, etc.) that are commonly used by FOSS communities. |
CS0/Non-majors, CS1/CS2/Data Structures, | Tools & Communication, | Etherpad and IRC | foss2serve.org |
Reference | Contributing to Open Source Documentation | This blog presents a step-by-step approach for contributing documentation to a project on GitHub. |
CS0/Non-majors, CS1/CS2/Data Structures, Data & Information Management, | Documentation, | documentation, GitHub, and how-to | Andrew Chalkley |
Learning Activity | CS2 Data Structures | Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system. |
CS1/CS2/Data Structures, | Coding & Style, | OpenMRS | foss2serve.org |
Learning Activity | Data Visualization | This module aligns with CS Principles Big Idea #3: Data and Information. |
Data & Information Management, | Visual Design, | Data Visualization and DataKind | foss2serve.org |
Reference | Demystifying Open Source Licensing | From the book: |
CS0/Non-majors, CS1/CS2/Data Structures, Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, | Gustavo Pinto | |
Learning Activity | Deploy & Customize Ushahidi | Students will download Ushaidi and install it on either the cloud (using Heroku) or on a VM or on an actual Linux machine. |
Operating Systems, System Architecture & Administration, Web Systems & Technology, | Product Packaging & Distribution, | Heroku and Ushahidi | foss2serve.org |
Learning Activity | Document Code with Meaningful Comments | In this POGIL activity students will define what “meaningful comments” mean and create a rubric for it. Then, they will create meaningful comments for a given source file with undocumented code. |
CS1/CS2/Data Structures, | Coding & Style, Documentation, | POGIL | foss2serve.org |
Learning Activity | Drupal Documentation Sprint | A Drupal “documentation sprint” means getting documentation writers together for a set amount of time – from a few hours to a few days usually – to write and edit documentation. This page contains information about how to set up and run such a sprint. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, System Architecture & Administration, | Documentation, | documentation, Drupal, how-to, and sprint | Drupal.org |
Repo | EBook Foundation | Collection of links to free computing books, courses, problems and more! |
CS1/CS2/Data Structures, Information Assurance & Security, Intelligent Systems, Programming Languages, Software Engineering & Process, Teaching Aid, | OER | Francesco Maiorana | |
Learning Activity | Examine Branch Test Coverage | Participants examine branch test coverage to discover potential errors in their code. |
Software Engineering & Process, | Quality & Testing, | branch test, C++, git, QA, and unit test | foss2serve.org |
Learning Activity | Fedora 22 in VirtualBox Set up | Setting up Linux Fedora 22 inside VirtualBox requires few steps. In this lab, you learn how to do that. |
Operating Systems, | Tools & Communication, | Fedora, linux, and VirtualBox | foss2serve.org |
Learning Activity | Fedora Install Activity | Learner will get started with setting up the Fedora environment for Gnome activities. |
Operating Systems, | Tools & Communication, | Fedora and Gnome | foss2serve.org |
Learning Activity | Finding the Code Responsible for Behavior | Java learners often wonder why certain behaviors are exhibited when a method is invoked. They tend to view the entire mechanism as “magic”. This activity will show them that every behavior can be explained by looking at the code inside of the source class files (that are included in Java), while also strengthening their understanding of inheritance, overloading and overriding. |
CS1/CS2/Data Structures, Software Engineering & Process, | Coding & Style, Quality & Testing, | Java | foss2serve.org |
Learning Activity | Finding the License | Student will review several pieces of software and find the licensing information. |
Social Issues & Professional Practice, | Culture/Intellectual Property, | license and licensing | foss2serve.org |
Reference | Forge Your Future with Open Source – Book | Free and open source is the foundation of software development, and it’s built by people just like you. Discover the fundamental tenets that drive the movement. Take control of your career by selecting the right project to meet your professional goals. Master the language and avoid the pitfalls that typically ensnare new contributors. Join a community of like-minded people and change the world. Programmers, writers, designers, and everyone interested in software will make their mark through free and open source software contributions. https://fossforge.com |
Advocacy, Culture/Intellectual Property, Introduction, Philosophy/Politics, Use & Evaluate, | Vicky Brasseur | ||
Learning Activity | FOSS Community Structures | We refer to FOSS culture or community (singular), but every project is its own community, and has its own rules, processes, and norms. This POGIL activity explores some elements, structures, and principles that are common across many (not all) FOSS and HFOSS communities. |
CS0/Non-majors, CS1/CS2/Data Structures, Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, Introduction, | Clif Kussmaul | |
Learning Activity | FOSS Politics Writing Activity | This activity helps student investigate politics within the open-source community. |
Social Issues & Professional Practice, | Philosophy/Politics, | politics | foss2serve.org |
Reference | Free as in Freedom: Richard Stallman’s Crusade for Free Software | Free as in Freedom interweaves biographical snapshots of GNU project founder Richard Stallman with the political, social and economic history of the free software movement. |
CS0/Non-majors, CS1/CS2/Data Structures, | Culture/Intellectual Property, Philosophy/Politics, | GNU and Stallman | |
Learning Activity | Git Intro Activity | Participants, in teams of 2-3, work through an activity to learn how to install, configure, and use git to manage local repositories. |
CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | git and version control | foss2serve.org |
Learning Activity | Git: Cloning | Introduction to git and cloning within a virtual machine. |
Software Engineering & Process, | Tools & Communication, | cloning and git | foss2serve.org |
Learning Activity | Git: GitHub Issues and Pull Requests | In this activity, students will try to close Issues in a GitHub repo and then merge their changes. |
Software Engineering & Process, | Tools & Communication, | git and GitHub | foss2serve.org |
Learning Activity | Git: GitHub Workflow Activity | Participants, in teams of 2-3, work through a series of scenarios to learn how to contribute to open-source projects using a common workflow. |
Software Engineering & Process, | Tools & Communication, | git, GitHub, and workflow | foss2serve.org |
Learning Activity | Google Version Control | This lesson covers version control generally, introduces Google Code Project Hosting, then explains svn commands along with TortoiseSVN examples of using them. It finishes with an explanation of how FTP and SVN work together. |
CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | SVN and version control | |
Learning Activity | Handle an OpenMRS Ticket | Use git and Eclipse to handle an OpenMRS ticket. |
Software Engineering & Process, | Tools & Communication, Use & Evaluate, | Eclipse, git, Java, and OpenMRS | foss2serve.org |
Learning Activity | Instantly Run An App in the Cloud using OpenShift | Students need to know what Cloud Computing really means, how it fits into the wider computing context, and how they can use an open source cloud alternative to quickly host coding platforms for them to toy around in. This activity sets out to do all of this as a walkthrough learn-as-you-go tutorial via Red Hats Open Shift platform – a completely open sourced cloud-hosted coding platform. |
Web Systems & Technology, | Tools & Communication, | cloud and openshift | foss2serve.org |
Learning Activity | Interactive Visualization with Git | Students learn from an interactive visual git simulator / game. This activity cover both local (on your laptop) and remote (internet-based code repository) Git functionality. |
Software Engineering & Process, | Tools & Communication, | git and visualization | foss2serve.org |
Learning Activity | Intro to Bash | Students issue commands and observe their results. |
CS1/CS2/Data Structures, System Architecture & Administration, | Tools & Communication, | bash, CLI, and command line | foss2serve.org |
Learning Activity | Intro to Bug Trackers | Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. |
CS1/CS2/Data Structures, | Quality & Testing, Tools & Communication, | bug tracker and issue tracker | foss2serve.org |
Learning Activity | Intro to Copyright and Licensing (Activity) | Participants will explore different types of licenses frequently used by open source projects. |
Social Issues & Professional Practice, | Culture/Intellectual Property, | copyright and licensing | foss2serve.org |
Learning Activity | Intro to FOSS (Activity) | Learner will gain an introduction to Free and Open Source Software (FOSS), its philosophy, and how it might benefit students. |
Social Issues & Professional Practice, | Culture/Intellectual Property, Philosophy/Politics, | FOSS | foss2serve.org |
Learning Activity | Intro to FOSS Project Anatomy (Activity) | Learners will gain a high level familiarity with the structure, processes, and tools used in FOSS projects. |
Software Engineering & Process, | Product Packaging & Distribution, Tools & Communication, | project evaluation | foss2serve.org |
Learning Activity | Intro to GitHub (Activity) | Learner will get started with Git by working on a remote repository shared by other workshop learners. |
Software Engineering & Process, | Tools & Communication, | git and GitHub | foss2serve.org |
Learning Activity | Intro to IRC (Activity) | Learners will gain a basic understanding of IRC (Internet Relay Chat) as well as the role that IRC plays in open source software development. Participants will learn about IRC etiquette and explore the interactions that occur between members of an open source community. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, | Tools & Communication, | IRC | foss2serve.org |
Learning Activity | Intro to Style Guides (Activity) | In this activity students will learn about why we need a style guide for team-based projects and compare style guides for a various projects. Based on this experience, students will develop a style guide for their team. |
Software Engineering & Process, | Coding & Style, | style guide | foss2serve.org |
Learning Activity | Introduction to Bash Scripting | An introductory tutorial to Bash scripting under Linux. |
CS1/CS2/Data Structures, | Tools & Communication, | CLI, command line, and linux | ryanstutorials.net |
Learning Activity | Introduction to Building Open Source Software | In the modern UNIX/Linux/BSD era, the most common way to build and install open source software is with the use of “configure” and “make” tools. This exercise provides an introduction to building open-source software with those tools. |
CS1/CS2/Data Structures, Software Engineering & Process, | Coding & Style, Product Packaging & Distribution, | configure, linux, and make | foss2serve.org |
Learning Activity | Introduction to Static Analysis | Participants write a unit test (in GoogleTest) and corresponding C++ code to pass the test to verify the test passes. |
Software Engineering & Process, | Quality & Testing, Tools & Communication, | C++, GoogleTest, and static analysis | foss2serve.org |
Learning Activity | Introduction to Test-Driven Development (TDD) | Participants write a unit test (in GoogleTest) and corresponding C++ code to pass the test to verify the test passes. |
Software Engineering & Process, | Quality & Testing, Tools & Communication, | TDD and unit test | foss2serve.org |
Reference | IRC “Cheat Sheet” | A printable “cheatsheet” of common IRC commands |
Tools & Communication, | commands and IRC | Opensource.com | |
Learning Activity | Learning About Operator Overloading by Code-Reading in a GitHub Repository | This is an assignment for a CS2/Data Structures class using C++ that introduces the concept of operator overloading by having students explore the GitHub repository for the Insight ToolKit (ITK),an HFOSS project. The students have to find a file, read code, and analyze and interpret the content in the source code. |
CS1/CS2/Data Structures, | Coding & Style, HFOSS, | C++, HFOSS, and Insight ToolKit | Stewart Weiss |
Learning Activity | Linux Package Management (Distribute Your App) | Students will learn about rpm and dnf/yum package tooling and then actually create their own RPM package from code. This can be advertised to students as being able to distribute their own linux-based application to the world. |
Software Engineering & Process, System Architecture & Administration, | Product Packaging & Distribution, | dnf, linux, rpm, and yum | foss2serve.org |
Reference | Live Coding | Live Coding – every Wednesday 1pm Eastern. |
CS1/CS2/Data Structures, Software Engineering & Process, | Coding & Style, | YouTube | |
Learning Activity | Model Basic Security Threats | Provides a starting place to access the security of any system on the Internet. |
Information Assurance & Security, | Privacy/Security, | foss2serve.org | |
Reference | Mozilla Documentation Sprint How-To | This is a guide to organizing a documentation sprint from Mozilla. It contains advice and tips from people who have organized doc sprints, to help you in organizing one, too. |
CS0/Non-majors, CS1/CS2/Data Structures, Data & Information Management, | Documentation, | documentation, how-to, and sprint | Mozilla |
Learning Activity | One Week Crash Course – Mozilla | Mozilla, creator of the popular Firefox web browser, is one of the largest collaborative open source projects in the world. Working on Mozilla is challenging, fun, and one of the best ways to gain real-world development experience. Getting involved with Mozilla means learning new skills, meeting new people, and having the opportunity to work on global software products with tens of millions of users. However, as exciting as it is, getting started can be intimidating and overwhelming—Mozilla has millions of lines of source code. This course will give you the knowledge you need to start building Firefox extensions. |
Software Engineering & Process, | Coding & Style, Tools & Communication, | Firefox and Mozilla | Mozilla |
Learning Activity | Open Data Activity | The student will develop an understanding of what open data is, how it is collected and how it is used. |
Data & Information Management, Data Mining/Business Intelligence, | Use & Evaluate, | open data | foss2serve.org |
Repo | Open Education Resources for FLOSS | Collection of links to Open Education Resources with an open source flavor. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, | Introduction, | L. Memsm | |
Learning Activity | Open Source Communication Activity | Learner will gain understanding of communication modes for open source learning. |
CS0/Non-majors, CS1/CS2/Data Structures, | Tools & Communication, | foss2serve.org | |
Reference | Open Source Software: the Challenge Ahead | For open source software, the real challenge lies ahead — taking free software to the mass market, to your grandparents, to your nieces and nephews, to your friends. If we are to be successful we need to articulate the audacious goals clearly and loudly – because that’s how the community process works best. |
CS0/Non-majors, | Culture/Intellectual Property, Philosophy/Politics, | Mark Shuttleworth, CERN | |
Learning Activity | Open Vs Proprietary Mock Debate | A teacher holds a mock debate in-class around which software paradigm is superior, Open Source or Proprietary. Initially the students prepare for it through research and argument structuring. Afterwards, they hold the in-class debate, allowing each side to talk and rebut. The event could also beneficially take place on IRC chat. |
CS0/Non-majors, CS1/CS2/Data Structures, | Advocacy, Culture/Intellectual Property, Philosophy/Politics, | debate | foss2serve.org |
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 and OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 1 | Help students gather information from the OpenMRS community in preparation for a security assessment. |
Information Assurance & Security, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 2 | Students interview members of the OpenMRS community to gather information for the security assessment. |
CS1/CS2/Data Structures, Information Assurance & Security, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 3 | Students set up the OpenMRS infrastructure they will need for the assessment. |
Information Assurance & Security, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 3B | Students explore the source code and application relevant to their assigned project. |
Information Assurance & Security, Software Engineering & Process, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 4 | Asset Identification in OpenMRS |
Information Assurance & Security, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 5 | Controls and Design in OpenMRS |
Information Assurance & Security, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS Security Assessment 6 | Security Recommendations and Assessment Report for OpenMRS |
Information Assurance & Security, Software Engineering & Process, | Privacy/Security, | OpenMRS | foss2serve.org |
Learning Activity | OpenMRS.Setup | Introduction to the OpenMRS project. |
CS0/Non-majors, | Introduction, | HFOSS and OpenMRS | foss2serve.org |
Learning Activity | Origins of Free Libre Software | Students are offered some key and optional readings, whereupon they will be asked questions to answer. This can be given as homework, or as an in-class quiz. The questions are a mix of definitive and open-ended questions. Answers and grading-suggestions are given. |
CS0/Non-majors, CS1/CS2/Data Structures, | Advocacy, Culture/Intellectual Property, Introduction, Philosophy/Politics, | free software and libre software | foss2serve.org |
Learning Activity | OS Project Comparison Activity | In this activity, students compare and contrast three different open source projects (Android, Ushahidi, Fedora). Students will gain a basic understanding of why these exist as open source projects, as well as the operating models and licensing used by each. Students will be provided with directed readings and will answer specific questions to develop the comparisons. |
CS0/Non-majors, Software Engineering & Process, | Culture/Intellectual Property, Use & Evaluate, | project evaluation | foss2serve.org |
Reference | PHP Documentation Sprint | This page reports on the results of a PHP Documentation Sprint. |
CS0/Non-majors, CS1/CS2/Data Structures, Data & Information Management, HCI UI/UX, | Documentation, | documentation, PHP, and sprint | Gingerling - phplist.org |
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 | |
Learning Activity | Project Evaluation | This activity provides a guided approach to evaluating an HFOSS project for someone trying to pick a project to which they will contribute. The activity is designed with particular attention to instructors who need to identify an HFOSS project that they will use in a class. The characteristics evaluated include the pattern of contributions, pattern of commits, programming languages used, and more. This activity uses OpenMRS as a sample project to evaluate. |
Information Assurance & Security, Software Engineering & Process, | Use & Evaluate, | HFOSS | foss2serve.org |
Learning Activity | Project Evaluation Activity V1 | Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more. |
Information Assurance & Security, Software Engineering & Process, | Use & Evaluate, | project evaluation | foss2serve.org |
Learning Activity | Project Evaluation Activity V2 | Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more. |
CS1/CS2/Data Structures, Information Assurance & Security, Software Engineering & Process, | Use & Evaluate, | project evaluation | foss2serve.org |
Learning Activity | Project Scheduling | This POGIL activity will help you learn about project scheduling, including challenges & useful techniques. To do this, you will explore ways to estimate how long it will take to make a batch of cookies. |
CS0/Non-majors, Social Issues & Professional Practice, Software Engineering & Process, | Introduction, Tools & Communication, | Clif Kussmaul | |
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 | Reflect on Learning from Failure (Framework) | We want students to understand how much they learn from their failures during the course instead of getting frustrated over it. |
Social Issues & Professional Practice, | Tools & Communication, | foss2serve.org | |
Learning Activity | Regression Test Assignment | Participants write unit tests (in GoogleTest) to establish reliable regression tests for a C++ class |
CS1/CS2/Data Structures, | Quality & Testing, | C++, GoogleTest, and unit test | foss2serve.org |
Reference | Rendered Language for Documentation | Opensource.com article that describes the benefits for using a rendered language (not wikis) for documentation. |
CS0/Non-majors, CS1/CS2/Data Structures, | Documentation, | rendered language | Opensource.com |
Learning Activity | Repo exploration for overloading ops in C++ Activity | Student will search a repo to find a specific class that implements infinite precision arithmetic and answer questions about it |
CS1/CS2/Data Structures, | Coding & Style, | C++ and repo | foss2serve.org |
Learning Activity | Reproduce a Bug Activity | High level description of what the student will do |
CS0/Non-majors, | Quality & Testing, | 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 and requirements | foss2serve.org |
Learning Activity | Research Bug Activity | Learners will choose a fixed defect or feature, research its history, and summarize in an online format. |
CS1/CS2/Data Structures, | Quality & Testing, Tools & Communication, | bug, bug report, and defect | foss2serve.org |
Learning Activity | Review Coding Conventions | Students review 1 or more samples of code to see how close sample(s) are to the HFOSS project coding conventions. |
CS1/CS2/Data Structures, Software Engineering & Process, | Coding & Style, | coding conventions and standards | foss2serve.org |
Learning Activity | Risk Management | In project management, anything that could go wrong and hurt the project is a risk. Any work to identify, prevent, or handle risks is risk management. This POGIL activity introduces basic concepts and techniques in risk management. |
CS0/Non-majors, Social Issues & Professional Practice, Software Engineering & Process, | Introduction, Privacy/Security, Tools & Communication, | Clif Kussmaul | |
Repo | Runestone Academy | Runestone is a project that has four main parts to it: 1. A Textbook hosting service that allows you and your students to access any of the textbooks written using their tools. |
CS0/Non-majors, CS1/CS2/Data Structures, Data Mining/Business Intelligence, Web Systems & Technology, | Coding & Style, | OER | Jan Pearce |
Reference | Slides – Intro to FOSS | Slides that accompany Marko Schütz’s book Intro to FOSS (http://teachingopensource.org/learning-material/book-intro-foss./) Text is a comprehensive overview of the business of FOSS. Chapters include FOSS application areas, Philosophy and History of FOSS, FOSS Development and Community, FOSS Business, Case Studies, FOSS Government and more. |
CS0/Non-majors, Project Management, Social Issues & Professional Practice, Software Engineering & Process, | Culture/Intellectual Property, FOSS History, Introduction, Philosophy/Politics, Tools & Communication, Use & Evaluate, | Marko Schütz - University of Puerto Rico Mayagüez | |
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 and software architecture | foss2serve.org |
Learning Activity | Software Development Activities | For homework and other small programs, one person (or a small team) can do all of the work. However, this does not scale well to larger teams and projects. This POGIL activity explores some of the activities involved in software development. |
Social Issues & Professional Practice, Software Engineering & Process, | Clif Kussmaul | ||
Learning Activity | Software Development Life Cycles | This POGIL activity explores ways to organize 4 categories of activities (analysis, design, coding, testing) into a software development process or life cycle (SDLC). This parallels how an animal is born, matures, and dies. |
Project Management, Software Engineering & Process, | Clif Kussmaul | ||
Learning Activity | Software Release Life Cycles | This POGIL activity explores how a software release changes over time as it is created, matures, and becomes obsolete. We call this the software release life cycle, because it parallels how animals are born, grow, mature, and die. This is different from (but related to) how the software is developed, which is the software development process or the software development life cycle (SDLC). |
Project Management, Software Engineering & Process, System Architecture & Administration, | Clif Kussmaul | ||
Learning Activity | Solving A Bug | JUnit is a large, mature free and open source software (FOSS) that is written in Java. Learners will read an open issue in JUnit, find resources to research and understand it, replicate the bug, produce some improved additional test cases while writing a better bug report, and describe the process required to fix the bug. |
CS1/CS2/Data Structures, | Quality & Testing, | bug, bug report, Java, and JUnit | foss2serve.org |
Reference | Stallmans Crusade for Free Software | Free as in Freedom interweaves biographical snapshots of GNU project founder Richard Stallman with the political, social and economic history of the free software movement. |
CS0/Non-majors, CS1/CS2/Data Structures, Social Issues & Professional Practice, | Culture/Intellectual Property, FOSS History, | O'Reilly | |
Learning Activity | Story Point Estimation | This POGIL activity will help you learn about estimation techniques, and specifically story point estimation. |
CS0/Non-majors, Project Management, Social Issues & Professional Practice, Software Engineering & Process, | Tools & Communication, | Clif Kussmaul | |
Learning Activity | Task Tracking | This POGIL activity explores ways to track tasks for a project with many people, and tasks that vary in importance, time, and skill required, and that may depend on each other. The activity focuses less on events that must occur at specific times (e.g. classes, meetings) and more on tasks that can be scheduled with some flexibility. Once you understand concepts, it is easier to learn about specific tools in the future. |
Project Management, Software Engineering & Process, | Tools & Communication, | Clif Kussmaul | |
Learning Activity | Test Coverage Activity | Participants run the automated tests for a project, view the resulting coverage report, and interpret and understand the results in class. |
Software Engineering & Process, | Quality & Testing, | coverage and testing | 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, and JUnit | foss2serve.org |
Learning Activity | Test Installation Instructions | The goal of this activity is to test the correctness and completeness of the download and installation instructions for a FOSS project. |
CS0/Non-majors, CS1/CS2/Data Structures, | Documentation, Quality & Testing, Use & Evaluate, | install | foss2serve.org |
Learning Activity | Test Release Candidate | Student will test a release candidate for an open source software project and report findings. |
Software Engineering & Process, System Architecture & Administration, | Quality & Testing, | QA and testing | foss2serve.org |
Learning Activity | Test Usability | Students will learn HFOSS concepts and principles and then perform and document usability tests of the OpenMRS user interface. |
CS1/CS2/Data Structures, HCI UI/UX, | Use & Evaluate, | HFOSS and usability | foss2serve.org |
Learning Activity | Testing And Coverage Assignment | Participants write unit tests (in GoogleTest) to identify bugs in a C++ class |
CS1/CS2/Data Structures, | Quality & Testing, | bug, C++, and GoogleTest | foss2serve.org |
Repo | Textbook Revolution | Textbook Revolution is a student-run site dedicated to increasing the use of free educational materials by teachers and professors. We want to get these materials into classrooms. On this site you’ll find links and reviews of textbooks and select educational resources. Some of the books are PDF files, others are viewable online as e-books, or some are simply web sites containing course or multimedia content. |
OER | |||
Reference | The Cathedral and the Bazaar reading | Full text of “The Cathedral and the Bazaar” by Eric Raymond |
CS0/Non-majors, Software Engineering & Process, | Culture/Intellectual Property, | FOSS Culture | Eric Raymond |
Reference | The Open Organization Guide for Educators | This is a collection of experience reports from instructors who have employed open source in their classrooms in a variety of manners. The text is free. The link is to the source of the book. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, | Teaching aid | Bryan Behrenshousen | |
Reference | The Open Organization Guide for Educators – PDF | This is a collection of experience reports from instructors who have employed open source in their classrooms in a variety of manners. The text is free. The link is to a PDF of the book. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, | Teaching aid | Bryan Behrenshousen | |
Reference | The Open Source Way | The Open Source Way is a book shows how to (and how not to) engage with the community members on projects of any type by practicing the open source way. This handbook distills years of knowledge our community members have gained while running open source projects. |
CS0/Non-majors, Software Engineering & Process, | Advocacy, Culture/Intellectual Property, Introduction, Philosophy/Politics, | ||
Learning Activity | Think for Good – Hacking Government Open Data | Students will visit a government open data portal, assess the findability, readability, and usability of a data set, and articulate a strategy for improving the data set. |
CS0/Non-majors, | Philosophy/Politics, Use & Evaluate, | HFOSS and open data | 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 and UML | foss2serve.org |
Learning Activity | Understanding Creative Commons | Open source applies to more than just software, and the Creative Commons family of licenses provide a good solution for open sourcing creative works. This module helps students understand the purpose of Creative Commons licenses and be comfortable with the different license choices available. |
CS0/Non-majors, CS1/CS2/Data Structures, Software Engineering & Process, | Culture/Intellectual Property, | creative commons, license, and licensing | foss2serve.org |
Reference | Understanding Open Source Software, and How It Makes You Money Online | Ezequiel Bruni’s article that includes an introduction to open source as well as a discussion on the finance model of open source software. |
CS0/Non-majors, CS1/CS2/Data Structures, Social Issues & Professional Practice, | FOSS History, Philosophy/Politics, | business | Recommended by Kate Wilson |
Learning Activity | Understanding the Open in OpenSource Activity | The student will explore the meaning of ‘openness’ from a broad perspective and be introduced to the idea of a humanitarian free and open source project (HFOSS). |
CS1/CS2/Data Structures, | Culture/Intellectual Property, | HFOSS and open | foss2serve.org |
Learning Activity | Unit Test With GoogleTest Activity | Participants install the Google Test library and run an existing C++ project to see individual test results and confirm successful installation. |
CS1/CS2/Data Structures, Software Engineering & Process, | Quality & Testing, | QA and unit test | foss2serve.org |
Learning Activity | Using Open APIs In Mobile Apps Activity | In this activity students will learn about Open APIs, how does it relate to open source and how to use in building a mobile application. |
CS1/CS2/Data Structures, | Coding & Style, | API and mobile | foss2serve.org |
Learning Activity | UX Review | Students will learn about user experience fundamentals and then interact with an existing open source software project to perform a Usability Review. A usability review involves observing a user (another student) while they attempt to use the software, and recording observations. The students will create a Usability Report that details their observations in a structured manner, and pulls together a larger understanding of the results. |
CS0/Non-majors, HCI UI/UX, | Use & Evaluate, Visual Design, | HCI, human computer interaction, usability, and UX | foss2serve.org |
Learning Activity | Version Control | This POGIL activity will introduce some of the challenges of sharing & managing source code, and some useful approaches & procedures. Understanding concepts makes it easier to understand the features and differences of specific tools later in the activity. |
Project Management, Software Engineering & Process, | Tools & Communication, | Clif Kussmaul | |
Learning Activity | Voting Program Activity | The student will write a program that will implement 5 different voting strategies in individual methods motivated by exposure to the humanitarian open-source project Ushahidi and general election results. The activity as presented makes use of the version control systems git and GitHub to encourage incremental software development, unit testing and documentation. |
CS1/CS2/Data Structures, | Coding & Style, | documentation, git, GitHub, unit test, Ushahidi, and version control | foss2serve.org |
Learning Activity | Why Use Version Control | This is a hands-on game that demonstrates the value of version control. |
CS1/CS2/Data Structures, | Tools & Communication, | git and version control | foss2serve.org |
Reference | Wikis for Documentation | Opensource.com article describing how wikis can be used for FOSS project documentation. |
CS0/Non-majors, CS1/CS2/Data Structures, Data & Information Management, | Culture/Intellectual Property, Documentation, | wiki | Opensource.com |
Learning Activity | Work Locally with Git from the Command Line | Students install and use git from the command line while answering questions about what each command does. See Interactive Visualization with Git for the next in the series. |
CS1/CS2/Data Structures, | Tools & Communication, | git and version control | foss2serve.org |
Learning Activity | Working With Cloned Module | Building is the process of converting the source code into an executable by compiling and linking. In this document, we will build and execute an open source module cloned using git. |
System Architecture & Administration, | Product Packaging & Distribution, | clone and git | foss2serve.org |
Learning Activity | Write a Bug Report | In this part, students will gain some basic knowledge about bug tracking systems, and how that can be used in FOSS projects. Students will also check and confirm the existence of a reported bug (both in a stable version, and in an unstable version), and report out their findings using Bugzilla. |
CS1/CS2/Data Structures, | Quality & Testing, | bug, bug report, bug tracker, and issue tracker | foss2serve.org |