The College Board plans to launch a new Advanced Placement Computer Science Course, AP Computer Science Principles (AP CSP) in the fall of 2016 with the first AP CSP Exam being administered in May 2017. AP CSP is not replacing the current AP Computer Science A course (AP CS A), whose purpose is to introduce students to algorithmic thinking and problem solving through programming. Instead, AP CSP is designed to attract and serve a more diverse population of students by introducing those students to a broader set of principles than is presented in AP CS A. This new course is designed to prepare students for a variety of majors by increasing their understanding of the principles and practices of computing that are critical in our competitive 21st century workforce. AP CSP is intended to attract more traditionally underrepresented populations of students than does AP CS A. While programming and algorithmic thinking are prominent in AP CSP, they are not the sole focus of the course. AP CSP is intended to support students in gaining competencies similar to those gained by students completing a university computer science course for non-majors. Although AP CSP may be the only computer science course taken by many of these students, it may also serve as a catalyst for students to pursue computer science as a major field of study. This article is an overview of the goals of AP CSP, as well as an update on the current status of AP CSP, the curriculum framework, and the course assessments.
AP CSP allows students to explore computer science in a non-threatening, supportive, collaborative environment in which personal interests are valued and used to guide course explorations. Unlike traditional introductory computer science courses, AP CSP is not a programming-centric course, but programming remains an essential topic within this course. AP CSP integrates six computational thinking practices (Connecting Computing, Creating Computational Artifacts, Abstracting, Analyzing Problems and Artifacts, Communicating, and Collaborating) with seven big ideas (Creativity, Abstraction, Data and Information, Algorithms, Programming, the Internet, and Global Impact).
Successful completion of AP CSP requires students to create digital artifacts using various levels of abstraction, effectively analyze data to generate new knowledge, develop and implement algorithms using a programming language to solve computational problems, explain the internet and the systems on which it is built, and explore the impact of computing on specific populations. The processes students use to verify their abilities related to the previously mentioned tasks include connecting computing to people, creating, abstracting, analyzing, communicating, and collaborating.
A research-driven approach was used in developing the curriculum framework for AP CSP based on Understanding by Design [3]. In addition, those responsible for the AP Program have conducted a higher education validation process in which they collected and integrated input from computer science professors across a wide variety of colleges and universities. Ultimately, the course is considered a college level course and has been taught at colleges and universities across the country with both computer science majors and non-majors enrolled in the course.
AP CSP students identify impacts of computing and describe connections between people and computing. They create artifacts with a practical, personal, or societal intent and select the appropriate tools and techniques to develop this artifact. Students explain how data, information, or knowledge is represented and explain how abstractions are used in creating computational artifacts. They evaluate alternative proposed solutions to problems, correct any errors found, and justify the appropriateness of choices made in their design process. AP CSP students communicate their results with appropriate language, notations, and visualizations. They collaborate while solving computational problems. Each student provides individual contributions to an overall collaborative effort by sharing knowledge and offering feedback with a partner or team member.
The Role of Programming in AP CSP
Programming is one component of AP CSP and one of the seven big ideas. But, more than a unit of study, AP CSP integrates programming concepts throughout the curriculum. For example, students may write code to produce a graphic that creatively displays data. They may explicitly describe the abstractions used to process and display the data. Descriptions of algorithms used for processing the data and the implementations of those algorithms may also be included in their work. The integration of the computational thinking practices and the big ideas occurs regularly.
Students implement algorithms to solve problems and develop programs for creative expression. The AP CSP Curriculum Framework does not define one specific programming language but allows the teacher the flexibility to choose a programming language that would be most appropriate for the specific class. The course is intended to encourage creativity in programming activities and to have the students develop programs, explain the algorithms and abstractions they use, and evaluate the correctness of their programs. The programming skills that are taught in AP CSP are skills that can be transferred easily when programming in other languages. The programming concepts taught in AP CSP form the backbone of the knowledge that allows them to better understand the technologies that are part of their lives.
Engagement of Students in AP CSP
AP CSP is about engaging students while studying computer science principles. It's about becoming informed and functioning members in a digital society. The AP CSP Curriculum Framework provides a pathway for students to consider further study in computer science. The curriculum is engaging, relevant, and challenging. This generation of students grew up using digital technologies. Smartphones, tablet computing, Google, Instagram, Facebook, Twitter, and digital media have dominated their worlds. The internet is their primary source of information. They have become users of technology, but not necessarily efficient and productive users of technology. AP CSP is designed to help students better understand and use technologies for effective and efficient problem solving. Concepts learned in this course enable students to understand the importance of computer science and the role programming plays in the development of these technologies. AP CSP also guides students to an enhanced understanding of the impacts of these technologies on society. Students will experience being the designers and creators of computational artifacts that have a personal significance, thus engaging them in activities that are meaningful.
So much of what our students do on a daily basis involves interacting with computational devices. Whether it is playing music on a personal music player, sending messages through email or other text-based communication systems, driving a car, etc., they have to use the language of each device in order to successfully accomplish their goals. AP CSP students explore the abstractions associated with digital devices and think about the processes that are used to implement the device's functionality. For example, a student may research how a GPS watch works and what decisions an individual might make by investigating the data that this device provides. The research could lead to discussions on how satellites can be used to calculate positions and speeds of objects, thus integrating the concept of algorithms. Discussions that follow could focus on the positive impacts GPS watches might have on particular populations such as athletes. Students will consider how other devices might, both positively and negatively, impact specific populations. The use of computational devices is constantly expanding, and the importance of effective communication with these devices will continue to grow. Again, the concepts of abstraction and algorithms learned while programming help students view technologies on a different, more informed, level.
AP CSP provides students the opportunities to develop effective communications with computational devices using precise, sequenced commands. They learn to apply appropriately grammar rules defined for their chosen programming language. These experiences allow students to explore programming in a very relevant way. Programming is expanding its role as a basic literacy for global citizens and is thus one of the seven big ideas integrated throughout AP CSP.
In Figure 2, programming artifacts created by CSP students are displayed in an all-school art show. Their digital artifacts are displayed on a course website, and their printed copies are shared with the school and the entire community during the week-long show.
The AP CSP Curriculum Framework
The AP CSP Curriculum Framework is organized to guide CSP teachers and students through the course. For each big idea, enduring understandings are given. These enduring understandings are the core concepts of the course—the skills that the students will retain from their participation in the course. Each enduring understanding has one or more learning objectives. The learning objectives define what the students should know and be able to do. The learning objectives help guide the teachers in preparing students for the course assessments. They clarify the connections between the computational thinking practices and the big ideas and articulate the knowledge and skills the students will be required to demonstrate. Each learning objective has a list of essential knowledge statements. The essential knowledge statements specify the boundaries of the curriculum and are considered to be required course content. The course assessments may focus on any content listed in the essential knowledge statements. In addition to the topics covered in the AP CSP course, the curriculum framework also includes exclusion statements. The exclusion statements are meant to better define the scope of the course material. They specify the content that will not be assessed on the exam because it is beyond the scope of the course.
Implementation of CSP by Pilot sites
The first official CSP Pilot courses were taught in five universities during the 2010-2011 academic year. In 2011-12, the pilot expanded to ten high schools and eight colleges. Since then, College Board has organized a national pilot cohort with an additional 50 sites to pilot the course over the next three years (40 high schools and 10 colleges). The pilot sites have used a wide variety of computational tools and problem solving experiences to help students achieve the goals of this course. The challenges and successes experienced by pilot instructors will help to inform future AP CSP teachers about the choices they will make when implementing their own course.
Assessing Success in AP CSP
AP CSP uses a blended assessment that is comprised of 1) an end-of-course, objectively scored exam, and 2) a through-course assessment made up of two performance tasks. This blended assessment model allows for greater flexibility in assessing learning objectives in the AP CSP Curriculum Framework. In particular, this blended model allows for a more effective assessment of the creative and collaborative aspects of the course that are included in the performance tasks described below.
Through-Course Assessments
One of the two required performance tasks, Explore — Impact of Computing Innovations [2], requires the student to investigate a computing innovation that has had a significant impact on the social, economic, and/or cultural areas of our lives. The students are required to submit a written report that includes answers to specific prompts that focus on the innovation and its purpose, functionality, and global impact. The students are then required to use a computer to create a visual artifact that depicts the harmful or beneficial impacts of this innovation and summarizes how this artifact illustrates these effects. An excerpt from a pilot course student submission for the Explore Performance Task is provided in Figure 4. It includes a screen capture of a video recording of the digital artifact that the student created to illustrate the impact of MIDI technology on musicians.
The second required performance task, Create — Applications from Ideas [2], requires students to individually and collaboratively develop and submit programs that relate to an area of focus that is interesting to them. The submission requirements include screen captures of source code and videos of the program running. Students are also required to answer prompts associated with their program, the abstractions and algorithms used in their program, and the processes used to write their collaboratively developed program. An excerpt from a pilot course student submission for the Create Performance Task is provided in Figure 5. It includes screen captures of the program output and a video recording of the running program that allows users to translate English words into Spanish. A code sample is also displayed immediately following the images.
Teachers are provided with guidelines for approaching the practice and implementation of the two required performance tasks.
Teacher Support
There have been many initiatives to help prepare teachers to teach AP CSP. Several universities and educational organizations have offered professional development opportunities and currently provide resources for teachers of CSP. Many Computer Science Teachers Association (CSTA) local chapters offer workshops and other professional development opportunities for their local communities of computer science educators. Teaching guides are being developed by College Board and will be valuable resources for teachers. As with other AP courses, College Board workshops and teacher communities will also be developed for AP CSP.
Summary
The goal of AP CSP is to engage and excite a diverse group of students and to open their eyes so that they think about computer science as an area of study. This course is designed to help students understand that whatever their chosen field of study, computing will play an important role. The concepts taught in AP CSP will help build a foundation of sound computational practices that will prepare them for interacting with technology and possibly even contributing to the design and/or development of computational innovations that have a positive effect on society, economy, or culture.
References
[1] AP CSP Curriculum Framework - Draft (June 2014); http://media.collegeboard.com/digitalServices/pdf/ap/compsci-principles-draft-cf-final.pdf. Assessed 2014 August 10.
[2] Computer Science Principles Performance Assessments (Draft – fall 2014); http://media.collegeboard.com/digitalServices/pdf/ap/ap-computer-science-principles-performance-assessment.
[3] Wiggins, G. and McTighe, J. Understanding by Design Framework; http://www.ascd.org/research-a-topic/understanding-by-design-resources.aspx. Accessed 2014 December 20.
Authors
Richard Kick
Newbury Park High School
456 North Reino Road, Newbury Park,
California 91320 USA
[email protected]
Frances P. Trees
Rutgers, The State University of New Jersey,
Computer Science Department
110 Frelinghuysen Road, Piscataway,
New Jersey 08854 USA
[email protected]
Footnotes
1. AP is a registered trademark of the College Entrance Examination Board, which was not involved in the production of, and does not endorse, this article.
Figures
Figure 1. Seven big ideas and six computational thinking practices
Figure 2. Programming products of CSP students – Impacting the Community with Digital Art
Figure 3. Excerpt from the June 2014 Draft AP CSP Curriculum Framework, Big Idea 4: Algorithms [1]
Figure 4. Excerpts from a pilot course student submission for the Explore Performance Task.
Figure 5. Excerpts from a pilot course student submission for the Create Performance Task.
©2015 ACM 2153-2184/15/03 $15.00
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2015 ACM, Inc.
Contents available in PDFView Full Citation and Bibliometrics in the ACM DL.
To comment you must create or log in with your ACM account.
Comments
There are no comments at this time.