Loading
Our society heavily depends on software in almost every area of life, ranging e.g. from social-media apps installed on millions of mobile devices up to life-critical software in the automotive or avionic sector. Because we are so dependent on software, it is important that it functions correctly, can be maintained and, because it is used in many different contexts and operated by humans, is robust. Unfortunately, this is not the reality. Although tools and techniques exist which are well known to improve software quality, today's programmers seem reluctant to use them.One reason for this mismatch is that techniques for quality assurance and, in particular, software testing are often isolated topics, placed late in the curriculum for software engineering or general computer science studies. For example, students often do not test their code, hardly formulate specifications, leave out documentation and ignore style conventions. Consequently, students do not practice to write high-quality code.To counter this, the objective of the QPED project is to demand proper tests as early in the education as possible, to foster a quality-awareness in students that goes beyond functional correctness as demonstrated by testing; they will also start thinking about better readable and more robust code. To ensure that testing and paying attention to code quality is not only taught early, but also performed by students from the beginning, we will provide support to students in the form of procedural guidance and a feedback toolkit. The feedback toolkit can also ensure that only code meeting minimal quality standards is allowed to be submitted as a solution to further stipulate the quality-awareness.Changing software engineering education with respect to an emphasis on testing, procedures and feedback for code-quality-related topics, intends to stipulate a quality mindset from the beginning in the future software engineers' education. They will be fully aware of the relevance of quality aspects of software and they will habitually apply them. This will result in a noticeable increase in software quality within Europe.To avoid putting an additional burden on lecturers for changing their course design and providing the necessary support to students, we will develop open teaching and learning material as well as an openly accessible feedback toolkit. These will be ready-to-use for students and lecturers with a focus on making them configurable to meet the needs of a wide variety of teaching contexts. For example, our material and toolkit will not make a strict choice of a programming language to be used in the courses, but we will support the most common object-oriented and imperative programming languages, such as Java, Python or C. Different teaching methods will also be supported, for instance traditional as well as distance teaching universities will be considered.To reach these goals, the QPED project will concretely develop the following intellectual outputs:Course design blueprint: A course design blueprint will be developed to help adapting existing first-year software-engineering courses to incorporate testing earlier and more pervasively. This will be underpinned by ready-to-use educational material such as lecture notes, slides, elaborated examples, exercises and lab sessions.Procedural guidance: Stepwise guides will be developed for a wide range of complex development tasks focusing on code quality. Examples will be provided for teaching material to introduce these guides.Feedback toolkit: A toolkit will be developed to provide uniform access to a variety of quality checks. The feedback from multiple checks will be presented comprehensibly and uniformly to students. Lecturers will be able to easily configure the toolkit to their needs and quality requirements.Pilot studies: We will evaluate the success of our approach in pilot studies carried out in a first-year software-engineering course at four universities.
<script type="text/javascript">
<!--
document.write('<div id="oa_widget"></div>');
document.write('<script type="text/javascript" src="https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=erasmusplus_::e9e751ddfb685ff0b8ccf47eb41f4450&type=result"></script>');
-->
</script>