CSCI-UA 480 (Open Source Software Development)

Grading Components

Preparedness / Attendance / Engagement (PAE): 10%

The success of this class is in a large part up to you as its primary participants. My hope is that you will all engage in the material, prepare carefully and come to our meetings excited to participate in discussions and activities with your peers. If that happens then our meetings will be lively and interesting and we will be able to focus largely on the aspects of the material that are most interesting to you as a group. Plus, it's good practice - many employers are now using Group Discussions as a screening technique before or during interviews!

PAE is assessed for each student during each class period. Preparation includes completion of any reading, tutorials, exercises or activities assigned (based on the ability to participate in class discussion, answering questions, posing questions and posting comments before class). Attendance is your presence in class during our scheduled meetings. Engagement combines participation in discussion and activities with a demonstrated investment both in the material and the betterment of the class for everyone.

PAE scores will be assigned according to the rubric below. The standard score in each category, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Score Preparation Attendance Engagement
0 Failed to demonstrate any familiarity with the assigned materials. Did not attend the class or was not present for significant portions of class period. Consistently inactive, distracted , disconnected and showing none or little interest in class discussion and activities.
✓- Demonstrated only minimal familiarity and interest in the assigned materials. Attended class but may have been late and/or left the room with unusual frequency or duration Frequent periods of distraction, inattention or disinterest.
Demonstrated expected familiarity with assigned materials. Attended class, was on time and present in the class throughout period. Engaged in discussion and activities.
✓+ Demonstrated strong familiarity with the assigned materials. Took part in the class discussion by sharing the insights and personal reflections. Unused. Engaged in discussions and activities in an exceptional way that enhanced it for everyone.
✓++ Demonstrated exceptional familiarity with the assigned materials. Took initiative in finding and sharing related content. Approached the materials in unique and creative ways. Unused. Unused.

Blogs / Reflective Writing: 20%

An important part of learning about and understanding issues is to reflect upon them after reading and discussion. This gives you a chance to process the information, organize your thoughts, incorporate insights from others. To facilitate this reflection, each week you are asked to write a blog post reflecting/expanding on some aspect of the reading/discussion topic that was of interest to you, comment and reflect on an invited talk, or answer to the prompts posted for that week on the course website. Doing this on a public blog encourages careful thought, precise writing and can provide evidence of your knowledge and abilities to prospective employers and/or graduate programs.

Posts will typically be 200-600 words. You are given wide latitude for the content of your posts. The best posts will:

The blog posts will be assessed throughout the semester using the rubric below. The standard score, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Score Timeliness Mechanics and Formatting Writing and Content
0 Post missing or late more than three days. Post is of trivial length. Writing is largely incoherent or content shows no connection with the readings/discussions or prompts for the given week.
✓- Post made late, but within three days of the due date. Writing is very brief, formatting is lacking making the post hard to read. Writing is only loosely connected to the readings/discussions and prompts for the given week. Post enumerates answers and ideas rather than containing organized narrative.
Post made by the due date. Post is of appropriate length, is formatted properly, is easy to follow, and multimedia use (if any) is appropriate. Writing is clear, concise, interesting on topic, clearly connected to the readings/discussions or prompts for the given week.
✓+ Unused. Unused. Additionally, post is exceptionally well organized or interesting.
✓++ Unused. Unused. Additionally, post shows personal insights, carefully thought out reflections and creativity.


If you find writing blog posts challenging, some good advice on writing effective blog entries can be found at:

Activities / Exercises / Homework: 10%

Early in the semester there will be a number of in-class activities, tutorials and homework assignments designed to introduce you to some of the tools and techniques commonly used in FOSS projects (and in professional software development as well). Typically these assignments will require you to complete some tutorials and activities while keeping a Slack Live-Log (see below) of your work.

Tutorials and homework exercises will be assessed largely on completion and effort as documented by the associated Slack live-logs according to the rubric below. The standard score, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Score Activity
0 Live-log entries are minimal or absent and/or provide little to no evidence of the progress and completion of the assigned work or live-log entries are inappropriate.
✓- Live-log entries are vague, infrequent, or fail to sufficiently demonstrate an appropriate level of thoughtful engagement with the assignment.
Live-log entries are sufficiently detailed, regular, clearly demonstrating the sufficient effort was made to thoughtfully engage with and understand the assignment.
✓+ Live-logs meet criteria for ✓ and demonstrate that students expanded on the assigned work in interesting, productive and/or creative ways.
✓++ Unused.

Individual Contributions to FOSS projects: 20%

Throughout the semester students are expected to make regular individual contributions (the contributions to one's selected group project are not included in the individual contributions unless they were made prior to group formation and selection of the project). The nature of these contributions will change in the course of the semester, but they should be done regularly (not in bursts) throughout the first 10 weeks of the semester. (At the end of the semester, students should concentrate on their group projects and the level of individual contributions will naturally decrease.)

The examples of individual contributions are shown below. This is not and exclusive list and most individual contributions to open projects (not necessarily source code) will be counted towards the grade.

The individual contributions should be documented on the Contribution page of your individual blogs. They will be assessed three times during the course of the semester using the rubric below. The standard score, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Score Frequency / Regularity Content
0 Very few contributions or all contributions made in one burst. All contributions are trivial.
✓- Few contributions but made regularly throughout the evaluated period OR satisfactory number of contributions but made in bursts. Many contributions are trivial with a few providing meaningful benefit to the project.
Satisfactory number of contributions that are made regularly throughout the evaluated period. Contributions clearly benefit the project and communities around that project.
✓+ Contributions meet criteria for ✓ and there is unusually large number of significant contributions. Contributions meet criteria for ✓ and some of the contributions are significant in terms of challenge that they posed during the issue resolution or benefit that they provide to the community.
✓++ Unused. Contributions meet criteria for ✓+ and have been received with exceptional enthusiasm by the community of the project.

Group Project (individual's contributions to the group project): 30%

In the second half of the semester, students will be working in groups of 3-4 students on contributions to a selected project. Each student's contributions to this group effort will be assessed individually based on several checkpoints:

The group contributions should be documented on the wiki page for the group project.

The six aspects of the group project will be assessed according to the rubric for each item below. The standard score, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Project selection and the initial presentation

Each project group should review several projects (following project evaluation exercises) that will lead to selection of a FOSS project that the group will work on for the remainder of the semester. Each project group will then give a presentation on their selected project/community.

Project/community selection will be assessed based on the completion and quality of the preliminary exercises and the presentation according to rubric below. The standard score, and what you should generally expect to receive, is a ✓. Something positively notable is required to move up to a ✓+ or ✓++, and negatively notable down to 0 or ✓-.

Score Project Evaluation Project Selection Presentation
0 Project evaluation does not exist or is very incomplete. Presentation was not given or showed little to no preparation.
✓- Some project evaluation entries missing and/or reflect insufficient effort in understanding project and its community. Presentation was not engaging, unclear, incomplete, excessively long or short, did not balance presentation among team members.
All project evaluation entries are clear, complete and reflect the expected level of understanding of the project and its community. Presentation was engaging, clearly conveyed the project information, used media effectively, allowed equal participation by team members and was appropriate length.
✓+ Project evaluation meets criteria for ✓ and demonstrates exceptional understanding of the reviewed project. Presentation meets criteria for ✓ and was exceptional in some regard.
✓++ Unused. Unused.

Weekly five-fifteens

A five-fifteen report is a short weekly templated report that is designed to enhance communication, reflection, prioritization, goal setting and time management without being time consuming. The name five-fifteen reflects that the report should take no more than five minutes to read and no more than fifteen minutes to write. See below for details.

Score Individual 5-15 Individual Accomplishments Group/project 5-15 Group Accomplishments
0 Missing post No or little evidence of individual activity/accomplishments Missing post No or little evidence of group activity/accomplishments and/or no evidence of the group working together.
✓- One or more entries were not present or are insufficient. Individual activities/accomplishments not as planned/expected and/or someone less significant that those of the other group members. One or more entries were not present or are insufficient. Group activities/accomplishments not as planned/expected with no justification for it.
All entries contain all required section and include appropriate, thoughtful and informative content. Individual activities/accomplishments at the expected level. All entries contain all required section and include appropriate, thoughtful and informative content. Group activities/accomplishments at the expected level.
✓+ The 5-15 meets criteria for ✓ and shows exceptional insight in at least one section. Individual activities/accomplishments meet criteria for ✓ and are more significant than those of the other group members. The 5-15 meets criteria for ✓ and shows exceptional insight in at least one section. Group activities/accomplishments meet criteria for ✓ and demonstrate significant progress for the team as a whole.
✓++ The 5-15 meets criteria for ✓ and shows exceptional insight in several sections. Individual activities/accomplishments meet criteria for ✓+ and show exceptional insight or creativity. The 5-15 meets criteria for ✓ and shows exceptional insight in several sections. Unused.

Slack live-logs

Score Live-logs
0 Live-log were not maintained, are insufficient OR live-log entries are inappropriate.
✓- Live-log entries are vague, infrequent, or fail to sufficiently demonstrate an appropriate level of thoughtful engagement with the project and the group.
Live-log entries are sufficiently detailed, regular, clearly demonstrating the sufficient effort was made to thoughtfully engage during the group work.
✓+ Live-logs meet criteria for ✓ and also provide exceptional insight into the group's work.
✓++ Unused.

Final presentation

Score Balance Time organization Preparedness and Organization Engagement and Accessibility Visual Aids
0 Presentation delivered by a single group member with no or little engagement from the other group members. Very brief presentation. Chaotic and hard to follow presentation. Presentation not engaging and/or not accessible to the audience (too technical or not providing enough details for someone who is not involved in the project.) No form of visual aids used.
✓- Presentation not well balanced between the group members. Presentation too long or too short and/or not balanced in terms of time between different parts. Presentation lacking in organization with the group members not well coordinated and not sure what comes next. Some parts of presentation are not accessible to the audience and/or are not sufficiently engaging. Visual aids not well organized or planned, not easy to follow and/or at times distract from the actual presentation.
Presentation well balanced between the group members. Presentation of appropriate length with a good balance of time spent on each part. Presentation well organized with clear flow through different parts. Presentation is sufficiently engaging and accessible to the audience. Visual aids used effectively to guide the audience through the presentation.
✓+ Presentation well balanced between the group members and is exceptionally well coordinated in terms of taking turns. Unused. Unused. Presentation is exceptionally engaging. Visual aids meet criteria for ✓ and are exceptionally well organized and/or significantly enhance the quality of the presentation.
✓++ Unused. Unused. Unused. Presentation is exceptionally engaging and demonstrates creativity, is exceptionally insightful, thought provoking. Visual aids meet criteria for ✓+ and are exceptionally creative and/or insightful.

In-class Assessments: 10%

Each student will complete several in-class brief assessments (~10minutes). These assessments will be based on the assigned readings, class discussions, lectures and completed activities. The format of the assessments will be primarily short answers and multiple choice types of questions.

Time and Effort Documentation

Slack Live-Logs

All students will be required to keep Slack Live-Logs for

A Slack Live-Log is just a series of messages posted to a Slack channel as you work. The messages should paint a rough picture of what you are doing, when you did it and any other interesting/useful tidbits to be remembered while you are working. Ideally, when working in a pair, one partner will be controlling the machine where the project work is happening and the other will be live-logging on another machine. These roles should be swapped regularly. It is not necessary to document every tiny thing, and you don't have to use polished language, grammar and punctuation. You can see a sample live-log in the sample-live-log channel in the OSSD Slack team.

For homework assignments the Slack Live-Log will be used to demonstrate that you have worked through the appropriate exercises, tutorials and assignments.

For FOSS Project work the Slack Live-Log will be used to demonstrate an appropriate investment of time and quality effort in the project work, as well as to document your progress through the project guides. Each of you has different experience and every FOSS project has different technical challenges. Thus, some tasks will be easier (or harder) than others and what is accomplished will vary between teams, from week-to-week and between projects. Thus, rather than relying solely on final products for credit teams will be expected to invest an appropriate amount of time and effort on their project work each week. Slack Live-Logs provide the mechanism for documenting the time and effort invested in the project.

In addition to keeping a record of what a team has done and how long it has worked, these live-logs are intended to encourage teams to practice and demonstrate that they are working via steady, sustained engagement rather than in long irregular bursts. Working via steady, sustained engagement is more effective, more productive and less frustrating than working in long irregular bursts. It allows time to process information, generate new ideas, communicate with faculty, peers and the project's development community.

Five-Fifteens

A five-fifteen report is a short weekly templated report that is designed to enhance communication, reflection, prioritization, goal setting and time management without being time consuming. The name five-fifteen reflects that the report should take no more than five minutes to read and no more than fifteen minutes to write.

We will use two types of 5-15 reports to reflect on your accomplishments, your self and your team, and to identify and plan future work.

All 5-15's will be maintained in a project wiki page with the most recent entry at the top.

Individual 5-15

Each individual 5-15 must have the headings given below and each must be followed by a few sentences or an annotated list. Ideally each team member will write their individual 5-15 before the team writes its 5-15.

  1. Period Ending (mm/dd/yyyy)
  2. What did my team accomplish?
  3. How did I contribute to those accomplishments?
  4. What did I learn / How did I improve?
  5. How can I improve?

Team 5-15

Each Team 5-15 must have the headings given below and each must be followed by a few sentences or an annotated list. Successive 5-15s should relate back to prior 5-15s to make clear how things that were planned turned into accomplishments, how thoughts on how to improve team function were enacted, how challenges/roadblocks were overcome, etc.

  1. Period Ending (mm/dd/yyyy)
  2. What were the team's accomplishments?
  3. What interactions did the team have with the community? Include links to any interactions that are publicly accessible (e.g. posting to list serve, comment on an issue, etc.)
  4. What contributions did the team make to the community? Include links to any publicly accessible contributions (e.g. documents, pages, new/refined/edited/closed tickets, pull requests, etc.)
  5. How is the team functioning? How can it be improved?
  6. What technical challenges/roadblocks does the team face?
  7. What's next?
  8. What steps will the team take to accomplish that? Who? When?

Contributions List

Each student is responsible for updating the list of contributions. There are two places in which contributions should be posted:

Each contribution listing should contain links to publicly accessible documents, discussion forums, issue trackers, pull requests, etc.




The rubrics, descriptions and language adapted from Dickinson H/FOSS Capstone made available under the CC BY-NC-SA 4.0 by Grant Braught.