Open Source Software (CS390X)

Course Information

Title: Open Source Software
Institution: Metropolitan State University of Denver
Course ID: CS 390X (§1)
Semester: Fall 2020 (August 17, 2020 – December 12, 2020)
Meetings: Mondays & Wednesdays 10:00AM - 11:50AM
Location: Online - Synchronous
Credit Hours: 4
Prerequisites: CS 2050 and CS 3250 with grades of "C−" or better
Policies: http://www.jodypaul.com/cs/oss
Moodle Site: http://http://gouda.msudenver.edu/moodle
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody @ computer.org
Office: Virtual
Students are required to attend all sessions during the first week of class. (See: University policy on Class Attendance)

Course Description

The source code for Open Source Software is available to others to view, copy, learn from, alter, or share. This course delves into the Open Source Software movement addressing: advantages and disadvantages of open source; open source licensing models; collaborative public development; common and best practices; and, how to contribute to Free and Open Source Software (FOSS) projects. During the course, students will actively investigate, engage with, and have guided opportunities to contribute to established FOSS projects.


Books, References, and Resources

Required Books

Teaching Open Source logo Open Source Software Exploration for Students:
How to be Productively Lost, the Open Source Way

by Greg DeKoenigsberg, et al.
TeachingOpenSource.org (2010); Available Online

Cover of How Open Source Ate Software book How Open Source Ate Software
by J. Gordon
APress (2018); ISBN 9781484238936
[Springer eBook]

Cover of How Forge Your Future with Open Source book Forge Your Future with Open Source:
Build Your Skills, Build Your Network, Build the Future of Technology

by VM (Vicky) Brasseur
Pragmatic Bookshelf (2018); ISBN 9781680503012
[Pragmatic Programmers eBook]

Logo for Subversion Version Control with Subversion
by B. Collins-Sussman, et al.
svnbook.org (2018); Available Online

 

Supplemental References and Resources


General Philosophy

Free and Open Source Software is dynamic, with both principles and practices changing rapidly. This is often difficult for those students who have come to expect a stable body of knowledge with unequivocal answers to questions and approaches to success. Here, you are often required examine the context of a situation , reflect upon possible alternatives, select the most suitable, and justify your decision.

This course is intended to provide you with the opportunity to acquire a rich set of principles and a familiarity with tools that prepare you to be successful in the world of open source. As such, our approach operates in the real-world context.

Collaboration, teamwork, and contribution to the collective experience are the norms. Individual performance may be recognized, but the collective performance and experience is primary. Contribution to the experiences of others and acquisition of team-oriented skills and practices comprise part of the course and assessment.

Context

In an ideal world, the knowledge and practices of free and open source software (FOSS) would be objective. However, much of knowledge is subjective and representative of a small set of privileged voices. In this class, we will draw on works deriving from a diverse group of practitioners, luminaries, and advocates. Even so, limits will still exist on this diversity. I acknowledge that it is possible that there may be overt and covert biases in material because of the lens through which it was written. Integrating a diverse set of experiences is important for a more comprehensive understanding of FOSS and the open source movement. I would like to discuss issues of inclusion and diversity in the software enterprise and FOSS as part of the course from time to time.

Please contact me directly or submit anonymous feedback (e.g., via Moodle) if you have any suggestions to improve the quality of the course materials.

Furthermore, I would like to create a learning environment that supports diversity (of thoughts, perspectives, and experiences) and honors your identities (background, gender, class, sexuality, religion, ability, …). To help accomplish this:

  • Please let me know your preferred name and set of pronouns (if any); especially if this differs from what appears in your official MSU Denver records.
  • If you feel like your performance in the class is being affected by your experiences outside of class, please don’t hesitate to talk with me. I want to be a resource for you. Remember that you can also submit anonymous feedback (e.g., via Moodle). If you prefer to speak with someone outside of the course, MSU Denver’s Campus Support Programs webpage is a useful resource.
  • I am continually in the process of learning and discovering diverse perspectives and identities. If I or a classmate says or writes something that makes you feel uncomfortable, please talk to me about it.
  • As a participant in discussions, you also should strive to honor the diversity of your classmates.


Course Policies

Preparation & Participation

You are expected to prepare in advance for class sessions (by reading, doing exercises, etc.) and to participate in all class activities and discussions. Participation in class activities and discussions is mandatory and constitutes part of the overall assessment of performance in the course.

The books and references do not provide all of the information necessary to successfully complete the course. Significant information is disseminated during class sessions or via the course websites. You are responsible for knowing this information whether or not you attended the sessions and accessed the websites.

In addition to important domain and course information, the course Moodle website is also the vehicle for managing assignments and assessment.

Utilization of team-oriented skills and practices is expected in this course and comprises part of the assessment. The collective performance of a team comprises a significant aspect of grading.

Grading

The final course grade is determined based on the successful completion of assessment items detailed on the course (Moodle) website and computed as the weighted combination of scores on assignments, projects, and in-class activities. Letter grades will be assigned based on the following levels of achievement.

90%  ≤  A
80%  ≤  B  <  90%
70%  ≤  C  <  80%
67%  ≤  C− <  70%
60%  ≤  D  <  67%
        F  <  60%

Activities, Assignments & Projects

Activities, assignments, and projects afford the opportunity to practice applying the concepts, to enhance understanding, and to demonstrate knowledge and the ability to apply it.

Details regarding assignments and projects are provided in class or on the course websites. Assignment specifications explicitly state submission requirements. These include required use of website submission form fields (e.g., "Online text") and the number, type, and names of uploaded files.

Deliverables

Reflections

Significant learning can result from reflecting on one's own experiences.

Every submitted assignment must include a section, of approximately 150 words of prose, labeled “Reflection”. In this section, you describe personal insights and observations resulting from self-reflection on the experiences associated with the assignment.

This reflection is required whether or not the assignment specification mentions it explicitly. Reflections comprise a portion of the score of every submitted assignment.

Online Submission via Website

Assignments must be turned in using the course Moodle website unless explicitly specified otherwise. In particular, email and hardcopy will not be accepted in lieu of website submission.

Due Dates/Times

Assignments may be submitted at any time prior to the published due date/time.

Submissions made within 24 hours after the published due date/time are considered late and subject to delayed scoring and a 50% reduction of earned points. All risks associated with late submissions are assumed by the student. In particular, system and network failures occurring after the published due date/time will not result in an extension of the late submission acceptance period.

N.B. No assignment submissions will be accepted more than 24 hours after the published due date/time.

Because there are so many risks to completion and submission, you are strongly encouraged to target completion and submission of assignments no less than 24 hours prior to the published due date/time. Computer systems and networks commonly experience "down times". Do not depend on systems, including the course support servers, to be consistently available immediately preceding a deadline. In addition, the instructor may not be available to address questions directly referencing a specific assignment in the 24 hours preceding its deadline.

Illness, crises, and emergency situations will be dealt with on a case-by-case basis in accordance with University, School, and Departmental policies.

Requirements-Based Scoring, Deliverable Formats, and File Naming

Assignment descriptions explicitly state necessary submission requirements, both content and structure, including appropriate use of assignment submission fields and the names and types of uploaded files.

Here are some general file format specifications that apply unless overridden by an assignment specification:

  • The "Online text" field of the Moodle assignment submission form is used for reflections and some text-only responses.
  • File attachments within the "Online text" field are never acceptable.
  • Text-only documentation should be plain (unformatted) text using ASCII or UTF-8 encodings.
  • Files are uploaded individually, not as an archive (unless an archive format is explicitly stated in the assignment specifications).
  • Specifically unacceptable file formats include: Microsoft Word, Apple Pages, Microsoft PowerPoint, Apple Keynote, and Rich Text Format.

If you are unsure about the acceptability of a file format or the specification of a file name, please check with me well before the submission deadline.

  • A deliverable submitted in an incorrect format is equivalent to no submission.
  • A file submission with an incorrect name is equivalent to no submission.

If your submission does not follow the requirements specified for the assignment, exactly matching filenames and formats, your score on the assignment will be zero (0).

There is also a purely practical perspective: assignment submissions are processed using programs designed to the assignment specifications. Thus submissions that do not match the specifications do not get packaged and presented for review and scoring.

 

Collaboration & Citation of Sources

Collaboration, teamwork, and consultation of work by others are the norms in the free and open source community.

Collaborative activity is required for successful completion of this course. In particular, collaboration is regarded as an essential aspect of learning computer science and contributing to open source. Collaboration and discussion with fellow students, instructors, and university resources (such as the Writing Center) is strongly encouraged. You are neither expected nor advised to learn the course content or work on assignments and projects in isolation.

Much of the work in this course will be collaborative in nature. That said, in order to provide fair and meaningful assessment for grading, the work you turn in must reflect your own efforts. You must create your own submissions, reflecting your individual effort, for every assessment item submitted, whether or not the outcome resulted from collaborative effort.

Note that you must compose and submit a personal reflection for every collaborative and individual effort.

Team deliverables are expected to be a joint effort involving all team members. An overall evaluation will be made for each deliverable that reflects the quality of product. An individual grade for each team member will be assigned for each deliverable. This individual grade may reflect a combination of instructor and peer evaluations. You may be expected to assess each team member's contribution, including your own.

  • In every submission, you must credit the people with whom you worked or consulted.
  • If you consult any sources (people or works), your submission must explicitly reference those sources and indicate where and how they apply.
  • If you include direct quotations or derivatives (text, graphics, program code, etc.), your submission must include explicit citations that identify the sources.

Academic Dishonesty

Turning in work that includes quotations or derivatives (text, graphics, program code, etc.) without corresponding citations, does not properly cite references, or does not credit collaborators will be treated as an act of academic dishonesty.

Incidents of suspected dishonesty will be reported to the Chair of the department and the Dean of the college. Consequences may include a score of 0 on the assignment, a grade of "F" for the course, academic probation, or dismissal from the institution. This is a very serious matter and should not be taken lightly. If you have any uncertainty or concerns, please discuss them with your instructor or your advisor.

 


Official Information

Official policies applicable to all courses may be accessed at https://msudenver.edu/math/policies

Students are responsible for full knowledge of the provisions and regulations pertaining to all aspects of their attendance at MSU Denver, and should familiarize themselves with the following policies provided on that website:
  • General University Policies
  • Grades and Notations including WITHDRAWAL FROM A COURSE, ADMINISTRATIVE WITHDRAWAL, and INCOMPLETE POLICIES
    Students should be aware that any kind of withdrawal can have a negative impact on some types of financial aid, including scholarships.
  • Accommodations to Assist Individuals with Disabilities
  • Academic Dishonesty
  • Class Attendance on Religious Holidays
  • Prohibition of Sexual Misconduct
  • Electronic Communication (Student Email) Policy

MSU Denver Academic Calendar: http://www.msudenver.edu/events/academic/
Additional official dates and deadlines, including the last dates to withdraw and holidays

MSU Denver Student Rights and Responsibilities: http://catalog.msudenver.edu/content.php?catoid=32&navoid=2082