skip to main content


The NSF Public Access Repository (NSF-PAR) system and access will be unavailable from 11:00 PM ET on Thursday, June 13 until 2:00 AM ET on Friday, June 14 due to maintenance. We apologize for the inconvenience.

Title: Beyond CS Principles: Bringing the Frontiers of Computing to K12
The AP Computer Science Principles (CSP) high school course introduces students to computer science and programming. What should motivated students study after successful completion of AP CSP? The AP CSA class teaches Java programming and it has traditionally not attracted students from underrepresented groups. We are working on an alternative, projects-based course that will teach cutting edge CS concepts, such as distributed computing, computer networking, cybersecurity, the internet of things and machine learning, in a hands-on, accessible manner. Such an approach enables students to work on problems that interest them making computing more relevant and the curriculum more engaging. We utilize NetsBlox, a collaborative, block-based programming environment that extends Snap! with a few carefully selected abstractions that open up the vast array of resources freely available on the internet for student programs. Moreover, the tool enables students to work together on the same project remotely similarly to how Google Docs operate. This demonstration will introduce the environment and highlight its utility in creating distributed applications such as a shared whiteboard app and projects that access public domain scientific data sources and visualize them in various ways using online services such as Google Maps or charting. More information is available at  more » « less
Award ID(s):
Author(s) / Creator(s):
; ; ;
Date Published:
Journal Name:
SIGCSE '21: Proceedings of the 52nd ACM Technical Symposium on Computer Science
Page Range / eLocation ID:
1379 to 1379
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Distributed computing, computer networking, and the Internet of Things (IoT) are all around us, yet only computer science and engineering majors learn the technologies that enable our modern lives. This paper introduces PhoneIoT, a mobile app that makes it possible to teach some of the basic concepts of distributed computation and networked sensing to novices. PhoneIoT turns mobile phones and tablets into IoT devices and makes it possible to create highly engaging projects through NetsBlox, an open-source block-based programming environment focused on teaching distributed computing at the high school level. PhoneIoT lets NetsBlox programs—running in the browser on the student’s computer—access available sensors. Since phones have touchscreens, PhoneIoT also allows building a Graphical User Interface (GUI) remotely from NetsBlox, which can be set to trigger custom code written by the student via NetsBlox’s message system. This approach enables students to create quite advanced distributed projects, such as turning their phone into a game controller or tracking their exercise on top of an interactive Google Maps background with just a few blocks of code. 
    more » « less
  2. null (Ed.)
    To meet the rising demand for computer science (CS) courses, K-12 educators need to be prepared to teach introductory concepts and skills in courses such as Computer Science Principles (CSP), which takes a breadth-first approach to CS and includes topics beyond programming such as data, impacts of computing, and networks. Educators are now also being asked to teach more advanced concepts in courses such as the College Board's Advanced Placement Computer Science A (CSA) course, which focuses on advanced programming using Java and includes topics such as objects, inheritance, arrays, and recursion. Traditional CSA curricula have not used content or pedagogy designed to engage a broad range of learners and support their success. Unlike CSP, which is attracting more underrepresented students to computing as it was designed, CSA continues to enroll mostly male, white, and Asian students [College Board 2019, Ericson 2020, Sax 2020]. In order to expand CS education opportunities, it is crucial that students have an engaging experience in CSA similar to CSP. Well-designed differentiated professional development (PD) that focuses on content and pedagogy is necessary to meet individual teacher needs, to successfully build teacher skills and confidence to teach CSA, and to improve engagement with students [Darling-Hammond 2017]. It is critical that as more CS opportunities and courses are developed, teachers remain engaged with their own learning in order to build their content knowledge and refine their teaching practice [CSTA 2020]. CSAwesome, developed and piloted in 2019, offers a College Board endorsed AP CSA curriculum and PD focused on supporting the transition of teachers and students from CSP to CSA. This poster presents preliminary findings aimed at exploring the supports and challenges new-to-CSA high school level educators face when transitioning from teaching an introductory, breadth-first course such as CSP to teaching the more challenging, programming-focused CSA course. Five teachers who completed the online CSAwesome summer 2020 PD completed interviews in spring 2021. The project employed an inductive coding scheme to analyze interview transcriptions and qualitative notes from teachers about their experiences learning, teaching, and implementing CSP and CSA curricula. Initial findings suggest that teachers’ experience in the CSAwesome PD may improve their confidence in teaching CSA, ability to effectively use inclusive teaching practices, ability to empathize with their students, problem-solving skills, and motivation to persist when faced with challenges and difficulties. Teachers noted how the CSAwesome PD provided them with a student perspective and increased feelings of empathy. Participants spoke about the implications of the COVID-19 pandemic on their own learning, student learning, and teaching style. Teachers enter the PD with many different backgrounds, CS experience levels, and strengths, however, new-to-CSA teachers require further PD on content and pedagogy to transition between CSP and CSA. Initial results suggest that the CSAwesome PD may have an impact on long-term teacher development as new-to-CSA teachers who participated indicated a positive impact on their teaching practices, ideologies, and pedagogies. 
    more » « less
  3. CS4All initiatives nationwide have been working to increase and diversify student participation in computer science (CS). One intentional effort to broaden participation in CS was the launch of the Advanced Placement (AP) CS Principles (CSP) course, which sought to increase the number of students enrolling in CS overall as well as from groups historically underrepresented in CS. Early AP CSP implementation results are encouraging and have identified the need to better understand essential supports for quality implementation, differential student experiences and outcomes, and students’ motivations for course enrollment. In this paper, we explore the motivations that affect student decisions to take AP CSP using survey data collected during fall 2019 in the New York City public schools, the largest school district in the U.S. This work is part of an ongoing research-practice partnership that provides teacher and school supports for AP CSP implementation and aims to improve outcomes especially for female, Black, and Latinx students in high-need schools. In particular, we examine how students’ reasons and influences for enrolling in AP CSP may differ based on self-identified gender and race/ethnicity. Our findings indicate that while most students shared an interest in learning more about CS, students from communities historically underrepresented in computing are more likely to report being placed in the course and to be influenced by guidance counselors. The implications of these results highlight the importance of understanding why students choose AP CSP in developing recruitment resources, student engagement strategies, and supports for implementation. 
    more » « less
  4. null (Ed.)
    Concurrent enrollment enables high school teachers approved by a partnering college or university to teach college-level coursework to their students. The collaborative research-practice partnership project CS-through-CE examines if and how concurrent enrollment (CE) programs can effectively broaden participation in computing for secondary students. In the CS-through-CE project two participating higher education institutions - Capital Community College (CCC) in Hartford, CT, and Southwest Minnesota State University (SMSU) in Marshall, MN - collaborated with the Mobile Computer Science Principles (CSP) team to train secondary teachers to teach the Mobile CSP course, and then offer the Mobile CSP course as a CE course. In this experience paper, faculty from CCC and SMSU detail their experiences recruiting secondary partners to teach Mobile CSP as a CE course, including the barriers and challenges encountered and the strategies identified for overcoming them. Additionally, participating secondary instructors from Hartford Trinity Magnet College Academy in Hartford, CT and Northeast Range School in Babbit, MN detail their experiences teaching Mobile CSP as a CE course in their high schools. They share their experiences teaching Mobile CSP as a CE course, contrast this experience to teaching the course in an Advanced Placement (AP) format, and detail the benefits they see in each modality. The experiences of the college faculty and secondary instructors in this paper are informative for any secondary or post-secondary educator interested in cultivating or expanding pathways in CS through concurrent enrollment. 
    more » « less
  5. This paper shares the design principles of one Advanced Placement Computer Science Principles (AP CSP) course, Beauty and Joy of Computing (BJC), both for schools considering curriculum, and for developers in this still-new field. BJC students not only learn about CS, but do some and analyze its social implications; we feel that the job of enticing students into the field isn’t complete until students find programming, itself, something they enjoy and know they can do, and its key ideas accessible. Students must feel invited to use their own creativity and logic, and enjoy the power of their logic and the beauty and elegance of the code by which they express it. All kids need genuine challenge and sensible supports so all can have the joy of making—seeing themselves as creators, not just consumers, and seeing that it is their own intellect, not just our instructions, that is the source of that making. Framework standards are woven into a consistent social and intellectual storyline to give the curriculum integrity. Principles guide even our choice of programming language. Learners should focus on the logic and structure of their thinking, not on misplaced semicolons; attention to such syntactic detail is antithetical to broadening participation. We feature recursion and higher order functions because they beautifully exemplify abstraction, a key idea in CS and the CSP framework. BJC also places significant emphasis on the social implications of computing, balancing fundamental optimism about computing technology with a critical view of specific uses of technology. 
    more » « less