Course Syllabus

banner_home.png

Download the syllabus as a PDF.

Some links may only be accessible to currently enrolled students.

CS 464 Open Source Software Development

Credits: 4

Instructor name: Hannah Scott

Instructor email: scothann@oregonstate.edu 

Teaching Assistant name and contact info: TBA

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 Schedule

Week

Topic

Due Wed

Due Fri

1

Intro and expectations

(Syllabus Quiz)

Discussion 1

 

2

Anatomy of an OSS Project

Documentation

Discussion 2

Assignment 1 Proposal

Quiz 1

 

3

Intellectual Property, licensing

 

Discussion 3

 

Assignment 1 - Project design

4

The economics of OSS

Discussion 4

Assignment 2 Proposal

 

Quiz 2

5

Project management, OSSDLC

Discussion 5

Assignment 2 - Documentation

6

Testing

Discussion 6

Assignment 3 Proposal

Quiz 3

7

History of OSS

OSS and Society

Discussion 7

Assignment 3 - Testing

Assignment 4 Proposal

8

FLOSS Skills

Tools and Trends

Discussion 8

Assignment 4 (Final)

Quiz 4

Make-up Discussion (Optional)

Grading Policy

Description

Qty

Pts each

Pts total

Quizzes

4

6

24

Proposals

4

2

8

Discussions

8

4

32

Reports

3

8

24

Final Report

1

12

12

Total

100

In this course, the points are transparent (meaning, an assessment worth, e.g., 3 points is worth 3% of your grade). 

 

Letter Grade

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

Grading Policy

Your grade for each assessment will be based on the rubric, which will be visible to you as soon as the assignment becomes available. Graders will all follow the same rubric. Submitting assessments (quizzes, reports, assignments, discussion board posts) according to the instructions/rubric in accordance with the syllabus policies and deadlines is the only way to earn points toward your final grade in this course. 

I cannot ever give points or change your grade for any of the following reasons:

  • Your boss won't reimburse tuition unless you get an A / passing grade. 
  • You would be eligible for the Dean's List, or some other recognition or scholarship, if you were to get an A in this class. 
  • Your classmates / friends think you are a good student. 
  • You are on probation and have to get an A in this course.

If you think there has been a mistake in the grading of one of your assignments (i.e. the grade you were given does not align with the rubric), email your grader to get clarification (you can CC me). If you are not satisfied with the grader's explanation/resolution on an assignment, you may email me (once) to ask for a regrade of that assignment. If you are not satisfied with my regrade decision, you may email the Associate School Head Chris Hundhausen chris.hundhausen@oregonstate.edu

 

Student Conduct

Allowed :)

NOT allowed >:(

Showing your work to an instructor or TA, or sharing report drafts with your discussion group.

Posting assignment instructions or solutions outside of class. 

Discussing strategies and concepts with classmates.

Submitting someone else's work as your own or claiming their work as yours (including AI-generated content). 

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 questions by email, on Teams, or on Ed Discussions

Asking repeatedly for a change in your grade or for an extension or exception to a policy after receiving an answer. 

Disagreeing with someone on the message board.

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

Discussing the assigned reading or quiz questions in Teams, on Ed Discussion, or in your Canvas 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. These proposals need to be written by you (not by someone else or generated by AI). 

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. These reports need to be written by you (not by someone else or generated by AI). 

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. Discussions are not eligible for the revision period.  Active interaction with peers and your instructor is essential to success in this online course, and we ask that you pay 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.
  • Discussion posts need to be written by you (not by someone else or generated by AI). 
  • At the end of the term, you may choose to participate in an optional Discussion to replace your lowest Discussion grade. 

 

Deadline, Revision, and Late Work Policy

You must submit all assignments before the due date. We will 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 assignments. If you (or your group) are unable to fulfill an assignment proposal or report to your satisfaction before the due date--for any reason--you may notify the TA (via a Canvas comment 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/replies, quizzes, 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 three days (ending at 11:59pm 72 hours after the original deadline),

then your grade will reflect your final submission only without incurring penalties. If you do not resubmit within the revision period, your grade will reflect your original (potentially incomplete) submission. 

If nothing is submitted by the deadline, Canvas will put an automatic 0 in the gradebook for that assessment. Graders will skip grading assignments that have a 0 put in already. For eligible Assignments, if you submit something (anything) before the deadline, then Canvas won't put that 0 in and your grader will see your submission. They will check for a comment to see if you are planning to use the revision period, and if so then they will hold off on grading your work until the revision period ends. So if you want an extension, submit something before the deadline, or you'll get a 0 that won't change. 

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

You may submit your draft early (most assignments will have templates that you can use to start your draft) with your comment in Canvas to guarantee your 3-day revision extension (even if you don't end up needing it). 

Here are some examples of things which are NOT unavoidable emergencies, and which would therefore not qualify a student for an exception to the deadline/revision policy:

  • forgetting to turn it in
  • assuming it was a group assignment and that groupmates would complete the work and turn it in for you
  • not knowing when the deadline was
  • meaning to turn it in without actually turning it in
  • birthdays
  • working part time / full time / overtime
  • being busy
  • taking too many classes

Proctored Exams

There will be no exams in this course. Quizzes are open-note and untimed with unlimited attempts, but are not eligible for the revision period. 

Incompletes

Incomplete (I) grades may 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 more than 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.

Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code (https://beav.es/codeofconduct). Students are expected to conduct themselves in the course (e.g., on discussion boards, email, Canvas message, Teams chat) in compliance with the university's regulations regarding civility.

We also expect polite conduct toward the instructor and graders. When you need help, are confused, if there has been a mistake in grading, or if you just don't understand your grade, I want you to contact me so that I can try to help. But we (myself and the graders) are human and deserve to be treated with respect. Harassment of the instructor and/or graders (e.g. sending repeated messages arguing for a grade change or policy exception after being given a clear answer) may be reported to the office for misconduct.  

 

Communication and Where to Go for Help

We have Ed Discussions available as a class forum/message board, and Teams for synchronous communication (like office hours). 

Ecampus Student Resources

 

University Policies

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.

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.

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 at oregonstate.edu/ReachOut. 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)

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.

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 Evaluation of Courses

The online Student Evaluation of Teaching system opens to students during the week before finals and closes the Monday following the end of finals. Students receive notification, instructions and the link through their ONID. They may also log into the system via Online Services. Course evaluation results are extremely important and used to help improve courses and the online learning experience for future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity) and unavailable 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.

Return to Modules

Course Summary:

Date Details Due