We are very pleased to welcome you to the ICSE 2019 Track on Software Engineering Education and Training (SEET). Having started over a decade ago, this track is now recognized as the premier venue for researchers and educators to meet and discuss their research on software engineering education and training. Building on this legacy, we are delighted to include a diverse and thought provoking program that we hope will stimulate educators of the next generation of software engineers. SEET's 2019 theme is "Multidisciplinary Approaches for Software Engineering Education and Training in the Digital Era". The demands on the educator are becoming increasingly complex and we believe there must be a balance between offering a range of teaching approaches and retaining quality in teaching. Authors were encouraged to submit submissions on a variety of topics, but the overall question that SEET 2019 attempts to address is "What teaching methods maintain quality, encourage students to look beyond programming concepts, are sustainable, and offer students and practitioners a rewarding experience?"
Proceeding Downloads
Walking through the method zoo: does higher education really meet software industry demands?
- Marco Kuhrmann,
- Joyce Nakatumba-Nabende,
- Rolf-Helge Pfeiffer,
- Paolo Tell,
- Jil Klünder,
- Tayana Conte,
- Stephen G. MacDonell,
- Regina Hebig
Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students ...
Collaborating with industrial customers in a capstone project course: the customers' perspective
Using capstone projects to teach software development in practice has become increasingly popular. To make the projects as realistic as possible, collaboration with industrial customers is preferable. However, we are lacking information on how this ...
Industry-academy collaboration in teaching DevOps and continuous delivery to software engineering students: towards improved industrial relevance in higher education
Global industrial demand for highly skilled professional software engineers is increasing. Many countries already experience shortage of developer workforce and it is predicted that the industrial need for software engineers will grow on a higher rate ...
Facilitating entrepreneurial experiences through a software engineering project course
Skills and competencies in entrepreneurship, such as the ability to generate innovative ideas and the courage to engage with stakeholders and society, have gained importance in engineering curricula. In this case study paper, we report on how we have ...
Dual-track agile in software engineering education
The fields of Software Engineering and Human-Computer Interaction have traditionally evolved in parallel, with little cross-pollination, both in industry and academia. However, effectively delivering software products offering superior user experiences ...
Teaching internet of things (IoT) literacy: a systems engineering approach
The Internet of Things (IoT) invades our world with billions of smart, interconnected devices, all programmed to make our lives easier. For educators, teaching such a vast and dynamic field is both a necessity and a challenge. IoT-relevant topics such ...
Teaching user centered conceptual design using cross-cultural personas and peer reviews for a large cohort of students
It is important that Software Engineering and Information Technology students learn techniques to conceive solutions that are centered on the users. Users are often from many different cultures; hence an awareness of cultural differences is an important ...
The case of the fragmented classroom
Increasingly, education is offered to students any time, anywhere, for any stage of life, for students with any background and a wide variety of goals. This implies it is taken at different times, in different places, at different paces, by students ...
Linking code readability, structure, and comprehension among novices: it's complicated
Novices' functionally-correct code is often redundant, verbose, or un-idiomatic. Such code could indicate shallow understanding of the programming language, or unfamiliarity with experts' preferences for code structure. Understanding why novices write ...
FVT: a fragmented video tutor for "dubbing" software development tutorials
Rapid growth of online resources provides massive supports for developers to fulfill their learning tasks. Text tutorial and video tutorial, as the two most common forms of online resources, may not be sufficient to meet developers' specific learning ...
Mistakes in UML diagrams: analysis of student projects in a software engineering course
The Unified Modelling Language (UML) is being widely accepted as a modelling notation for visualizing software systems during design and development. UML has thus become part of many software engineering course curricula at universities worldwide, ...
MAF: method-anchored test fragmentation for test code plagiarism detection
Software engineering education becomes popular due to the rapid development of the software industry. In order to reduce learning costs and improve learning efficiency, some online practice platforms have emerged. This paper proposes a novel test code ...
Simulating student mistakes to evaluate the fairness of automated grading
The use of autograding to assess programming students may lead to unfairness if an autograder is incorrectly configured. Mutation analysis offers a potential solution to this problem. By simulating student coding mistakes, an automated technique can ...
Automatic grading of programming assignments: an approach based on formal semantics
Programming assignment grading can be time-consuming and error-prone if done manually. Existing tools generate feedback with failing test cases. However, this method is inefficient and the results are incomplete. In this paper, we present AutoGrader, a ...
Experience report on a move to techniques-oriented student project grading
Student projects in software engineering courses are traditionally graded according to the features developed/tasks completed by given deadline. This leads to two problems: cascading failure of some students in the course, and "feature hacking" by the ...
Training software engineers using open-source software: the students' perspective
Software Engineering courses often emphasize teaching methodologies and concepts in small and controlled environments over teaching, say, maintenance aspects of full-fledged real software systems. This decision is partly justified due to the difficulty ...
Attitudes, beliefs, and development data concerning agile software development practices
The perceptions and attitudes of developers impact how software projects are run and which development practices are employed in development teams. Recent agile methodologies have taken this into account, focusing on collaboration and shared team ...
A survey on online learning preferences for computer science and programming
The increasing availability of online documentation is radically changing the way developers and computer science students learn various topics, and programming in particular. Nowadays, a plethora of online learning resources are available, ranging from ...
Teaching software construction at scale with mastery learning: a case study
Mastery Learning involves delineating learning units and assessing each unit individually and repeatedly until a student obtains success. Mastery Learning has been shown to help students better identify and grasp fundamental concepts. We applied Mastery ...
Having fun in learning formal specifications
- I. S. W. B. Prasetya,
- Craig Q. H. D. Leek,
- Orestis Melkonian,
- Joris ten Tusscher,
- Jan van Bergen,
- J. M. Everink,
- Thomas van der Klis,
- Rick Meijerink,
- Roan Oosenbrug,
- Jelle J. Oostveen,
- Tijmen van den Pol,
- Wink M. van Zon
There are many benefits in providing formal specifications for our software. However, teaching students to do this is not always easy as courses on formal methods are often experienced as dry by students. This paper presents a game called FormalZ that ...
Look what I can do: acquisition of programming skills in the context of living labs
There is scientific knowledge about how to teach software programming, and the necessity to foster young learners' interest in computer science is broadly addressed. However, there is a lack of research on how to teach programming skills in a way that ...
How much authenticity can be achieved in software engineering project based courses?
Software engineering (SE) students not only need sufficient technical knowledge and problem solving ability but also social and interpersonal skills in order to be industry ready. To prepare the students for the 'real world' the SE educators frequently ...
- Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training