Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher.
Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?
Some links on this page may take you to non-federal websites. Their policies may differ from this site.
-
Background. Software Engineering (SE) is a new and emerging topic in secondary computer science classrooms. However, a review of the recent literature has identified an overall lack of reporting on the development of SE secondary curriculum. Previous studies also report low student engagement when teaching these concepts. Objectives. In this experience report, we discuss the development of a 9-week, project-based learning (PBL) SE curriculum for secondary students. During this curriculum, students create a socially relevant project in groups of two to three. We discuss displays of participant engagement with CS concepts through the PBL pedagogy and the SE curriculum. Method. We examine participant engagement through group artifact interviews about student experiences during a week-long, virtual summer camp that piloted activities from our curriculum. During this camp, students followed a modified SE life cycle created by the authors of the paper. Findings. Participants showed engagement with the curriculum through various aspects of PBL, such as autonomy, creativity, and personal interest in their project topic. Implications. The lessons learned from this experience report suggest that PBL pedagogy can increase student engagement when teaching CS concepts, and this pedagogy provides detail and structure for future secondary SE curriculum implementations to support educators in the classroommore » « less
-
Computer Science (CS) Frontiers is a 4-module curriculum, 9 weeks each, designed to bring the frontiers of computing to high school girls for exploration and development. Our prior work has showcased the work in developing and piloting our first three modules, Distributed Computing, Artificial Intelligence (AI), and the Internet of Things (IoT). During the summer of 2022, we piloted the completed curricula, including the new Software Engineering module, with 56 high school camp attendees. This poster reports on the newly developed software engineering module, the experiences of 7 teachers and 11 students using the module, and our plans for improving this module prior to its release in formal high school classrooms. Initial survey and interview data indicate that teachers became comfortable with facilitating the open-endedness of the final projects and that students appreciated the connections to socially relevant topics and the ability of their projects to help with real-world problems such as flood prevention and wheelchair accessibility. The CS Frontiers curriculum has been added to course offerings in Tennessee and adoption through the North Carolina Department of Public Instruction is currently underway. Teachers from Tennessee, North Carolina, Massachusetts, and New York have piloted the materials. Together with researchers, we are working to package the course and curricula for widespread adoption as additional support to students as they try out computing courses in their high school pathways. Our aim is to increase the interest and career awareness of CS for high school girls so they may have an equitable footing to choose CS as a potential major or career.more » « less
-
Internet of Things (IoT) devices are common in students’ everyday lives, but connecting these devices to a programming environment for educational use is not always straightforward. This paper presents a framework, IoTScape, for connecting IoT devices to an online block-based programming environment. This system automatically provides both a novice-friendly interface and more advanced tools integrating cybersecurity concepts. By allowing new device types to easily be added to the system, a more diverse set of curricula is possible, ideally attracting more students who may not find the existing curricula engaging. Examples are provided of IoT devices used with this system, both physical and virtual, connected to NetsBlox through this platform, along with potential pedagogical uses of these devices.more » « less
-
null (Ed.)The Covid-19 pandemic has offered new challenges and opportunities for teaching and research. It has forced constraints on in-person gathering of researchers, teachers, and students, and conversely, has also opened doors to creative instructional design. This paper describes a novel approach to designing an online, synchronous teacher professional development (PD) and curriculum co-design experience. It shares our work in bringing together high school teachers and researchers in four US states. The teachers participated in a 3-week summer PD on ideas of Distributed Computing and how to teach this advanced topic to high school students using NetsBlox, an extension of the Snap! block-based programming environment. The goal of the PD was to prepare teachers to engage in collaborative co-design of a 9-week curricular module for use in classrooms and schools. Between their own training and the co-design process, teachers co-taught a group of high school students enrolled in a remote summer internship at a university in North Carolina to pilot the learned units and leverage ideas from their teaching experience for subsequent curricular co-design. Formative and summative feedback from teachers suggest that this PD model was successful in meeting desired outcomes. Our generalizable FIRST principles—Flexibility, Innovativeness, Responsiveness (and Respect), Supports, and Teamwork (collaboration)—that helped make this unique PD successful, can help guide future CS teacher PD designs.more » « less
-
Abstract: The paper introduces a visual programming language and corresponding web- and cloud-based development environment called NetsBlox. NetsBlox is an extension of Snap! and it builds upon its visual formalism as well as its open source code base. NetsBlox adds distributed programming capabilities to Snap! by introducing two simple abstractions: messages and NetsBlox services. Messages containing data can be exchanged by two or more NetsBlox programs running on different computers connected to the Internet. Services are called on a client program and are executed on the NetsBlox server. These two abstractions make it possible to create distributed programs, for example multi-player games or client-server applications. We believe that NetsBlox provides increased motivation to high-school students to become creators and not just consumers of technology. At the same time, it helps teach them basic distributed programming concepts.more » « less