Requirements Engineering I

Module number: BMINF018
Teaching language: English
ECTS Credits: 3


2021-12-20: The final exam will be held on Monday January 17, 2022 from 10:15-11:45 in room BIN-1-B.01. Please arrive at least 15 minutes prior to the beginning. Information about the exam is available below in the paragraph on Evaluation.

2021-12-11: Please note that the exam on Jan 17 will be on-site. There is no option for remote attendance. A valid Covid-19 certificate is strictly required and will be checked at the entrance of the exam room. No excuses, no exceptions. Only certificates issued by a Swiss authority will be accepted; any other proofs of vaccination or testing will not be accepted. It is your responsibility to ensure that you have a valid certificate in time for the examination.

2021-11-15: Assignment 2 has been published

2021-10-25: Assignment 1 has been published

2021-09-01: The course will be held on-site in lecture hall BIN 2.A.01, starting on Monday September 20, 2021 at 10:15 CEST.  Classes will be live-streamed for students who prefer not to attend on-site. Registered students will receive an e-mail with the credentials for online attendance on Zoom prior to the beginning of the first class.

Please note: The course exam (on Jan 17, 2022) will be held on-site only.

Course Description

Having a good requirements specification is a critical prerequisite for any successful software project.

This course gives an introduction to the principles, practices, languages, methods, and processes for specifying and managing requirements.

The topics include:

  • Introduction
  • Fundamentals of Requirements Engineering
  • Requirements Engineering work products and documentation practices
    • Specification with natural language
    • Model-based specifications
    • Prototyping
    • Formal specification
  • Requirements elaboration
    • Elicitation and negotiation
    • Quality requirements and Constraints
    • Validation
  • Requirements Engineering processes
  • Requirements management and tools

Also see the official description of the course in the Electronic Course Catalogue of the University of Zurich.

Target Audience

Master's or advanced Bachelor's students, who are interested in requirements engineering:

  • BSc Computer Science students in all fields of study, usually in the fifth semester;
  • MSc Computer Science students in all fields of study, who have not already taken the course during their BSc studies;
  • MSc or advanced BSc students, having Computer Science as a minor ("Nebenfachstudierende").

For the students whose study major is Software Systems, this module is strongly recommended.


  • Bachelor of Science in Computer Science: elective module
  • Master of Science in Computer Science: elective module (unless already completed during the BSc studies)
  • Minor studies in Computer Science: elective module


Basic knowledge in software development and modeling


Instructor: Prof. Dr. Martin Glinz


This course is held physically in classes of two academic hours on Monday 10:15-12:00 during the semester. For students who prefer not to attend on-site classes, the classes will be live-streamed.

Note that a few classes may be replaced by self-study tasks or work on a case study.


The course includes two homework assignments, which are taken into consideration for the course evaluation. More information


In order to pass the course, you have to

  • Do the homework handed out in the two assignments and submit the results by the given deadlines,


  • Attend and pass the final exam.

Missing the submission deadlines, submitting incomplete solutions to assignments or solutions on which you obviously haven't worked seriously will be considered as fails.

The  course grade is entirely based on your performance in the final exam.

The final exam will take place on-site on Monday, January 17, 2022, 10:15 - 12:00. A valid Covid-19 certificate is required.

You will be allowed to use the official course materials as well as one double-sided sheet of paper with personal notes if it satisfies the following requirements:

  • Paper format A4,
  • Hand-written by yourself,
  • Legible without auxiliary technical means,
  • Does not contain any deliberately concealed information.

Please note: In case of only few participants, we reserve the right to replace the written exam by oral exams (with individual exam dates).

Sample Exam

To support your preparation for the final exam, we provide a sample RE I exam from HS 2013. It may help you get a feeling how the exam looks like and what level of detail we expect. To evaluate your knowledge correctly, we recommend that you only compare your solutions with the ones provided here after you have solved the entire exam on your own, under exam conditions.

Note that this sample exam neither suggests nor guarantees that the topics and questions in this year's exam will be the same as those in the sample exam.

Sample Exam RE I (PDF, 247 KB)

Solution Sample Exam RE I (PDF, 365 KB)

Academic Conduct

Students should know where to draw the line between getting legitimate outside assistance with course material and outright cheating. Students who obtain too much assistance without learning the material ultimately cheat themselves the most. Submitting the work of another person as your own (i.e., plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for assignments and exams. Such actions will not be tolerated. All offences will be reported to the Department of Informatics, University of Zurich.

For more information on the treatment of plagiarism at UZH, please refer to the Information Sheet on the Treatment of Plagiarism.