Skip to content

Open-Source-Studio-at-ITP/Syllabus

Repository files navigation

Open Source Studio

Open Source Studio is a class about maintaining an inclusive, healthy open source project. The first half of the semester will cover a variety of aspects related to community, project management, and technical material for open source projects. Students will complete weekly exercises around contributing to open source. The second half of the semester will transition to a "studio" style course. Students will work together and propose a contribution to an open source project or develop their own project. We'll use a broad definition for "open source" project with an emphasis on documentation and collaboration. Guest speakers will visit the class in person or via video to talk about their experience maintaining an open source project.

Expectations

  • There will be a weekly homework assignment weeks 1 to 6. For each assignment:
    • Complete a short technical exercise.
    • Complete the readings.
    • Write a reflection on the exercise and readings in the form of a blog post (or equivalent).
  • In addition to the weekly assignments, all students will be required (in small groups) to present a "case study" evaluation of an open source project.
  • Weeks 7-8, you will be expected to create a project proposal in the form of a blog post (or equivalent). This should include:
    • Summary of project idea.
    • Bios of contributors.
    • Proposed timeline.
    • Proposed mentors or advisors (more to come about this).
  • Weeks 9-13 will focus on developing the project.
  • Week 14 you will be expected to present your final project and complete a written reflection. See below for more details.

Week 1: Introduction, Sept 4

What are the essential elements of an open source project and community?

Git and GitHub basics

Reading

Assignment:

Outside Collaborator Posts

Week 2: More Version Control and Project Management, Sept 11

"Open Source Studio" Triage and Discussion

  • GitHub Organization
    • People / Teams
  • Project Management
    • issues, labels
    • milestones
    • projects
    • wiki

More Git and GitHub

  • Branches and Forks
  • Using the command line
  • Merge conflicts!

Reading

Assignment (Due Sept 25)

Week 3: Code of Conduct / Community, Sept 18

Guest Speaker

Example Code of Conduct

Reading

Assignment

Week 4: Unit Testing and Continuous Integration, Sept 25

Guest

Unit Testing with Jest

Unit Testing with Mocha and Chai

Continuous Integration

Assignment (Due Oct 2)

Week 5: Documentation and Accessibility, Oct 2

Guest Speaker

Accessibility Reading

Assignment

No class Oct 9!

Week 6: Licensing and Funding, Oct 16

Guest Speaker

Licenses

Funding

Reading

Assignment

Week 7: Project Idea Workshop, Oct 23

Guest Speaker

Open Source Contributor Programs

Assignment

  • Continue discussion on GitHub issues for Step 1. If you are thinking of working on one of the ideas you could "assign" yourself to it. If it's an idea you would like help with add the "help wanted" label. Or maybe you have another idea for how to organize and label the issues?
  • Review the Project Proposal template and submit any pull requests with suggestions or file issues with questions, concerns, and feedback. Note your proposal is due Nov 6th for presentation in class (more on that to come.)

Week 8: Project Idea Workshop, Oct 30

Guest Speaker

Week 9: Project Proposals, Nov 6

Week 10: Project Development Studio, Nov 13

Week 11: Project Development Studio, Nov 20

Week 12: Project Development Studio, Nov 27

Week 13: Project Development Studio, Dec 4

Week 14: Final Presentations, Dec 11

In addition to completing a final project for the course and presenting it in class as a group, each student is required to write a written reflection.

  • Summarize the open source project in a few sentences.
  • Summarize your contribution to the project.
  • How has your idea changed from your initial project proposal?
  • To what extent did you stick to your original timeline, how did it change?
  • What did you learn?
  • How did you get feedback as you worked on your project?
  • Do you plan to continue to work on this open source project?
  • How do you feel about contributing to open source in the future?

Policies

Evaluation

You are required to attend all class meetings and submit all weekly assignments and a final project.

Grading (pass/fail) will be based on a combination of factors:

  • Attendance, participation in class discussion, and engagement in other students' projects (40%)
  • Assignments (40%)
  • Final Project (20%)

Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".

Attendance is mandatory. Please inform your teacher via email if you are going to miss a class. Two unexcused absences is cause for failing the class. (An unexcused lateness of 10 minutes or more is equivalent to 1/2 an absence.)

This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. This (along with attendance) is 40% of your grade.

Class will culminate with final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade.

Statement of Academic Integrity

Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.

Statement of Principle

The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members. It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice. Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards. For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook, which can be found online at: http://students.tisch.nyu.edu/page/home.html

Statement on Accessibility

Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you. Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information.

Statement on Counseling and Wellness

Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources.

Statement on use of Electronic Devices

Laptops will be an essential part of the course and may be used in class during workshops and for taking notes in lecture. Laptops must be closed during class discussions and student presentations. Phone use in class is strictly prohibited unless directly related to a presentation of your own work or if you are asked to do so as part of the curriculum.