skip to main content

Attention:

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


Title: Design Principles behind Beauty and Joy of Computing
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
Award ID(s):
1837280
NSF-PAR ID:
10344463
Author(s) / Creator(s):
; ; ; ;
Date Published:
Journal Name:
Proceedings of the 51th ACM Technical Symposium on Computer Science Education: SIGCSE ’20.
Page Range / eLocation ID:
220 to 226
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. 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
  2. null (Ed.)
    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 https://netsblox.org. 
    more » « less
  3. Game programming projects are concrete and motivational for students, especially when used to teach more abstract concepts such as algebra. These projects must have open-ended elements to allow for creativity, but too much freedom makes it hard to reach specific learning outcomes. How many degrees of freedom do students need to make a game feel like one they genuinely designed? What kinds of personalization do they undertake of their games? And how do these factors correlate with their prior game-playing experience or with their identified gender? This paper studies these questions in the concrete setting of the Bootstrap:Algebra curriculum. In this curriculum, students are only given four parameters they can customize and only a few minutes in which to do so. Our study shows that despite this very limited personalization, students still feel a strong sense of ownership, originality, and pride in their creations. We also find that females find videogame creation just as satisfying as males, which contradicts some prior research but may also reflect the nature of games created in this curriculum and the opportunities it offers for self-expression. 
    more » « less
  4. null (Ed.)
    The surge of interest in K-12 computer science (CS) over the past decade has led to a deep need for a corresponding expansion of trained teachers. The primary focus of most K-12 CS teacher professional development has been for current in-service teachers who have little background in CS. To raise the importance of CS within Colleges of Education, we believe that new pathways and experiences are needed for pre-service Education majors to learn more about authentic CS topics and pedagogy. This experience report summarizes our efforts over the past two years to prepare Secondary Math Education (SEMA) majors to teach AP CS Principles (AP CSP). Our approach consists of the following curricular activities: 1) a two-course sequence, with the first course mapping to the content topics of the AP CSP Curriculum Framework, and the second course consisting of a reflection of CS methods and pedagogy, including opportunities for SEMA students to develop and present their own AP CSP lesson plans; 2) opportunities for SEMA students to observe AP CSP classrooms in local high schools through our partnership with experienced AP CSP teachers; 3) summer participation in a College Board AP Summer Institute for AP CSP, and 4) a six-week ETS Praxis CS preparation modules-based course, offered to both pre-service SEMA students and in-service teachers. We summarize our lessons learned and present results that suggest our approach is preparing pre-service students with pedagogical and content knowledge that meets or exceeds current in-service training models (including an analysis of recent Praxis results for CS certification in our state). 
    more » « less
  5. null (Ed.)
    CSAwesome is a new approved curriculum and professional development (PD) provider for the Advanced Placement (AP) Computer Science (CS) A high school course. AP courses are taken by secondary (typically ages 14-19) students for college placement and/or credit. CSAwesome's free curriculum and teacher resources were developed in 2019 by adapting the CSA Java Review ebook on the open-source Runestone platform. The goals of CSAwesome are to broaden participation in the AP CSA course and to support new-to-CS students and teachers as they transition from the AP Computer Science Principles (CSP) course to the AP CSA course by using inclusive teaching practices and curriculum design. The AP CSP course is equivalent to a first course for non-majors at the college level, while the AP CSA course is equivalent to a first course for majors. Currently, AP CSA attracts a much less diverse student body than AP CSP. This new curriculum supports student engagement and scaffolded learning through an interactive ebook with embedded executable and modifiable code (Active Code), a variety of practice types with immediate feedback, and adaptable mixed-up code (Parsons) problems. Collaborative learning is encouraged through pair programming and groupwork. Our pilot Professional Development (PD) incorporates inclusive teaching strategies and active recruitment with the goal of broadening participation in CSA. This paper presents the design of the CSAwesome curriculum and teacher professional development and initial results from the curriculum use and pilot PD during the first year of CSAwesome. 
    more » « less