We are entitled to
our own opinions,
but not our own facts.
Syllabus Schedule Papers Project My home page
Last update
23-January, 2015
Software Engineering Experimentation
Course Syllabus
Spring 2015

Collaboration empowered with Piazza
Jeff Offutt
offutt +++ gmu.edu
ENGR 4430, (+1) 703-993-1654
Class: M 4:30-7:10, AB 2026
Birgitta Lindström
birgitta.lindstrom +++ his.se
PA520E, (+46) 0500-448368
Software Engineering Experimentation is being taught Spring 2015 as part of a unique and innovative international collaborative learning opportunity. Lectures and discussions will be asynchronous and the class will virtually merge students from universities in the US and in Sweden.
This course will have three parts: (1) The professor will lecture on concepts of designing experiments and the peculiar complexities of experimenting in computing; (2) Students and professor will read and discuss experimental research papers from the literature; and (3) Students will carry out a semester-long experimental project, write a paper, and present the results conference-style.

Most of this class will be taught asynchronously. The first meeting will be face-to-face in classrooms. The lectures in part 1 will be recorded and deployed online. The paper discussions in part 2 will be carried out on the online discussion board Piazza. The students’ papers in part 3 will be posted online and the final presentations will be in person.

We will leverage online educational opportunities to virtually merge students from George Mason University and University of Skövde. All groups will use the same discussion board (Piazza), see the same lectures, and read and discuss the same papers on the same schedule. Student presentations will be synchronized with the professor and broadcast to the other groups via DE technology. All lectures and discussions will be in English.

This course will take a horizontal look at several different research areas in software engineering, with a focus on empirical validation. Most research in computing and almost all research in software engineering must be validated empirically. This course discusses how to design and carry out experiments in computing, with a focus on defining experimental hypotheses, choosing appropriate dependent and independent variables, and designing an experiment that will answer the right question without bias.

Lectures and papers.

Software Engineering Experimentation will use the Piazza bulletin board for lectures and discussions. Information for accessing our class will be provided during the first meeting. Lectures will be posted on Piazza and joining the discussions is mandatory.

This course is ideal as an introductory course to computing or software engineering research for PhD students, and appropriate for advanced MS students in all computing disciplines (software engineering, computer science, information security, information systems, etc.).

  1. Understanding of the scientific process; particularly using the experimental method.
  2. Knowledge of how empirical studies are carried out in computing and software engineering.
  3. Understanding when experimentation is required in software engineering, and what kinds of questions can be answered using experimentation.
  4. Knowledge of how to control variables and eliminate bias in experimentation.
On completion of the course students will able to design and carry out experiments in ways appropriate for a given problem, and will have skills in analyzing and presenting experimental data. Students will be ready to plan the empirical portions of their PhD dissertations.

This course will examine and critique experimental techniques to evaluate software engineering techniques and processes. We will read and discuss papers in the current literature, specifically focusing on the experiments as opposed to the background or the implications of the results.

The first set of papers are about experimentation in general. For these, each student must submit a simple summary and evaluation of half of the first set of papers (you can choose any five). Your summary and evaluation should be about a page long and must be posted on the discussion board. Due dates for the summaries of the first set of papers are Friday evening the week the paper is scheduled.

The second set of papers present experimental results. Each is assigned to a specific week on the schedule page. Two people will be assigned to write and post a summary evaluation for each experimental result paper. The summaries should: (1) describe the problem in general terms, (2) paraphrase the experimental hypothesis, (3) summarize and critique the design, (4) discuss the conduct of the experiment, (5) explain whether the hypothesis was proved or disproved, and (6) critique the presentation of the paper. Summaries of the second set of papers are due on the bulletin board on Mondays by close of business in Fairfax (6:00 PM EST, or midnight in Sweden).

One student will be designated as “dissenter” for each paper and is required to disagree with the posted summaries and provide reasonable arguments. The dissenter must post the counter-arguments on Tuesday by midnight in Sweden.

All students must join in the discussion for each paper throughout the week. All postings, including dissents, must be courteous and professional!

Each student will design, conduct, write up, and present a small-scale experiment. A paper will be delivered and the results presented orally to the class. I will suggest a number of projects or students can develop their own related to their research topic. I strongly recommend that GMU students seek help on writing from the GMU writing center, especially if English is not your first language. Their online resources are especially helpful. Numerous papers from past semesters have been published in refereed conferences and led to PhD dissertations.

The course has four major components to the grading. At GMU, these percentages will be used to compute a score from 1 to 100, which will then be used to compute a letter grade (A+, A, A-, B+, B, B-, C, F).

I. (25%) Participation via the bulletin board is required. All students are expected to participate energetically in the discussions. Discussion postings must have substantial content. Postings such as “I agree with Mats” are welcome but will not earn credit. Postings such as “Mats thought the number of subjects were too few, but I believe five is enough for this study because ...” will. Students who do not participate in the discussions on a weekly basis will not receive credit for this portion of the grade. Shyness or lack of English proficiency are not valid reasons for staying out of the discussions.

II. (20%) Each student will post summaries and evaluations, and dissensions, as described above under PAPERS. You can “bid” on papers by sending the professors an email and we will try to honor all requests when assigning papers to students. Depending on the numbers, you will only have two or three papers, and it is imperative that you post your summaries on time.

III. (50%) The experimental project will constitute half the grade, and both the paper and the presentation will be graded. Each student will write and post a short description of the proposed experiment early in the semester and the class will make suggestions for improvements.

IV. (5%) A draft of each paper will be reviewed by three people; a professor and two classmates. We will assign papers for reviews late in the semester.

Skövde grading:

Dr. Lindström will be responsible for grades for the Skövde students and Dr. Offutt will be responsible for grades for the Mason students.

A strong background in software will be necessary. Although many of the papers will be quite specific in topic, extensive background in these topics will not be necessary–we will extract the experimental techniques and procedures from the papers. Although experimental data must be analyzed appropriately, simple analysis usually suffices for this type of research, so this course is not a statistical methods course.

CS 700 (for Mason students)
SWE 763 is a perfect complement to CS 700. CS 700 focuses on data analysis (statistics), while SWE 763 focuses on how to gather data that will answer a hypothesis.