Human Aspects of Software Engineering

Course Description

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.
Possible Topics:

  • 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).

People

Thomas Fritz (Instructor)

Katja Kevic (Course Assistant)

Organizational Aspects

Lecture Day and Time Monday, 10:15am 11:45am
Location 1.D.07
Credits 6.0
MINF4532 VVZ Link

Grading Scheme

  • 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