skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


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
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. 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
  3. 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
  4. Creating effective professional development is critical to support high school teachers who teach computer science (CS) online. The context of this study is based on a current Research to Practice Partnership (RPP) between the University of North Carolina at Charlotte in the United States and North Carolina Virtual Public School (NCVPS). Ten high school teachers from the NCVPS who teach CS online participated in a summer workshop and recommended design, facilitation, and evaluation strategies to be included in effective professional development (PD). The summer workshop was conducted synchronously via Zoom. It provided the opportunity to discuss teacher perceptions related to the research questions "What design, facilitation, and assessment strategies are helpful to include in an AP Computer Science Advanced course?" and "What recommendations do you have for designing an online professional development course for high school teachers to teach computer science online?" The questions were posed through an online collaborative Jamboard, and the affinity diagram method was used for data collection and document analysis was conducted. The teacher posts were qualitatively analyzed to identify common themes. Findings for professional development on content design included CS content, how to teach CS, and CS tools and activities. For assessment, they recommended content knowledge assessments, including lab assignments, single and pair programming, and coding assessments. They recommended tools for supplemental instruction, integration of discussion boards for interaction, and tools and strategies to provide feedback for professional development. 
    more » « less
  5. Subgoal labeling is an instructional design framework for breaking down problems into pieces that are small enough for novices to grasp, and often difficult for instructors (i.e., experts) to articulate. Subgoal labels have been shown to improve student performance during problem solving in many disciplines, including computing. Improved student performance occurs because subgoal labels improve student transfer and retention of knowledge. With support from NSF (DUE-1712025, 1712231, 1927906, 2110156, 2111578), subgoal labels have been previously identified and integrated into a CS1 course (variables, expressions, conditionals, loops, arrays, classes) and an e-book has been created on the Runestone platform to enable students to complete practice problems using the subgoals. The initial implementation focused on Java, but within the past year, the development of subgoals for CS1 courses in Python have been created. Subsequently, course materials have been created as well. This workshop will introduce participants to the new materials (in Python) and demonstrate how the subgoal labels and worked examples are integrated throughout the course. Materials include worked examples and practice problems that increase in complexity and difficulty within each topic. The materials are designed to be integrated into CS1 courses as homework or classroom examples and activities. Assessment of topics using subgoal labels will also be discussed. Participants will also engage in an activity where they create an example for their own course using subgoal labels. 
    more » « less