Requirements Engineering Course Material for First-Year Software Engineering Students Jennifer Horkoffa a Chalmers | The University of Gothenburg, Gothenburg, Sweden Abstract This paper describes open educational artifacts including lectures slides, assignments, and exercises for a first-year requirements engineering course. Course content, reflection and modifications are described. Keywords Requirements Engineering, Lectures, First-year students, Exercises, Assignments 1. Introduction Requirements engineering (RE) studies concepts, tools, and methods which allow consideration and analysis of a problem. In software engineering, requirements engineering often starts at the beginning of a software project and provides structure to understand who is involved, what the software needs to do, and how well it must perform its functions. This early consideration of the problem is both important and difficult, as it often touches on the bridge between the complex and human world of the problem and the (also complex) world of the system [? ]. Often, students find RE courses challenging: there is usually not a single correct answer, i.e., there are many correct ways to write requirements or draw models; and, for those who are accustomed to technical activities like coding and design, a focus on human actions and communication can be surprising. Past work in the Requirements Engineering Education and Training Workshop (REET) have explored some of these issues1 . These challenges can manifest differently for students depending on their level of education and work experience. Those who lack experience with complex software often do not see the need for RE activities, while those who have detailed technical experience, often find it hard to abstract away from the details. In this work, I describe artifacts aimed to teach RE to first-year software engineering students. I provide my lecture slides, assignments, some assignment cases, and exercises with a description of the context, the artifacts, and a discussion of challenges and possible modifications. My hope is that these artifacts will help others to design and apply effective education in RE topics. In: F.B. Aydemir, C. Gralha, S. Abualhaija, T. Breaux, M. Daneva, N. Ernst, A. Ferrari, X. Franch, S. Ghanavati, E. Groen, R. Guizzardi, J. Guo, A. Herrmann, J. Horkoff, P. Mennig, E. Paja, A. Perini, N. Seyff, A. Susi, A. Vogelsang (eds.): Joint Proceedings of REFSQ-2021 Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen, Germany, 12-04-2021 " jennifer.horkoff@gus.se (J. Horkoff) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings CEUR Workshop Proceedings (CEUR-WS.org) http://ceur-ws.org ISSN 1613-0073 1 https://dblp.org/db/conf/reet-ws/index.html 2. Educational Context The artifacts described in this document have been used as part of the course DIT045/DAT355 Requirements Engineering and User Experience, part of the international (i.e., taught in English) Software Engineering and Management (SEM) Bachelor Program offered by the University of Gothenburg (GU), Sweden2 . The program is three years, divided into six semesters with two, two-month study periods each. Thus, the course spans only two months (November and December, with an exam in January). Students take two courses at one time and are expected to devote a total of 20 hours per week to each course. I designed the course in 2017 and have taught it four times. Enrollment has ranged from about 40 students in 2017 to about 130 students in 2020. In pre-COVID times, we had two, two-hour lectures and a three-hour exercise session per week in a classroom. In 2021, all sessions were given via Zoom. The course has three assignments, due roughly every two weeks, and a final, written hall exam. In 2020, this exam was open book and given online. The course is aimed to cover both RE and User Experience (UX) at a basic level. Thus, only one month, half the lectures and exercise sessions and half of the assignments and exam focus on RE. The first half of the course focuses on various RE topics, while the second half introduces user experience, usability, interface design patterns and usability testing. The requirements and requirements models developed in the first part of the assignments should feed into the UX designs on the second part of the assignments. This course was also described as part of a short experience report on the use of EARS [? ]. Learning Objectives. In order to justify the design of the course lectures and assignments, I provide the learning objectives for the course3 . The learning outcomes cover both RE and UX. Learning outcomes On successful completion of the course the student will be able to: Knowledge and understanding • describe the process of requirements elicitation, evaluation and prioritization, documentation, validation and development of software requirements, • state techniques to acquire and model user demands, • explain key techniques to account for usability in software products, Competence and skills • identify and specify requirements by means of, for instance, scenario-based techniques or goal- oriented techniques, • apply techniques to identify personas, scenarios and user stories, • design and implement graphical user interfaces according to usability principles, Judgement and approach • choose an appropriate technique to evaluate the usability of a software product, • choose and motivate appropriate methods for involving users in the design process. 2 https://www.gu.se/en/study-gothenburg/software-engineering-and-management-bachelors-programme-n1sof 3 https://www.gu.se/studera/hitta-utbildning/kravhantering-och-anvandarupplevelse-dit045 3. Resource Descriptions This section describes the resources submitted to the REET repository: lectures slides, as- signments, and exercises, all available online4 . Example exams can also be provided upon request. This artifacts described in the document are licensed under a Creative Commons Attribution-Non Commercial 4.0 International License. Lectures. I provide eight lectures, each intending to last for 1.5 hours with a break. The first five lectures provide an introduction and cover RE topics. Then there are four lectures which focus on UX topics, and are not provided. The final three lectures include RE topics again and summarize the course, and are provided. I provide a list of each lecture and their topic, including exercises and assignments below. The lectures are aimed to cover the topics as listed in the learning objectives. Slide sources include many popular RE textbooks, and some material has been used with credit from other slide sources. Lecture, Exercise, and Assignment List L1 Course Intro & Practicalities L2 Requirements Creativity, Scoping & Modeling (Context, Goals) E1 Requirements Modeling L3 Requirements Modeling (Goals, Use Cases, Customer Journey Map) L4 Requirements Concepts, Documenting & Quality E2 Writing Requirements L5 Requirements Elicitation, Personas & Scenarios E3 A1 Questions A1 Assignment 1 - RE Scope and Modeling Due UX Lectures ... A2 Assignment 2 - Requirements and UX Design L10 Usability Experiments & RE Videos L11 Validation & Verification L12 Course Review A3 Assignment 3 - UX Design and User Studies Because of the first-year nature of the course, I must avoid using advanced topics like (most of) UML, and cannot assume that students understand agile development, or other topics or concepts. Thus, the lectures are aimed for software beginners. Assignments. Assignments come with a case or domain description. In the first and last instantiation of the course, I gave the students a choice between 3-4 artificial cases created by myself (e.g., originality checker, pet monitor). These examples cases are provided with the available material. In year two, we used the case from the RE Cares event in the RE Conference, focusing on a coordination app for rescue services [? ]. This was possible as we had video and slides of the stakeholders describing their case. In the third year, we worked with a real local company which provided set of challenges for their existing tool. The first two assignments cover RE topics. In the latest iteration of the course, assignment one (A1) focused on selecting a case, scoping, and requirements modeling. A2 focused on taking the models and converting them into textual requirements using both user stories and the more 4 https://doi.org/10.5281/zenodo.4621264 traditional IEEE-style format5 . A3 focused on UX, but asked the students to link their designs to requirements from A1 or A2. All assignments come with a rubric to aid grading. Exercises. The exercise sessions are used to give the students a chance to practice methods on a further example case. Example cases include an online shopping app, as included in the repository. These sessions are held roughly every two weeks, with the session before the assignment due date reserved for answering questions on the assignment. RE-related exercise descriptions are provided with the available material. 4. Reflection Reception. Overall, the course received above average reviews in the yearly course evaluation. Feedback on the lectures indicated too much text, but this has been reduced throughout the years. The students often feel the course is too packed with material, but this is a challenge with only one month of time. The content could be reduced, but the contradictory concern is that the RE coverage would be too light. The assignments are sometimes seen as long, but are appreciated overall. The exercise sessions have been somewhat problematic. As they are not for grades, they are not always well-attended. It is a work-in-progress to get the most out of these sessions. Supporting Literature. Although much material from existing RE textbooks were used to create the slides, it was difficult to find a book that covered a good set of RE topics appropriate for first-year students. Most textbooks were judged to be too advanced. However, the students would like to have a book to follow, so this is something that could be improved in future years if a good introductory RE textbook is found. Order of Topics. Each year I have reordered the RE topics somewhat. Previously, I taught concepts then modeling, but last year I started with modeling, moving towards writing require- ments. This ordering may be more intuitive, but it is difficult to say if this is the best ordering for the students. The ordering of topics in the lectures and assignments remains a challenge. Real vs. Artificial Case. The students appreciate having a real company or organization provide their case, but this does add complexity to the case and to course coordination. Using artificial cases also works well. This was done in year one and four to reduce risk, when the course was new, or when the course size increased drastically and the course was moved online. Either option is possible, but a real case is preferred. 5. Future Use and Improvement Future adaptors and adopters of this material could change it in several ways. The current timeline of one month for RE topics is very short, so this material could easily be stretched out to two months or more. For many topics, I currently give example applications in separate video files. Ideally, these would be given in the lecture, so the students could follow along and ask questions. In the current design, there is no time for this. Elicitation is a topic that is not covered in an ideal way, given the restrictions on time, size of the class, and their experience. Although it is covered in the lectures, students do not get a 5 https://ieeexplore.ieee.org/document/6146379 chance to interview real stakeholders. Setups which emulate this situation by allowing students to interview each other or teaching assistants are not employed due to time and inexperience (the assistants are often second-year students). The course could easily be extended to include these elements. Acknowledgments Thank you to my colleagues and students at GU and Chalmers for their feedback on my educational material over the years. Thanks to E. Yu, J. Mylopoulus, S. Easterbrook and my colleagues from the University of Toronto for teaching me how to teach RE.