This course is a research-oriented course, aiming at offering students an immersive hands-on research experiences. In the first few weeks of the semester, you will be introduced to the different approaches of performing empirical research to answer software engineering questions. The course will focus on quantitative and qualitative research methods including interviews and surveys, design of human experiments, including crowdsourcing, and mining of software repositories (with a focus on eye tracking research and methodologies).

Moodle Course Page
Semester Spring 2023
Date Time, Location TR 11:00 - 12:15 pm, Davis 102
Instructor Naser Al Madi
Office: Davis 115
Email: nsalmadi@colby.edu
Prerequisites
  • CS 321 - Software Engineering
Course Goals
  1. Understand the foundations of the scientific method and empirical research with its quantitatively or qualitatively approaches.
  2. Design and implement ethical software engineering research experiments involving human participants.
  3. Describe data sources in software engineering and the associated data collection techniques.
  4. Demonstrate the ability to apply software data analysis in industry contexts.
  5. Evaluate software engineering research papers and identify the strengths and weaknesses in design, methodology, and presentation.
Milestones

There are weekly milestones for each project. The milestones designed to break your research project into smaller parts, which leads you to work better with your group members and can allow me to provide support and feedback more efficiently.

The following table lists the expected content of each milestone.

WeekMilestonesContents
5 1. Presentation: Research Questions + Systematic Literature Search
  • Project motivation, methodology, expected outcomes
  • literature review: a survey of scholarly sources that provides an overview of your field and topic.
  • Contribution list per person
7 2. Paper: Background and related works section due
  • Document should be on Overleaf
  • Contribution list per person
10 3. Presentation: Software Demo
  • Demo of software features
  • Discussion of challenges to achieving this milestone
  • Contribution list per person
11 4. Paper: Methods section
  • Document should be on Overleaf
  • Contribution list per person
12 5. Presentation: Initial Results
  • Initial analysis of results
  • Discussion of challenges to achieving this milestone
  • Contribution list per person
13 6. Poster presentation at CLAS
  • Poster printed and reviewed
  • Contribution list per person
14 7. Final presentations
  • Project motivation, methodology, results, and discussion
  • Contribution list per person
Finals 8. Paper: Final conference paper
  • Full paper: Abstract, introduction, background and related works, methods, results, threats to validity, discussion, and conclusion
  • Edited paper in correct conference format on Overleaf
  • Contribution list per person
Class Participation Class time will be used as follow:
  • There will be a project at the end of each week for the first three weeks.
  • For most milestones, every group will give an oral presentation with slides to update the rest of the class on your progress. Each group member should present the part they worked on. Everyone in the class is expected to ask questions and everyone in the group is expected to answer questions.
  • Attending classes is an easy way for you to work with your group members and/or get help from me. So you are expected to attend classes. Let me and your group members know beforehand if you have to miss a class.
Grading The course grade will be determined as follows:
Activity Percentage Graded as individual or group Grading Rubrics
Projects and Milestones 30% Individual The grade for each milestone depends on the content, your contribution, and your oral presentation. I want to know what you did and what your plan is. If you ran into problems and didn't make much progress, talk to me about it. The oral presentations is based largely on your ability to communicate your research to me and to your classmates. In order to receive a high grade, the contributions of each team member must be well-integrated into a coherent presentation. This means you should spend more time thinking about how to talk to each other and to your classmates. Also, it is perfectly acceptable to spend most of your presentation talking about challenges, since that is how we learn.
Paper Reviews 30% Individual A reading list will be posted for each class period. Readings will primarily consist of conference and journal articles. Students are required to read the papers before class, write a review of the paper, and participate in discussion.
Individual Paper Presentation 10% Individual Each student will present one of the papers from the reading list, starting week 4. The presentation should reflect a deep understanding of the paper and its context.
Participation and Discussion 10% Individual The grade for participation depends largely on your willingness to ask questions during or after presentations. You are expected to attend the classes.
Poster Presentation 10% Group The poster will be graded based on the design and content. Whether your poster is eye-catching enough that can make people stop and read your poster? Whether the poster has good amount of pictures and texts that can give people an idea about your project and results without your explanation? Whether you explanation can make people more interested in your research?
Final Paper 10% Group The final conference style paper will be graded based on the organization of the content, the depth of analysis and clarity (well written or not).
Collaboration, Academic honesty

This policy applies to anyone you work with other than your partner.

Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.

The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic Integrity policies and procedures, see colby.edu/academicintegrity.

  • If you have had a substantive discussion of any programming project with a classmate, then be sure to cite them in your write-up. If you are unsure of what constitutes "substantive", then ask me or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together.
  • You must not copy answers or code from another student either by hand or electronically. Another way to think about it is that you should be talking English with one another, not program languages.
  • Assistive code autocomplete systems that generate more than a single token of code are not permitted. You are expected to write all your code on your own and be able to explain it and rewrite it without assistance.
AI Policy

We might use some AI tools in this course, yet I expect you to use AI (like ChatGPT) only when assignments explicitly ask you to do so. Creating and using AI is an important skill at this age, and I will provide a controlled way for you to use AI to your learning advantage.

Be aware of the limitations of AI, including the ones in this list:

  • Language models capture statistical regularity in language and data. There is no fact checking, so assume that it is wrong unless you either know the answer or can check in with another reliable source.
  • AI is a tool, but one that you need to acknowledge using. Please include AI use in your acknowledgment section, detailing what you used AI for. Failure to do so is in violation of academic honesty.
  • Be thoughtful about when AI tools are used. Don't use it if it is not allowed and appropriate for the case or circumstance.
The Colby Affirmation

Colby College is a community dedicated to learning and committed to the growth and well-being of all its members.

As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty.

As a community built on respect for ourselves, each other, and our physical environment, we recognize the diversity of people who have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. We agree to respect each other, to honor community expectations, and to comply with College policies.

As a member of this community, I pledge to hold myself and others accountable to these values. More ...

Title IX Statement

Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act). To learn more about what constitutes sexual misconduct or to report an incident, see: http://www.colby.edu/studentlife/handbook-section/f-sexualmisconduct/

I am committed to all Colby students feeling safe, accepted, and included in all aspects of their college experiences, including this course. Colby prohibits and will not tolerate sexual misconduct or gender based discrimination of any kind and is obligated, by federal and state laws, to respond to reports and provide resources to students. As your professor I am considered a "responsible employee" which requires me to report incidence of sexual misconduct, dating violence, or harassment to the Title IX Coordinator.

If you wish to access confidential support services, you may contact:

  • The Counseling Center: 207-859-4490
  • The Title IX Confidential Advocate, Emily Schusterbauer: 207-859-4093
  • The Office of Religious and Spiritual Life: 207-859-4272
  • Maines's 24/7 Sexual Assault Helpline: 1-800-871-7741
Religious Holidays

Colby College supports the religious practices of students, faculty, and staff, but we don't always know which people will observe which holidays. Since I need to plan course activities in advance, I need to know in advance, if you need to miss a class or have a deadline adjusted in order to observe a holiday. Please notify me by email at least 14 days in advance of any religious holiday that will affect your ability to participate in this course.

© 2023 Naser Al Madi. Page last modified: 01/30/2023