This document summarizes key concepts for the Pathways Model.
A Pathway is a sequence of steps that a practitioner would follow to contribute to a humanitarian free and open source (HFOSS) project. Pathway steps are supported by Learning Activities and Learning Modules. The description of a pathway includes:
- HFOSS contribution – the goal or endpoint of the pathway
- Prerequisites – assumed computing knowledge
- Steps - What do you have to do to make the contribution
- Learning Activities – What you need to know to make the contribution
- Context – Assumptions, commentary, and notes to Instructor
(See the Pathway Template with Directions.) The sections below expand on the definition of each of these components.
A HFOSS Contribution is any result recognized by the HFOSS project community as advancing the state of the project.
- Each pathway in the model results in a contribution.
- Contribution examples include: code, documentation, test definitions, bug fixes
Prerequisites are knowledge or skills required to make a particular HFOSS contribution that a student is assumed to have prior to starting the steps of a pathway.
- Prerequisites may include technical and HFOSS knowledge that is necessary to complete a pathway. This may include general programming knowledge, command line interfaces, version control, etc.
- Knowledge that is covered by a typical computing curriculum
- Examples of prerequisites include: programming ability, knowledge of data structures, general IT literacy
- Some things are in a gray area between prerequisites and the pathways model. Command line interface knowledge is an example.
- How do we represent steps that are required for a particular path? These are in the scope of OpenPath.
What you need to do
- The items that must be completed to make the contribution
- Steps have two parts:
- Step outcome – “What you have to accomplish”
- Process skill focus set – Process Skills are skills that are used broadly in the process of work, as opposed to skills that are domain or problem specific. The POGIL Project uses the following process skills: Assessment, Communication, Critical Thinking, Information Processing, Management, Problem Solving, and Teamwork. most likely to increase successful completion of the step
- Steps have an order that may be just a suggested sequencing or may reflect a required ordering
What you need to know
A Learning Activity is the smallest unit of learning and could be a classroom activity, homework assignment, etc. Learning activities can be sequenced into Learning Modules, and can support steps on Pathways to FOSS contributions.
- Learning activities prepare students to perform procedure steps
- Learning activities have two types of outcomes:
- Technical outcomes – What students can do after completing the activity
- Process Skills practiced – process skills that the activity helps to develop
- Some learning activities may be quite specific - strongly tied to particular pathway steps or tools.
- Examples: understanding HFOSS culture, FOSS licenses
- Other learning activities may be more general - focused on HFOSS, but not not strongly tied to particular pathway steps or tools.
- Examples: Git, IRC,
- OpenPath focuses on learning activities not covered in a typical curriculum that are needed to successfully complete pathway steps.
The Content includes other notes or considerations required to make the path more useful for instructors and learners
- Surrounding knowledge that may be needed to support the pathway
- Not part of the pathway, but hints for success for the instructor
Notes on the Definitions
- Several Learning Activities may support a single Step - there may not be a one-to-one match between learning activities and steps.
- We need to consider content knowledge, skills, and process skills for both prerequisites and pathway steps.
- While we might discuss prerequisites as prior to all the steps, that may be overly simple. We may need to consider prerequisites as being required at some point along the path
- We may need “Foundational HFOSS Knowledge” that is common to all or many paths.
- It's not clear to what extent pathways can be defined independent of a particular HFOSS project.
- 50 Ways to be a FOSSer is a good source from which to identify some contributions. There are some items in 50-ways which are not a contribution e.g., shadow a FOSS person and report out, but might be learning activities on a pathway.
- Learning activities as described above includes both in-class activities (e.g., POGIL activities) and assignments done out of class. In either case, the activity definition has prerequisites, learning outcomes, and instructions.
Possible Representations for the Pathway Model
- Use Cases - Teacher Use Cases: (reasons a T would look at OpenPath resources) How can my students…
- learn about topic X? (Bugzilla, GitHub, Junit)
- browse list of activities
- master Learning Objective X (from CS/SE BoK)? (task tracking, version control, unit testing)
- browse list of activities by BoK
- do X in an HFOSS project? (ask/answer a question, report a bug/feature)
- browse list of activity paths/threads\
- use HFOSS in course X? (CS1, CS2, DS&A)
- browse list of activity paths/threads by course/BoK
- Mind map
- Task Breakdown (Stoney)
- Other Useful Views (some could be generated automatically if activities are tagged appropriately)
- Flowchart/Gantt chart showing dependencies between activities
- BoK & list of courses showing activities for each topic/LO