View on GitHub

CSC575

Open Source Software Development

CSC575: Open Source Software Development

Quinnipiac University


Course Information

Course: CSC575 - Open Source Software Development
Section: 01
Meeting Time: Monday / Wednesday, 2:00 PM - 3:15 PM
Location: TH130


Instructor Information

Instructor: Dr. Kruti Shah
Email: kruti.shah@quinnipiac.edu
Office Phone: (203) 582-7335
Office Location: CCE 238

Office Hours

If these times do not work, please email me and we will find a mutually convenient time.


Who Is Your Professor?

Hi everyone! I’m Dr. Kruti Shah. I started my journey with a Bachelor of Engineering in Computer Science in India, went on to earn a master’s at California State University, Los Angeles, and later completed my Ph.D. in Computer Science at the University of North Dakota. My research focuses on software engineering and artificial intelligence especially on how we can use technology to build reliable and impactful systems. This is my second year at Quinnipiac University. This past summer I worked with a group of both undergraduate and graduate students on an exciting research project: designing an AI-powered system to help visually impaired individuals navigate more independently. I’m also serving as the advisor for the Quinnipiac Computing Club (QCC). My goal for this course is not just to cover material, but to create a space where you feel comfortable asking questions, exploring new ideas, and even connecting what we do here with larger research or career goals. I look forward to learning and growing together with you this semester!


How to Contact Me

Email is the best way to reach me.


Course Description

This course introduces students to the principles, practices, and culture of Open Source Software (OSS) development. Students explore the history and philosophy of free and open-source software, licensing models, community governance, and ethical considerations. The course emphasizes hands-on experience, including using version control systems, collaborating through GitHub, evaluating open-source projects, and making meaningful contributions to real-world OSS projects.

Course materials are available at:


Course Format

This course follows an active, project-based learning model. Class meetings include:

Students will work in teams while also completing individual reflections and submissions.


Course Learning Outcomes (CLOs)

By the end of this course, students will be able to:

  1. Explain the history, philosophy, and principles of free and open-source software.
  2. Analyze and compare open-source licensing models and governance structures.
  3. Use version control systems (git) and collaboration platforms (GitHub) effectively.
  4. Evaluate open-source projects based on technical, social, and community factors.
  5. Function effectively as a member of a small development team.
  6. Contribute documentation, testing, design, or code to an open-source project.

ABET Student Outcomes Addressed

ABET CAC Outcomes

ABET EAC Outcomes


Learning Resources

Textbook

There is no required textbook. All readings, activities, and project materials are available through the course website and GitHub repository.

Software & Tools

Blackboard will be used for grades and official announcements. GitHub will be used for assignments and project work.


Assessment & Grading

Grading Breakdown

Category Weight
Reading Activities + Presentations 20%
Project Assignments 40%
Project Presentations 30%
Professionalism 5%
Total 100%

Reading Activities + Presentations (20%)

You may complete readings and discussions with your team; however, each student must submit an individual reflection.

Activity Weight Link
1.A.1 5% 1.A.1
1.A.2 5% 1.A.2
1.A.3 1% 1.A.3
1.B.1 3% 1.B.1
1.B.2 3% 1.B.2
1.B.3 3% 1.B.3

Project Assignments (40%)

Students will complete a semester-long open-source project in teams of two.

Assignment Weight Link
PA-01 (Exploration) 5% PA-01 – Project Exploration
PA-02 5% PA-02 – Project Reviews
PA-03 5% PA-03 – Project Selection
PA-04 5% PA-04 – Tech Spike Prep
PA-05 20% PA-05 – Contributions

Project Presentations (30%)

Presentation Weight Link
PP-01 5% PP-01
PP-02 5% PP-02
PP-03 5% PP-03
PP-04 15% PP-04

Professionalism (5%)

Professionalism includes:


Attendance Policy

Regular attendance is expected. If you must miss class due to illness or other circumstances, notify me as soon as possible. You are responsible for all material and announcements covered in class.


Late Work Policy

Time After Deadline Penalty
Up to 48 hours −10%
2–7 days −10% per day
After 7 days Not accepted unless arranged in advance

Extensions for projects are granted if requested at least 24 hours before the deadline.

Sometimes stuff just happens. Sometimes it is an unexpected sudden event such as an illness or family emergency. Other times it may be an ongoing issue or concern or an accumulation of smaller issues. Any of these things may affect your (or my) ability to focus or perform up to your (or my) potential through no shortcoming or fault of your (or my) own. This course provides a kind and caring community and we want to see you achieve at your full potential. So, if you are experiencing life events that are affecting your performance please don’t hesitate to talk to your instructor. It is always best to contact the instructor in advance if you are going to miss a class meeting or an assignment due date. I will similarly communicate to you any issues that I am facing in advance and we will adapt.


Academic Integrity

Students must follow Quinnipiac University’s Academic Integrity Policy. All work must be original. Unauthorized collaboration, plagiarism, or misuse of tools (including AI tools such as ChatGPT) is prohibited unless explicitly permitted.

Policy: https://catalog.qu.edu/university-policies/academic-integrity-policy/


Learning Commons & Accessibility

Quinnipiac University provides academic and accessibility support through the Learning Commons and the Office of Student Accessibility.


AI Use

The use cases of AI listed below are permissible in this course. Any use of AI other than the listed use cases is not permitted. Any evidence of impermissible use of AI will be treated as a violation of Academic Integrity as described above. If you have any question about whether you can use AI for a particular purpose in the course, please discuss it with the instructor prior to using it.


Recording Policy

Lectures may only be recorded with an approved accommodation. Any instructor-initiated recordings will be announced in advance.


Semester Schedule – CSC575: Open Source Software Development

Note: This schedule is subject to change. Any updates will be announced in class and reflected on the course website.

Course Schedule (Updated for 1/26 Campus Closure)

Date Topic / In-Class Activity Assign
1/21 Course Introduction
1/26 Campus Closure - Bad Weather (No Class)
1/28 In-class: Reading 1.A.1 1.A.2, 1.A.3
2/2 Presentations: 1.A.1
2/4 Presentations: 1.A.2 1.B.1
2/9 In-class: 1.B.1 1.B.2
2/11 In-class: 1.B.2 1.B.3
2/16 In-class: 1.B.3 PA-01
2/18 In-class: PA-01
2/23 In-class: PA-01 PA-02
2/25 In-class: PA-02
3/2 In-class: PA-02 PA-03
3/4 In-class: PA-03
3/9 🎉 Spring Break
3/11 🎉 Spring Break
3/16 In-class: PA-03 PA-04
3/18 In-class: PA-04
3/23 In-class: PA-04
3/25 PP-01: Tech Spike Presentation PA-05
3/30 In-class: PA-05
4/1 In-class: PA-05
4/6 PP-02: Status Report Presentation
4/8 In-class: PA-05
4/13 In-class: PA-05
4/15 PP-03: Demo Day Presentation
4/20 In-class: PA-05
4/22 In-class: PA-05
4/27 In-class: PA-05
4/29 PP-04: Final Project Presentation

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

GPL V3 or Later All executable code used in this course is licensed under the GNU General Public License Version 3 or later