Learning Recommendation: It is recommended that a student in the AP Computer Science Principles course should have successfully completed a first year high school algebra course with a strong foundation on basic linear functions and composition of functions, and problem solving strategies that require multiple approaches and collaborative efforts. In addition, students should be able to use a Cartesian (x, y) coordinate system to represents points in a plane. It is important that students and their advisers understand that any significant computer science course builds upon a foundation of mathematical and computational reasoning that will be applied throughout the study of the course.
General Description: The AP Computer Science Principles course is designed to be equivalent to a first-semester introductory college computing course. In this course, students will develop computational thinking vital for success across all disciplines, such as using computational tools to analyze and study data and working with large data sets to analyze, visualize, and draw conclusions from trends. The course is unique in its focus on fostering student creativity. Students are encouraged to apply creative processes when developing computational artifacts and to think creatively while using computer software and other technology to explore questions that interest them. They will also develop effective communication and collaboration skills, working individually and collaboratively to solve problems, and discussing and writing about the importance of these problems and the impacts to their community, society, and the world.
Content: The following are the major areas of study, or big ideas which are foundational to studying computer science:
- Creativity: Computing is a creative activity. Creativity and computing are prominent forces in innovation; the innovations enabled by computing have had and will continue to have far-reaching impact.
- Abstraction: Abstraction reduces information and detail to facilitate focus on relevant concepts. It is a process, a strategy, and the result of reducing detail to focus on concepts relevant to understanding and solving problems.
- Data and Information: Data and information facilitate the creation of knowledge. Computing enables and empowers new methods of information processing, driving monumental change across many disciplines — from art to business to science.
- Algorithms: Algorithms are used to develop and express solutions to computational problems. Algorithms realized in software have affected the world in profound and lasting ways.
- Programming: Programming enables problem solving, human expression, and creation of knowledge. Programming and the creation of software has changed our lives. Programming results in the creation of software, and it facilitates the creation of computational artifacts, including music, images, and visualizations.
- The Internet: The Internet pervades modern computing. The Internet and the systems built on it have had a profound impact on society. Computer networks support communication and collaboration.
- Global Impact: Computing has global impact. Our methods for communicating, collaborating, problem solving, and doing business have changed and are changing due to innovations enabled by computing.
Strategies: The course also incorporates computational thinking practices that set clear expectations of what students will do in the course:
- Connecting Computing – Students learn to draw connections between different computing concepts.
- Creating computational artifacts – Students engage in the creative aspects of computing by designing and developing interesting computational artifacts as well as by applying computing techniques to creatively solve problems.
- Abstracting – Students use abstraction to develop models and simulations of natural and artificial phenomena, use them to make predictions about the world, and analyze their efficacy and validity.
- Analyzing problems and artifacts – Students design and produce solutions, models, and artifacts, and they evaluate and analyze their own computational work as well as the computational work others have produced.
- Communicating – Students describe computation and the impact of technology and computation, explain and justify the design and appropriateness of their computational choices, and analyze and describe both computational artifacts and the results or behaviors of those artifacts.
- Collaborating – Students collaborate on a number of activities, including investigation of questions using data sets and in the production of computational artifacts.
Homework: Students will occasionally be required to complete work at home but most of the work can be completed during classroom time.
Course Fee / Materials: Currently their are three main curricula for AP CS Principles: BJC, Code.org, and Mobile CSP. All of them require a PC or Mac for each student. Mobile CSP is the most interesting, as it would allow students to learn the computer science principles while develop Android applications. Although it is not strictly required to have Android devices, it certainly would be optimal.
AP courses at IHS challenge students with rigorous college-level work. By succeeding in college-level work while still in high school, students in AP courses develop confidence in their own abilities and learn essential time management and study skills needed for college and career success.
AP courses provide the opportunity for students to earn college credits. In order to earn college credit, students must register for the AP exam for this course. AP exam fees vary each year. Scholarships are available for students who qualify. AP exam registration takes place December through March. College credit can be earned with a passing score on the AP exam, but what the score qualification and amount of credit earned varies by college.