A Minimally Disruptive Approach of Integrating Testing Into Computer Programming Courses

A Minimally Disruptive Approach of Integrating Testing Into Computer Programming Courses

A Minimally Disruptive Approach of Integrating Testing into Computer Programming Courses Vijayalakshmi Ramasamy, Hakam W. Alomari, Geoffrey Potvin James D. Kiper Department of Physics Dept. of Computer Science and Software Engineering Florida International University Miami University Miami, Florida, USA Oxford, OH, USA [email protected] Email:{ramasav,alomarhw,kiperjd}@miamioh.edu ABSTRACT of how the mind procures information, stores knowledge in the The problem of finding and evaluating effective ways of integrating long-term memory and retrieves it later into working memory is software testing concepts and related techniques into introductory an intricate process. Therefore, instructional methods should avoid programming courses is still an open research question. In this overloading the working memory with additional activities that do paper, we present multiple studies that assess our approach to in- not contribute directly to learning. tegrating software testing in Computer Science (CS) and Software Students in foundation-level STEM courses, especially introduc- Engineering (SE) courses. Each study uses SEP-CyLE (Software tory computer programming, typically need a wide range of multi- Engineering and Programming Cyberlearning Environment), an ex- modal instructional techniques for constructive engagement in or- ternal, web-based learning tool to help instructors integrate testing der to acquire more detailed knowledge and skills in programming. concepts into their courses. These empirical studies were conducted When developed well with an awareness of cognitive load, such a in eight CS/SE course sections at a medium-sized public university. range of instructional techniques can have many positive effects The results show (1) SEP-CyLE can be efficiently used in the class- not only on students’ problem solving, critical thinking, and per- room to impact the testing knowledge gained by students, and (2) severance but also on students’ academic achievement [6][17][19]. students find that SEP-CyLE is a useful learning resource that effec- Moreover, it has always been challenging to design curricula that tively helps them complete course tasks and better master course meets the requirements of large and heterogeneous groups of stu- concepts. dents, often leading to high dropout rates and high student failure rates in programming courses [7][16]. CCS CONCEPTS The curricula of foundational undergraduate programming courses such as CS1 and CS2 typically are designed to focus on writing ef- • Software and its engineering → Software testing and de- fective code without much emphasis on possible testing procedures bugging; • Social and professional topics → Computing edu- for these programming constructs. Developing practical solutions cation; Computer science education; CS1; that would benefit teaching and learning to write programs in- KEYWORDS cludes helping the students understand the basics of the behavior of programs and the abstract concepts of programming. SEP-CyLE, Management System, Software Testing Concepts and A vital area of software engineering research is to develop peda- Techniques, Empirical Study, Learning Objects gogy and instructional techniques to equip students with the fun- ACM Reference Format: damental skills needed to define requirements and specifications, Vijayalakshmi Ramasamy, Hakam W. Alomari, James D. Kiper and Geoffrey to develop an application, and to examine whether or not the code Potvin. 2018. A Minimally Disruptive Approach of Integrating Testing into meets those requirements and specifications. It is evident from Computer Programming Courses. In Proceedings of IEEE/ACM International research studies that the process of testing code forces the inte- Workshop on Software Engineering Education for Millennials (SEEM’18). ACM, gration and application of theories and skills of software analysis New York, NY, USA, Article 8, 7 pages. https://doi.org/10.475/123_4 and is considered as an essential skill for writing efficient computer 1 INTRODUCTION programs [2][15][18]. Furthermore, we believe (and will present evidence) that a deeper knowledge of software testing concepts Cognitive Load Theory [22] offers a method of constructing course and methods helps to develop a firmer foundation of the students’ pedagogy to help students learn effectively by using an awareness understanding of fundamental programming constructs in addition of the limited amount of information that working memory can hold to skill in testing programs with all possible usage scenarios. Thus, at one time. From the students’ learning perspective, the process identifying methods to integrate the basic concepts of software Permission to make digital or hard copies of part or all of this work for personal or engineering (including testing) into foundational undergraduate classroom use is granted without fee provided that copies are not made or distributed programming courses has been an emerging area of study for many for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. researchers [10][21]. For all other uses, contact the owner/author(s). While software industries expend more than 50% of their project SEEM’18, 2018, Gothenburg, Sweden resources on testing the software, the students rarely understand © 2018 Copyright held by the owner/author(s). the need for testing at any point in undergraduate curricula [1][21]. ACM ISBN 123-4567-24-567/08/06...$15.00 https://doi.org/10.475/123_4 To evaluate this hypothesis about the value of integrating software SEEM’18, 2018, Gothenburg, Sweden Vijayalakshmi Ramasamy, Hakam W. Alomari, James D. Kiper and Geoffrey Potvin testing with computer programming, we introduced the basic con- students’ learning process. Moreover, it has been easier to integrate cepts of software testing to the undergraduate students in a CS1 this approach into the curriculum by selectively using the needed course. We used an external website tool called SEP-CyLE [5][7] for learning objectives and learning materials. software testing learning objects and tutorials. We then assessed The following subsection provides an overview of the tool and experimentally the degree to which the students have gained ad- elaborates the features of SEP-CyLE used in this study. ditional and useful knowledge of testing along with learning the fundamental concepts in programming from the use of this peda- 2.2 SEP-CyLE gogical tool. SEP-CyLE was initially designed and developed by Clarke, et al. in The remainder of this paper is organized as follows. Section 2 2010 [7] as a Web-Based Repository of Testing Tutorials (WReSTT) provides an overview of the literature along with a description of [4] with a cyberlearning environment. It intends to improve the SEP-CyLE. Section 3 presents the design of the empirical study testing knowledge of computer science and software engineer- using SEP-CyLE including data acquisition and possible research ing students by providing a set of learning objects and testing questions. Section 4 presents the analysis of the data organized tool tutorials to satisfy learning objectives, ordering these learning around the study goals and a detailed discussion of the experimental objects and tutorials sequentially based upon the difficulty level. results. Section 5 discusses the study limitations and threats to Subsequently, WReSTT has evolved into a collaborative learning the results’ validity followed by concluding remarks and future environment with social networking features such as the ability to directions in Section 6. award virtual points for student social interaction about testing. We call these virtual points since an instructor may choose not to use 2 BACKGROUND these as a part of students’ grades, but only for the motivation that 2.1 Related Work collaborative learning and gamification may provide. The current version of WReSTT, used in this paper, now called SEP-CyLE, is Members of both academic communities and software industries a configurable learning and engagement cyberlearning environ- have recognized a need to integrate software testing practices into ment that contains a growing amount of digital learning content curricula, and there have been several investigations into the topic. in many STEM areas. Currently, the learning content primarily For example, Goldwasser [12] proposed requiring students to sub- focuses on software engineering and programming. Unlike other mit test sets along with their source code. This technique can be learning management systems, SEP-CyLE uses embedded learning seamlessly integrated into any new or existing programming assign- and engagement strategies (ELESs) to involve students more deeply ment and requires students to think of software testing as a natural in the learning process. These ELESs currently include Collabora- part of their program development. Edwards [10] indicates that tive Learning, Gamification, Problem-Based Learning and Social learners consider testing as both a boring activity and a significant Interaction. overhead, owing to the time that they spend on performing the tests The learning content in SEP-CyLE is packaged in the form of and writing of test plans. Ellen et al. [3] investigated combining Learning Objects (LOs) and Tutorials. LOs are chunks of multime- programming and testing by developing an educational module. dia learning content that should take the learners between five to Janzen et al. [14] proposed the idea

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us