Course Syllabus

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

Syllabus and Schedule

PDF of this syllabus: CS464_syllabus.pdf

PDF Schedule for this term: CS464 Schedule.pdf (.docx copy, .odt copy)

Syllabus Quiz (required to be taken to access any of the learning content): Link

CS 464: Open Source Software Development

Credits: 4 (This course combines approximately 120 hours of online activities, discussions and assignments for 4 credits.)

Instructor name: Samarendra Hedaoo

This syllabus and schedule are subject to change in the event of extenuating circumstances.

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

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 Mon

Due Fri

1

Intro and expectations

(Syllabus Quiz)

Discussion 1

2

Anatomy of an OSS Project

Assignment 1 Proposal

Discussion 2

3

Intellectual Property, licensing

Quiz 1

Assignment 1 Report - Project design/contributor usability

Discussion 3

Assignment 2 Proposal

4

The economics of OSS

Discussion 4

5

Project management, OSSDLC

Quiz 2

Discussion 5

6

Testing

Assignment 2 Report - Documentation

Discussion 6

Assignment 3 Proposal

7

History of OSS

Discussion 7

8

OSS and Society

Quiz 3

Discussion 8

9

The OSS community

Assignment 3 Report - Testing

Discussion 9

Assignment 4 Proposal

10

Tools and Trends

Quiz 4

Discussion 10

11

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

 

Course Creator and Instructor Introduction

Course Creator: Hannah Scott

 

Instructor: Samarendra Hedaoo

Grading Policy

Grade breakdown

Description

Qty

Pts each

Pts total

Quizzes

4

6

24

Proposal Assignments

4

4

16

Participation (Discussions)

10

2

20

Report Assignments (except for Final Report)

3

8

24

Final Report Assignment

1

16

16

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 discussion group.

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

Discussing strategies and concepts with classmates.

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.

Name-calling, stalking, or counter-productive comments.

Discussing the assigned reading or quiz questions in the OFFICIAL Teams, on Ed discussions, or in your discussion group. 

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).

Discussion/Participation

Students are expected to participate in all graded discussions. While there is great flexibility in online courses, this is not a self-paced course.

At the beginning of the term you will join one of the Discussion groups (which can be found in the People link on the left sidebar of Canvas). Each week your group will discuss a prompt based on either your progress with the current assignment, an article from the assigned reading, or the application of one of the week's topics on a FLOSS project of your choosing.

You cannot switch groups or be without a group. If you have any concerns about participating in a group discussion, you can reach out to the Instructor over email. If you have not been added to a Discussion group, please reach out to an Instructor or a TA and we will add you.

Note that late submission and late revisions are not allowed for Discussions. Also note that all graded discussions will happen in Canvas and are accessible using the Discussions option from Canvas menu. The Ed Discussion forum will not have any graded discussions.

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 the TA (via a Canvas comment or email along with the original on-time submission) that you plan to submit a revision. You may then submit a revision within 3 days. Discussion posts 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 the TA when you submit your first attempt, 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 Online Classroom

Students are expected to conduct themselves in the course (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 online 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 discussion board.
  • 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]" at the start of the subject line)

Office hours on Team:  Feel free to message me on Microsoft Teams without an appointment; I'm generally very active and will usually get back to you within a few business hours.

Office hours on Zoom by appointment.: Select any time slot marked "CS464 office hours" from https://tinyurl.com/samarendra-office-hours. If none of the timeslots work for you, email me any 4 time slots that work according to your schedule.

Graduate Teaching Assistants:

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

Microsoft Teams (a chat software for office hours and more informal interaction with other students)

Ecampus Student Resources

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

Ecampus 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. Ecampus students are always encouraged to discuss issues that impact your academic success with the Ecampus Success Team. Email ecampus.success@oregonstate.edu to identify strategies and resources that can support you in your educational goals. 

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:
Learn about counseling and psychological resources for Ecampus students. 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/reportingso 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.

The Oregon State Online Writing Suite is also available for students enrolled in Ecampus courses.

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
During Fall, Winter, and Spring term the online Student Learning Experience surveys open to students the Wednesday of week 9 and close 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