skip to main content


Title: CSAwesome: A Free Curriculum and Ebook for Advanced Placement Computer Science A (CS1 in Java)
This hands-on online workshop will introduce high school and college instructors to CSAwesome, a free Java curriculum and ebook at course.csawesome.org for the Advanced Placement (AP) Computer Science (CS) A course. This course is equivalent to a college-level CS1 course in Java. CSAwesome is an official College Board approved curriculum and professional development provider and has been widely adopted by AP high school teachers. The free ebook on the Runestone platform includes executable Java code examples and a variety of practice problems with immediate feedback: multiple-choice, fill-in-the-blank, write-code, mixed-up code (Parsons), and clickable code. It also includes coding challenges and support for pair programming. The curriculum is designed to help transition students from AP Computer Science Principles, which is equivalent to a CS0 course. Teacher lesson plans and resources are freely available. During this workshop, participants will register for the free ebook and work through example activities using object-oriented programming. If possible, participants will be divided into breakout groups according to their Java expertise. Participants will also learn how to create a custom course on the Runestone platform, create and grade assignments, use the instructor's dashboard to view student progress, contribute to the question bank, and use an interleaved spaced practice tool. We will also discuss online/hybrid teaching and engagement strategies.  more » « less
Award ID(s):
2031362 2031361
NSF-PAR ID:
10289001
Author(s) / Creator(s):
;
Date Published:
Journal Name:
Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
Page Range / eLocation ID:
1352 to 1352
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. 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
  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. CSAwesome is a Java AP CSA and CS1 curriculum with 20,000 users on the Runestone ebook platform. The curriculum is online, free and interactive with embedded Java Active Code examples and problems, mixed-up code (Parsons problems), multiple-choice problems, and scaffolded coding challenges. There are many features of the Runestone platform that scaffold and differentiate learning for students. The curriculum is designed to broaden participation in CS and transition students from AP CSP (or CS0) to AP CSA (or CS1) with a variety of techniques such as scaffolded interactivity and creative and collaborative learning. Initial results from the 2020-2021 school year show average gains of 29% on the pre/post test built into the curriculum (n=958, P<.001). Pre and post surveys built into the ebook show slight gains in confidence in Java programming and pursuing further study or a career in computing (P<.001). Female students (22% of those who answered) performed similarly to all students. Students who took AP CSP (39%) prior to AP CSA performed slightly higher in the pre-test but had similar results otherwise. 47% of students rated themselves as beginner programmers and 30% intermediate at the beginning of the course; at the end of the course, 12% rated themselves as beginners and 43% as intermediate programmers. 
    more » « less
  4. 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
  5. Robotics has emerged as one of the most popular subjects in STEM (Science, Technology, Engineering, and Mathematics) education for students in elementary, middle, and high schools, providing them with an opportunity to gain knowledge of engineering and technology. In recent years, flying robots (or drones) have also gained popularity as teaching tool to impart the fundamentals of computer programming to high school students. However, despite completing the programming course, students may still lack an understanding of the working principle of drones. This paper proposes an approach to teach students the basic principles of drone aeronautics through laboratory programming. This course was designed by professors from Vaughn College of Aeronautics and Technology for high school students who work on after-school and weekend programs during the school year or summer. In early 2021, the college applied for and was approved to offer a certificate program in UAS (Unmanned Aerial Systems) Designs, Applications, and Operations to college students by the Education Department of New York State. Later that year, the college also received a grant from the Federal Aviation Administration (FAA) to provide tuition-free early higher education for high school students, allowing them to complete the majority of the credits in the UAS certificate program while still enrolled in high school. The program aims to equip students with the hands-on skills necessary for successful careers as versatile engineers and technicians. Most of the courses in the certificate program are introductory or application-oriented, such as Introduction to Drones, Drone Law, Part 107 License, or Fundamentals of Land Surveying and Photogrammetry. However, one of the courses, Introduction to Drone Aeronautics, is more focused on the theory of drone flight and control. Organizing the lectures and laboratory of the course for high school students who are interested in pursuing the certificate can be a challenge. To create the Introduction to Drone Aeronautics course, a variety of school courses and online resources were examined. After careful consideration, the Robolink Co-drone [1] was chosen as the experimental platform for students to study drone flight, and control and stabilize a drone. However, developing a set of comprehensible lectures proved to be a difficult task. Based on the requirements of the certificate program, the lectures were designed to cover the following topics: (a) an overview of fundamentals of drone flight principles, including the forces acting on a drone such as lift, weight, drag, and thrust, as well as the selection of on-board components and trade-offs for proper payload and force balance; (b) an introduction to the proportional-integral-directive (PID) controller and its role in stabilizing a drone and reducing steady-state errors; (c) an explanation of the forces acting on a drone in different coordinates, along with coordinate transformations; and (d) an opportunity for students to examine the dynamic model of a 3D quadcopter with control parameters, but do not require them to derive the 3D drone dynamic equations. In the future, the course can be improved to cater to the diverse learning needs of the students. More interactive and accessible tools can be developed to help different types of students understand drone aeronautics. For instance, some students may prefer to apply mathematical skills to derive results, while others may find it easier to comprehend the stable flight of a drone by visualizing the continuous changes in forces and balances resulting from the control of DC motor speeds. Despite the differences in students’ mathematical abilities, the course has helped high school students appreciate that mathematics is a powerful tool for solving complex problems in the real world, rather than just a subject of abstract numbers. 
    more » « less