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.
- software evolution
- program comprehension
- software visualization
- development team processes
- software development tools and environments
- biometry in software development
- quantitative & qualitative evaluation of software engineering research
This will be a paper-based course. Each week we will read and discuss two papers. Everyone in the class will have an opportunity to lead the in-class discussion (which will be part of the mark) and lead the ensuing discussion. While only one person will present each paper, it is expected that everyone will read the papers to contribute to the discussion.
You will also have to write reviews for a certain number of the papers discussed in class and hand it in before the start of the class (another part of your mark).
|Lecture Day and Time||Monday, 10:15am 11:45am|
- 15%: Reading, including class participation and 6 response papers
- 15%: Written critique (review) of a total of two papers
- 15%: Leading discussions
- 15%: Peer evaluation of two project reports
- 40%: Project