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
- quantitative & qualitative evaluation of software engineering research
- program comprehension
- code navigation
- software development tools and environments
This will be a project-based course. In the first three weeks, we will read and discuss several research papers each week. Everyone in the class will have an opportunity to lead the in-class discussion (which will be part of the grade). While only one person will present each paper, it is expected that everyone will read all papers to contribute to the discussion.
You will also have to write response papers for each class in preparation and also on review for another paper.
|Lecture Day and Time||Monday, 10:15am 11:45am|
- 25%: Readings, including moderation, class participation and 3 response papers
- 55%: Project, including continuous progress, meetings, write up and presentation
- 10%: Written critique (review) of one paper
- 10%: Peer evaluation of two project reports