CPSC 689 Software Ecosystems Spring 2025

Section

010 12:15 pm - 1:30 pm Arts & Sciences (CAS) 134

Instructor

Dr. Michael L. Collard

Homepage

mlcollard.net

Email

collard@uakron.edu

Office

Arts & Sciences (CAS) 228

Mailbox

Arts & Sciences (CAS) 221

Phone

(330) 972-7191

Office Hours

Available on the instructor’s homepage. Other times are by appointment.

Course Description

The course focuses on analyzing software ecosystems. Software ecosystems refer to the communities of software developers and the interconnected software components (e.g., projects, libraries, packages, repositories, plug-ins, and apps) they develop and maintain. They include the software and the interconnected community of people supporting it.

Other collections of this data include World of Code and Software Heritage, in addition to sites such as StackOverflow and GitHub. Recent research leverages these exponentially growing datasets to answer research questions regarding software development, social analysis, network analysis, maintenance, and evolution.

This course is a seminar. Students will thoroughly read the assigned peer-reviewed research papers and present each paper to facilitate discussion about the topic.

Prerequisites

The course assumes a solid background in software engineering such as CPSC 680 Software Engineering Methodologies, excellent grades in CPSC 480/580 Software Engineering, or a strong software-engineering background.

Credits

3    

Textbooks Selected conference and journal papers. Typically, 4 papers will be covered each week.

Grading Scale

Exercises 10%
Projects 30%
Presentation 25%
Participation 25%
Final 10%
  100%
A ≥ 93%
A- ≥ 90%
B+ ≥ 87%
B ≥ 83%
B- ≥ 80%
C+ ≥ 77%
C ≥ 73%
C- ≥ 70%
D+ ≥ 67%
D ≥ 63%
D- ≥ 60%
F  


Exercises

Exercises will be assigned periodically throughout the course. Exercises are worth 10% of the overall score.

Presentation

Most of the course consists of students presenting research papers. The number of papers presented depends on the number of students in the course, and the number of papers covered. Students who are presenting in a class receive full credit towards class participation in that class meeting. Presentations are worth 25% of the overall score.

Participation

The most important part of the course is participation and is worth 25% of the overall score. Participation includes reading of the assigned papers, class discussion of the papers, and possible paper reviews.

Project

A semester project is required for all students and is worth 30% of the overall score. The project is a 10-page IEEE proceedings format paper for each student. Project topics must be approved. Possible approaches include empirical studies, in-depth literature surveys, and software prototypes. Projects can be done individually or in groups of 2 - 3 students, but each student must produce a separate paper. Students present their paper at the end of the semester.

Final Exam

The Final Exam is in Arts & Sciences (CAS) 134 on the day/time determined by the University and is worth 10% of the overall score. Consult your schedule in "My Akron" for exact day/time.

Policies

Attendance is expected and required.

So that work can be graded and returned promptly, late assignments are not accepted without a valid excuse. It is up to the student to make up any missed material. Make-ups of any work for this class only apply in the case of an excused absence or a documented, valid emergency. I encourage you to contact me if an emergency arises.

Students whose names do not appear University's official 15-day class list are not permitted to participate (attend class, or receive credit.) Consult University information for specific dates and policies regarding the withdrawal policy.

Academic Honesty

All submitted work (exercises, projects, and tests) must be your own. Submission of work that is even partly not yours results in a report to the Office of Student Conduct and Community Standards.

AI Policy

AI tools (such as ChatGPT) are powerful tools that can be used to aid in the learning process. Students should look to their instructors for guidance on the fair and ethical use of AI tools for this course. The inappropriate or unethical use of such technologies will violate the Code of Student Conduct as cheating, plagiarism, fabrication, unauthorized collaboration, misrepresentation, and/or gaining an unfair advantage. The Code of Student Conduct is a University rule that provides the framework for the student conduct process at the University of Akron and defines student misconduct and the process that the University will use to address student misconduct reported to the Department of Student Conduct and Community Standards. Students at the University of Akron are responsible to know and abide by the Code of Student Conduct and all University rules, regulations, and policies.

In this course, students are welcome to use whatever AI tools might help them. However, all writing must be your own. You can use writing tools, such as Grammarly, to improve the writing, but the basic content must be your own.

COVID-19 Policies

The COVID-19 pandemic is still present and serious. Before entering class, you should have completed your daily health assessment. You should not come to class if you fail your health check or feel ill. At that time, I also ask you notify me that you will be absent. When campus policies require masks to be worn indoors, all students are required to wear a mask during in-person classes. While you are in class on campus, you are required to: always cough or sneeze into your elbow or a tissue and adhere to other public safety protocols and directives for your specific classroom/lab/studio. Students who do not follow these health and safety requirements will be instructed to leave class immediately. Students who violate this protocol will need to leave the classroom and MAY be marked absent. Repeated violations of these health-saving protocols may lead to sanctions under the Student Code of Conduct up to and including suspension or expulsion. Current guidelines can be found at: uakron.edu/return-to-campus.

Diversity Policy

This class, as well as the broader University of Akron community, respects diversity and strives for equity and inclusion of all students. Diversity includes how we as individuals identify along the lines of race, color, religion, sex, sexual orientation, gender identity or expression, age, national or ethnic origin, citizenship status, disability, status as a parent during pregnancy and immediately after the birth of a child, status as a parent of a young child, status as a foster parent, military status, genetic information, or status as a veteran. Inclusion and respect for diversity make the classroom and the larger community stronger and foster dialogue and democratic decision-making. As part of ensuring this class is a safe space for all students, please avoid use of negative stereotypes and insensitive or hateful statements toward groups of people. Please respect your classmates’ pronouns. Each of us is responsible for creating a safer, more inclusive environment. If you feel there is something I can do to make the classroom more inclusive, please let me know in person, via email, or by placing an anonymous note in my mailbox. For support services on campus, go to www.uakron.edu/ie/lgbtq or www.uakron.edu/zipassist.

Special Notice

Any student who feels she/he may need an accommodation based on the impact of a disability should contact the Office of Accessibility at 330-972-7928. The office is at 105 Simmons Hall.

The University of Akron is committed to providing an environment free of all forms of discrimination, including sexual violence and sexual harassment. This includes instances of attempted and/or completed sexual assault, domestic and dating violence, gender-based stalking, and sexual harassment. Additional information, resources, support and the University of Akron protocols for responding to sexual violence are available at uakron.edu/Title-IX