skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: Teaching Testing with Modern Technology Stacks in Undergraduate Software Engineering Courses
Students’ experience with software testing in undergraduate computing courses is often relatively shallow, as compared to the importance of the topic. This experience report describes introducing industrial-strength testing into CMPSC 156, an upper division course in software engineering at UC Santa Barbara . We describe our efforts to modify our software engineering course to introduce rigorous test-coverage requirements into full-stack web development projects, requirements similar to those the authors had experienced in a professional software development setting. We present student feedback on the course and coverage metrics for the projects. We reflect on what about these changes worked (or didn’t), and provide suggestions for other instructors that would like to give their students a deeper experience with software testing in their software engineering courses.  more » « less
Award ID(s):
1915198 1915196
PAR ID:
10297163
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
ITICSE 2021
Page Range / eLocation ID:
241 to 247
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Paiva, A.C.R.; Cavalli, A.R.; Ventura, Martins P.; Perez-Castillo, R. (Ed.)
    The ubiquitous use of software in critical systems necessitates integrating cybersecurity concepts into the software engineering curriculum so that students studying software engineering have adequate knowledge to securely develop software projects, which could potentially secure critical systems. An experience report of developing and conducting a course can help educators to gain an understanding of student preferences on topics related to secure software development. We provide an experience report related to the ‘Secure Software Development’ course conducted at Tennessee Technological University. We discuss student motivations, as well as positive and negative perceptions of students towards exercises. Based on our findings, we recommend educators to integrate real-world exercises into a secure software development course with careful consideration of tool documentation, balance in exercise diversity, and student background. 
    more » « less
  2. In this panel, the presenters will discuss their collective experience of teaching software engineering courses and/or running software engineering projects that help students learn about and experience the impact of computing on society and the social good. While the benefits of practical experience in software engineering are generally indisputable, the logistics and management of such projects are often discouraging for faculty, leading many to exclude live clients from software engineering courses. The presenters will demystify and discuss the realities of running client-oriented classes and projects in the contexts of our institutions, which vary greatly in size and student demographics and represent both public and private colleges. In particular, we will discuss various approaches used to identify, design, create, and evaluate software engineering projects for societal and social impact. Project duration ranges from one semester to two or more, and participation in team projects is modeled as pre-professional training, complete with software tools, interpersonal dynamics, and evaluation methods. 
    more » « less
  3. Open source software (OSS) development offers a unique opportunity for students in Software Engineering to experience and participate in large-scale software development, however, the impact of such courses on students' self-efficacy and the challenges faced by students are not well understood. This paper aims to address this gap by analyzing data from multiple instances of OSS development courses at universities in different countries and reporting on how students' self-efficacy changed as a result of taking the course, as well as the barriers and challenges faced by students. 
    more » « less
  4. The Association of American Colleges and Universities identifies undergraduate research experiences as a high impact practice for increasing student success and retention in STEM majors. Most undergraduate research opportunities for community college engineering students involve partnerships with universities and typically take the form of paid summer experiences. Course-based Undergraduate Research Experiences (CUREs) offer an alternative model with potential for significant expansion of research opportunities for students. This approach weaves research into the courses students are already required to complete for their degrees. CUREs are an equitable approach for introducing students to research because they do not demand extracurricular financial and/or time commitments beyond what students must already commit to for their courses. This paper describes an adaptable model for implementing a CURE in an introductory engineering design and computing course that features applications of low-cost microcontrollers. Students work toward course learning outcomes focused on computer programming, engineering design processes, and effective teamwork in the context of multi-term research and development efforts to design, build, and test devices for other CUREs in science lab courses as well as for other applications at the college or with community partners. Students choose from a menu of projects each term, with a typical course offering involving four to six different projects running simultaneously. Each team identifies a focused design and development scope of work within the larger context of the project they are interested in. They give weekly progress reports and gather input from their customers. The work culminates in a prototype and final report to document their work for student teams who will carry it forward in future terms. We assessed the impact of the experience on students’ beliefs about science and engineering, STEM confidence, and career aspirations using a nationally normed survey for CUREs in STEM and report results from five terms of offering this course. We find statistically significant pre-post gains on two-thirds of the survey items relating to students’ understanding of the research process and confidence in their STEM abilities. The pre-post gains are generally comparable to those reported by others who used the same survey to assess the impact of a summer research experience for community college students. These findings indicate that the benefits of student participation in this CURE model are comparable to the benefits students see by participation in summer research programs. 
    more » « less
  5. Undergraduate software engineering courses typically require students to work on team-based projects that reinforce disciplinary content and soft skills. At the same time, these students, particularly those at liberal arts institutions, are required to take courses that focus on civic issues, including on racial and ethnic inequality. Often, students perceive these courses to be outside their disciplinary areas, and may not comprehend how these topics are applicable to computer science and software engineering. This paper reports on the experience of Pulimood and Leigey as they and their students grappled with issues of racial injustice in the criminal justice system, and drew upon their own disciplinary backgrounds to apply computational thinking and software engineering principles to help the community better understand these issues and advocate for reform. The paper also describes the experience of teaching courses from different disciplines in a collaborative model, working closely with a local community partner to support its work on an identified social issue, and the learning outcomes, as well as the benefits and challenges of this approach. Recommendations and future directions are also discussed. 
    more » « less