Prerequisites (for undergraduates):

  • CS 314 (C or better)
  • STAT 301 or STAT 315 (C or better)

No specific programming language is required, but familiarity with programming and data analysis is helpful. Students are encouraged to explore the GitHub API to mine OSS data, something we do often in this class! Skills in statistical analysis are also valuable: we’ll use regression models to analyze patterns such as predicting time-to-merge, estimating contributor disengagement, or examining the impact of comment tone on developer activity. To conduct the quantitative analysis, students will need access to a computer with R or Python. and LaTeX, and a programming environment capable of accessing the GitHub API and the internet. 

Course Learning Objectives (CLOs):

CLO1 – Understand how AI is influencing developer cognition, creativity, and productivity.

CLO2 – Analyze how AI adoption shapes developer behavior, participation, and retention.

CLO3 – Apply mixed-methods research to study human–AI collaboration in software development.

CLO4 – Identify and evaluate how AI affects feedback, inclusiveness, and toxicity in developer communication.

CLO5 – Design and conduct empirical studies of developers using AI, based on survey data and repository mining.

Course Materials:

The course is based on content from multiple sources, mainly academic papers published in top Software Engineering venues. The purchase of a textbook is not required, but I’ll bring parts of this book to revisit and discuss some of its thought-provoking ideas, which feel especially relevant in the era of AI

Additional content will be provided from various sources, including research papers, blog posts, videos, podcasts, slide decks, etc. 

  • Frederick P. Brooks, Jr – The Mythical Man-Month – Anniversary Edition

Grading Scale and Policies (in-person students):

  • Research Project: (40%)
  • Present your project (15%)
  • Participation on other’s presentations (5%)
  • Class participation (15%)
  • Assignments and quizzes on the topics covered in class (25%)
  • A (94-100%), A- (90-94%), B+ (87-90%), B (84-87%), B- (80-84%), C+ (75-80%), C (70-75%), D (60-69%), F (below 60%)

Late assignments:

Assignments with a due date in Canvas will not accept late submissions.

The due dates will always be at 11:59 pm MDT time.

“Emergencies” require that YOU contact the instructor as soon as possible. Students’ requests for late submissions after the due date may not be granted.

Course Content: see Canvas

Academic Integrity:

Adherence to the university’s academic integrity policy is expected. Academic dishonesty, including plagiarism, cheating, and misrepresentation, will not be tolerated.

Accessibility:

Students requiring accommodations should contact the Student Disability Center to ensure that all needs are met.

Class Participation:

Active participation in discussions and group activities is expected. Everyone is expected to engage respectfully and constructively.

Class attendance will be recorded. While participation is the grade, you are required to attend to get a participation grade. Therefore, we will allow you (no questions asked) to be absent five times in the semester. Unless in extreme cases with documentation from case management, I may consider other options. These five absences can be used to travel to a conference, because you are sick, or you just don’t want to come. We will track attendance for face-to-face students to comply with student financial aid requirements. In addition, we will provide extra credit to those who attend above 90% of classes.

Communication Policy:

I use email for all communication and will respond as quickly as possible, usually within 48 hours. You can reach me via Teams, but I cannot guarantee a synchronous response. Put URGENT in the subject if you need me to expedite the request.

CSU policies:

The page https://col.st/2FA2gLinks to an external site. provides policies and resources to help with various challenges you may encounter, including, Canvas Information and Technical Support, Universal Design for Learning/Accommodation of Needs, Undocumented Student Support, Food Insecurity, Title IX/Interpersonal Violence, Religious Observances, CSU Principles of Community, Diversity and Inclusion, Student Parents/Guardians/Caregivers, Student Case Management, Mental Health and Wellness.

Use of Generative AI:

We will run studies and write scientific papers in this course, and we want them to be accepted. Conferences, journals, and magazines now require that any content generated by Generative AI be referenced appropriately or acknowledged.

We follow the IEEE submission policy (link) and the ACM authorship policy (link).

When using Generative AI to improve the quality of your text, be very careful. Even when using it for grammar enhancements, always double-check the output before incorporating it.

While Generative AI is a powerful tool, it’s essential to critically evaluate the content it produces. AI-generated data can carry biases, results may be hallucinated, and references are many times incorrect. Moreover, submitting a paper with vague or unsound text greatly increases the risk of rejection.

Whether you aim to publish to enhance your CV or improve your skills, I am here to help you refine your skills. Professionals who effectively use large language models (LLMs) as tools while critically assessing their outputs will thrive in their careers. You can only critique AI-generated content if you have the foundational knowledge to discern accuracy.

So, keep in mind:

  • References hallucination will be a reason to downgrade TO ZERO, as you used LLMs without checking. No excuses.
  • Critical thinking is key. 
  • Overreliance on LLMs is not the solution.
  • You must fully understand the content you present. This includes being able to explain and defend it during discussions.

You have the opportunity to learn from an instructor who is an award-winning author at top-tier Software Engineering conferences. Take full advantage of this by seeking guidance and feedback on writing and structuring your paper. I’m here to support you now. Don’t hesitate to ask for help.

Online students

  • Online students can only group with other online students.
  • Instead of group presentations, online students will send a recorded video following the same time restriction as in-person students.