CSCI 8790 Advanced Topics in Software Engineering
Spring 2010
Meeting time: | TR 7:00-8:15PM |
Classroom: | PKI 270 256 (room changed) |
Instructor: | Dr. Harvey Siy |
Office: | PKI 281B |
Phone: | (402)554-2834 |
Email: | hsiy at unomaha dot edu |
Office Hours: | By appointment (call or email ahead) |
Description
An in-depth study of one or more topics in the field of software engineering such as human factors in software engineering, software specifications and modeling, reuse and design recovery, software valuations, software management, emerging technology and applications.
Prerequisites: CSCI 4830/8836 (Introduction to Software Engineering)
Overview of Content and Purpose of the Course
For this spring, the course will primarily be an introduction to techniques for conducting empirical studies in software engineering. Empirical studies evaluate the effectiveness and practicality of different software development methods.
Such studies range from case studies to controlled experiments. The results of these studies play a crucial role in contributing to our fundamental knowledge of the underlying mechanisms driving the techniques and tools that comprise our software development methodologies. This information helps us cut through the hype to identify strengths of weaknesses of different methods. This also improves the decision-making capability to determine when to apply which method under what situation. Finally, this provides fundamental knowledge of the way software engineers work, think and interact with each
other.
To provide us with examples to work with, we will also examine a few software engineering methods that can be subjected to empirical analysis. This range from the simple (e.g., software inspections) to the complex (e.g., model-driven software development). We will study available examples of such methods and get some hands-on experience. Then we will look into how to critique the strengths and weaknesses of different example methods.
Learning Objectives
Students who complete this course will:
- learn how to conduct empirical studies of software engineering methods
- develop skills for coducting research in software engineering
- be familiar with quantitative aspects of software engineering
- be able to evaluate existing empirical studies
- develop ability to study and critique advanced software development methods
- acquire hands-on experience with an advanced development methodology
Course content:
- Empirical software engineering research
- Experiments
- Case studies
- Qualitative techniques
- Secondary studies
- Software methods
- Software inspection
- Model-driven software development
What to expect in class
To learn empirical analysis, we will mainly study papers that are examples of empirical analysis. A reading list will be provided shortly. To facilitate the learning process, students will submit brief writeups of the papers to be discussed on a given day and participate in class discussions. Students will also have a chance to design their own empirical study.
For this semester, we will also examine example model-driven software development (MDSD) methodologies. There will be a few lectures on MDSD. To gain hands on experience, students will work on a software project using MDSD.
Evaluation
Term Paper | 30% |
Projects and presentations | 30% |
Homeworks | 30% |
Class participation | 10% |
Term Paper
At the end of the semester, a term paper must be submitted. Students have the option of working in pairs. The term paper will be about designing empirical studies.
- Propose an experiment investigating some aspect of a software method of your choice.
- Conduct the study and write up the findings. [An actual experiment is optional if working alone but required if working in pairs.]
- Present the study in class.
Presentations and projects
Here is a tentative list of presentations and projects. More details will be announced later.
- Empirical study from ESEM, ISESE, ESE Journal
- MDSD presentation
- MDSD-based project
Homeworks
Homeworks will mainly be writeups of papers assigned for reading. To the extent possible, the homeworks will be designed to prepare you for the subsequent class discussion.
A complete list of papers to be assigned for reading will be available soon.
Class participation
Class participation will be assessed on a scale of 1 to 5.
Rating | Description |
5 | Regularly makes helpful, relevant contributions to lecture discussions. Offers observations that challenges classmates to think about the material in new ways. |
4 | Attends regularly and occasionally makes helpful, relevant contributions to lecture discussions. |
3 | Attends regularly and actively pays attention to discussion. |
2 | Attends regularly but does not pay attention to discussion. |
1 | Does not attend regularly. |
0 | Misses most classes. |
(Adapted from http://web.hamline.edu/personal/skellert/cpgrade.htm.)
Some class policies
Policy on late homeworks
- For write ups of papers for class discussion:
Late submissions will get a 50% deduction per day, for each day past the due time.
- For other types of homeworks (if any):
Late submissions will get a 20% deduction per day, for each day past the due time.
- For online submissions, we will follow the time stamp as reported by Blackboard. For example, if the due date is Aug, 24, a submission on Aug. 25 12:01am will get a 20% deduction.
- Paper submissions must be handed directly to me on the day it is due.
Academic Integrity
Cheating will not be tolerated for project assignments, exams and other assignments. Consult the UNO Student Policies and Department of Computer Science Policies and Procedures for formal policies about cheating and plagiarism.