Course Syllabus

PDF of this syllabus: Download CS464_S20.pdf

When you've finished reading the syllabus, please proceed to the Syllabus Quiz

CS 464 Open Source Software Development

Credits: 4

Instructor name: Hannah Scott and Samarendra Hedaoo

Instructor email: scothann@oregonstate.edu and hedaoos@oregonstate.edu 

Teaching Assistant name and contact info: TBA

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

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

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.

Students in this section may be required to interact with teachers, teaching assistants, undergraduate learning assistants, and students in other concurrent sections of this same course.

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 Links to an external site. online.

Learning Resources

Producing Open Source Software (Karl Fogel) https://producingoss.com/ Links to an external site. (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

Week

Topic

Due Mon

Due Fri

1

Intro and expectations

(Syllabus Quiz)

Discussion 1

Assignment 1 Proposal

2

Anatomy of an OSS Project



Discussion 2

3

Intellectual Property, licensing

Quiz 1

Assignment 1 - 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 - 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 - Testing

Discussion 9

Assignment 4 Proposal

10

Tools and Trends

Quiz 4

Discussion 10

Finals

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

 

Instructors Introduction

Hannah Scott

 

Samarendra Hedaoo

Return to Modules

Course Summary:

Date Details Due
Loading