Course Syllabus

NOTE: Some links on this page may only be accessible to registered students.

Syllabus and Schedule

Syllabus: This Canvas webpage with the tabs. PDF copy to be made available later.

PDF Schedule: CS464 Cascades Spring 2023 - Schedule.pdf 

CS 464: Open Source Software

This syllabus and schedule are subject to change in the event of extenuating circumstances.
Credits: 4 (This course combines approximately 120 hours of activities, explorations and assignments for 4 credits.)

Instructor name: Samarendra Hedaoo (hedaoos@oregonstate.edu)

Please always include "[CS464-501]" at the start of the subject line when emailing.

Class Meeting time:
Course Description

This course provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects, and give students an opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.

Prerequisites : CS 261/CS 361 (can be taken together)

Technical Assistance

If you experience any errors or problems while in your online course, contact 24-7 Canvas Support through the Help link within Canvas. If you experience computer difficulties, need help downloading a browser or plug-in, or need assistance logging into a course, contact the IS Service Desk for assistance. You can call (541) 737-8787 or visit the IS Service Desk online.

Learning Resources

Producing Open Source Software (Karl Fogel) https://producingoss.com/ (Free)

Measurable Student Learning Outcomes

At the completion of this course, students will be able to:

  1. Describe the differences between Proprietary Software and Open Source Software
  2. Describe the historical evolution of the Open Source movement, society’s adoption of Open Source software, and the wider technical and societal impact this has had.
  3. Explain what tools an Open Source Project needs to support distributed development work, and how projects are organized
  4. Analyze the different Open Source licensing models and their affordances
  5. Choose, join, and make a technical contribution to an existing Open Source project

Course Content and Schedule

Tentative Schedule for the Term

Week

Topic

Due Monday

Due Friday

1

Intro and expectations

(Syllabus Quiz)

Activity 1

Assignment 1 Proposal

2

Anatomy of an OSS Project

Activity 2

Quiz 1

3

Intellectual Property, licensing

Activity 3

Assignment 1 Report - Project design/contributor usability

 

Assignment 2 Proposal

4

The economics of OSS

Activity 4

 

5

Project management, OSSDLC

Activity 5

Quiz 2

6

Testing

Activity 6

Assignment 2 Report - Documentation

 

Assignment 3 Proposal

7

History of OSS

Activity 7

 

8

OSS and Society

Activity 8

Quiz 3

9

The OSS community

Activity 9 (online, due Tuesday)

Assignment 3 Report - Testing (due Tuesday)

 

Final Proposal

10

Tools and Trends

Activity 10

Quiz 4

11

Assignment 4 (Final Report; portfolio assignment; contribution) due Wednesday

Instructor Introduction

Instructor: Samarendra Hedaoo

Course Creator Introduction

Course Creator: Hannah Scott

Most of the material in this course including the explorations and readings were created and compiled by Hannah Scott.

Grading Policy

Grade breakdown

Description

Quantity

% of your Final Grade

Quizzes

4

16 %

Proposal Assignments

4

16 %

Activities

10

24 %

Report Assignments (except for Final Report)

3

24 %

Final Report Assignment

1

20 %

Total

100

 

Letter Grade

Table listing letter grade for percent floor

Grade

Percent Floor

A

90

A-

88

B+

85

B

80

B-

78

C+

75

C

70

C-

68

D+

65

D

60

D-

58

F

0

 

Course Policies

Student Conduct

A table listing what is allowed and what isn't for this course

Allowed :)

NOT allowed >:(

Showing your work to an instructor or TA, or sharing report drafts with your class on Ed Discussion forum.

Giving your work to a (current or future) student so they can copy it.

Discussing strategies and concepts with classmates on Ed Discussion forum.

Submitting someone else's work as your own or claiming their work as yours.

Submitting incomplete work before the deadline with a note saying you are going to resubmit.

Asking for an extension after missing the deadline for an assignment (except in unavoidable emergencies).

Asking too many questions by email, in Team, or on the class message board.

Not understanding what you need to do, not asking for help, and then asking what you can do after it’s too late.

Disagreeing with someone on the message board or in the class.

Name-calling, stalking, or counter-productive comments in the class.

Discussing the assigned reading or quiz questions on Ed discussions, or during the class.

Sharing the quiz questions or answers publicly or outside of a class communication medium. 

Choosing Open Source Projects

Several assignments in this course will require that you interact with projects on Github. When choosing a project, you should consider how your involvement will reflect on you as a professional. Your final project (a technical contribution to an open source project) will be part of your public portfolio. If a project would be embarrassing to have on your resumé, or would call your character into question it is likely not appropriate for this course.

Projects which violate the university’s Student Conduct and Community Standards are ineligible for credit for this class. Software products which

  • violate copyright law (including “knock-off” products of commercial property such as video games),
  • facilitate unethical practices (especially concerning personal data), or
  • are designed to harm a system or force access into a system

are not acceptable as selections for the assignments in this class. It is your responsibility to review the project and assess whether it is in keeping with these standards. If you are unsure whether a product violates these standards, please consult the instructor or a TA.

Finally, the projects you choose for the assignments cannot be projects that were authored primarily or solely by you.

Proposals

You will be asked to submit four proposals, one for each major assignment in this class. The proposal will include information about the OSS project you will be working on and what you plan to accomplish with it. If your project is deemed ineligible for credit, you will be asked to use a different project for the report. These will be graded according to a rubric which you will be able to view with the instructions.

Reports

You will be asked to submit four reports which follow up on the proposals submitted prior. These will detail the work you completed, including a description of the work and evidence such as screenshots, commit logs or a “diff” file. These will be graded according to a rubric which you will be able to view with the instructions.

Exams

This course does not have any exams.

Quizzes and Assigned Reading

This course has four quizzes that are intended to help you absorb the content in the exploration pages and assigned reading. You will have unlimited attempts to do each quiz, but the questions will be pulled randomly and thus may not be the same for repeated attempts.

The quizzes are open-note, but questions may not use identical wording as the reading, so I recommend being familiar enough with the text that you possess a basic understanding of its contents before attempting the quiz (rather than relying on searching the articles for phrases from the questions).

Activities

Students are required to participate in all the graded activities during the class meeting hour.

If you have any concerns about participating in a group activity, you can reach out to the Instructor over email.

Note that late submission and late revisions are not allowed for Activities. Also note that all graded activities will happen during the class meeting time. The Ed Discussion forum will not have any graded activites.

Late Work Policy

You must submit all assignments before the due date. We do not accept submissions if the deadline is missed. If you do not submit before the due date, you will receive no credit.

However, we do have a "revision grace period" policy for the quizzes and assignments. If you are unable to fulfill an assignment, project step, or quiz to your satisfaction before the due date--for any reason--you may notify via a Canvas comment on your on-time submission, that you plan to submit a revision. You may then submit a revision within 3 days. Activites and the Final report are not eligible for late revisions.

If you 1) submit a partial fulfillment of the requirements before the due date, 2) notify via a Canvas comment when you submit your first attempt that you intend to submit a revision, and then 3) resubmit a revised version of your work within 3 days, your grade will reflect your final submission only without incurring penalties. If you do not resubmit within 3 days, your grade will reflect your original (potentially incomplete) submission.

Exceptions may be made at the instructor’s discretion for documented emergencies e.g. hospitalization, or extraordinary extenuating circumstances.

Incompletes

Incomplete (I) grades will be granted only in emergency cases (usually only for a death in the family, major illness or injury, or birth of your child), and if the student has turned in 80% of the points possible (in other words, usually everything but the final paper). If you are having any difficulty that might prevent you completing the coursework, please don’t wait until the end of the term; let me know right away.

Guidelines for a Productive and Effective Classroom

Students are expected to conduct themselves in the class (e.g., on discussion boards, email) in compliance with the university’s regulations regarding civility. Civility is an essential ingredient for academic discourse. All communications for this course should be conducted constructively, civilly, and respectfully. Differences in beliefs, opinions, and approaches are to be expected. In all you say and do for this course, be professional. Please bring any communications you believe to be in violation of this class policy to the attention of your instructor.

Active interaction with peers and your instructor is essential to success in this course, paying particular attention to the following:

  • Unless indicated otherwise, please complete the readings and view other instructional materials for each week before participating in the activity.
  • Read your posts carefully before submitting them.
  • Be respectful of others and their opinions, valuing diversity in backgrounds, abilities, and experiences.
  • Challenging the ideas held by others is an integral aspect of critical thinking and the academic process. Please word your responses carefully, and recognize that others are expected to challenge your ideas. A positive atmosphere of healthy debate is encouraged.

Communication Policy and Where to Go for Help

Samarendra Hedaoo (instructor): hedaoos@oregonstate.edu (Please always include "[CS464-501]" at the start of the subject line)

Office hours on Zoom by appointment: Book any available timeslot slot from https://tinyurl.com/samarendra-homework-help-hours If none of the timeslots work for you, email me any 4 time slots that work according to your schedule.

Ed Discussions (a Q&A forum for help from the instructor and other students)

University Policies

Academic Calendar
All students are subject to the registration and refund deadlines as stated in the Academic Calendar: https://registrar.oregonstate.edu/osu-academic-calendar

Statement Regarding Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Student Conduct Expectations link:  https://beav.es/codeofconduct

Student Bill of Rights
OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus: https://asosu.oregonstate.edu/advocacy/rights

Reach Out for Success:

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor.
Learn about resources that assist with wellness and academic success.

If you feel comfortable sharing how a hardship may impact your performance in this course, please reach out to your instructor via email.

For mental health:
If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).

For financial hardship:
Any student whose academic performance is impacted due to financial stress or the inability to afford groceries, housing, and other necessities for any reason is urged to contact the Director of Care for support (541-737-8748).

Accessibility of Course Materials

All materials used in this course are accessible. If you require accommodations please contact Disability Access Services (DAS) .

Additionally, Canvas, the learning management system through which this course is offered, provides a vendor statement certifying how the platform is accessible to students with disabilities.

Code of Conduct

The Code of Student Conduct prohibits Academic Misconduct and defines it as:

Any action that misrepresents a student or group’s work, knowledge, or achievement, provides a potential or actual inequitable advantage, or compromises the integrity of the educational process.

To support understanding of what can be included in this definition, the Code further classifies and describes examples of Academic Misconduct, including cheating, plagiarism, assisting and others. See the  Code of Student Conduct  for details.

You are expected to do your own work and demonstrate academic integrity in every aspect of this course. Familiarize yourself with the standards set forth in the OSU Code of Student Conduct Section 4.2. You must only access sources and resources authorized by the instructor. You may not show your work to any other current or future students without the instructor’s authorization. Violations of these expectations or the Code of Student Conduct will be reported to the Office of Student Conduct and Community Standards. If there is any question about whether an act constitutes academic misconduct, it is your responsibility to seek clarification and approval from the instructor prior to acting.

Establishing a Positive Community:

It is important you feel safe and welcome in this course. If somebody is making discriminatory comments against you, sexually harassing you, or excluding you in other ways, contact the instructor, your academic advisor, and/or report what happened at https://studentlife.oregonstate.edu/studentconduct/reporting so we can connect you with resources.

Tutoring and Writing Assistance

NetTutor is a leading provider of online tutoring and learner support services fully staffed by experienced, trained and monitored tutors. Students connect to live tutors from any computer that has Internet access. NetTutor provides a virtual whiteboard that allows tutors and students to work on problems in a real time environment. They also have an online writing suite where tutors critique and return essays within 24 to 48 hours. Access NetTutor from within your Canvas class by clicking on the Tools button in your course menu.

TurnItIn

Your proposals and reports will be submitted to Turnitin, a plagiarism prevention service. Your assignment content will be checked for potential plagiarism against Internet sources, academic journal articles, and the papers of other OSU students, for common or borrowed content. Turnitin generates a report that highlights any potentially unoriginal text in your paper. The report may be submitted directly to your instructor or your instructor may elect to have you submit initial drafts through Turnitin, and you will receive the report allowing you the opportunity to make adjustments and ensure that all source material has been properly cited. Papers you submit through Turnitin for this or any class will be added to the OSU Turnitin database and may be checked against other OSU paper submissions. You will retain all rights to your written work. For further information, visit Academic Integrity for Students: Turnitin – What is it?

Student Learning Experience Survey
The online Student Learning Experience surveys open to students the Wednesday of week 9 and closes the Sunday before Finals Week. Students will receive notification, instructions, and the link through their ONID email. They may also log into the survey via MyOregonState or directly at https://beav.es/Student-Learning-Survey. Survey results are extremely important and are used to help improve courses and the learning experience of future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity of written comments) and are not available to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.

Course Summary:

Date Details Due