Software is built by humans. To ensure adequate quality in the final product, we need to create systems that humans can understand and reason about. We know systems grow to be very large in terms of the amount of code, models, artifacts, documentation amongst other things. This course investigates how we can ensure the human ingenuity and smarts is being amplified by the processes and tools used rather than the humans spending precious cognitive effort dealing with mundane or unnecessary problems.
- biometry in software development
- developer retrospection
- code navigation
- program comprehension
- software development tools and environments
- quantitative & qualitative evaluation of software engineering research
This will be a project and paper-based course. The research project is the primary artifact of the course; the outcome of all projects will be a research paper. Depending on the class size, the projects may be completed in groups of up to three. The intent of the project is to identify some research question and investigate it.
In this course, you will also be reading research papers, leading interactive paper discussion(s), critiquing papers and participating in peer-reviews. In particular, you will also have to write response papers for each class in preparation and also one review for another paper.
|Lecture Day and Time||Mo 10:15-11:45|
- 25%: Readings, including moderation, class participation and 4 response papers
- 60%: Project, including continuous progress, meetings, write up and presentation
- 15%: Written critique (review) of one paper and peer evaluation of two project reports
Note: To pass this course, you must pass the research project (obtain at least 50%) and must obtain a 50% overall mark.