# Introduction

Based on the Understanding by Design® (Wiggins and McTighe) model, the AP Computer Science Principles Course and Exam Description provides a clear and detailed description of the course requirements necessary for student success. The course is designed to be equivalent to a first-semester introductory college computing course. The major areas of study in the course are organized around big ideas that encompass ideas foundational to studying computer science.

The AP Computer Science Principles course framework is organized into five big ideas.

| **Big Idea**                              | **Exam Weighting** |
| ----------------------------------------- | ------------------ |
| Big Idea 1: Creative Development          | 10%–13%            |
| Big Idea 2: Data                          | 17%–22%            |
| Big Idea 3: Algorithms and Programming    | 30%–35%            |
| Big Idea 4: Computer Systems and Networks | 11%–15%            |
| Big Idea 5: Impact of Computing           | 21%–26%            |

### Computational Thinking Practices

The AP Computer Science Principles course framework included in the course and exam description outlines distinct skills from computational thinking practices that students should practice and develop throughout the year—skills that will help them learn to think and act like computer scientists. Emphasis is placed on creativity and collaboration as pedagogical strategies to be used to develop a diverse, appealing, and inclusive classroom environment.

| **Computational Thinking Practice**   | **Description**                                                                 | **Exam Weighting (Multiple-Choice Section)** |
| ------------------------------------- | ------------------------------------------------------------------------------- | -------------------------------------------- |
| 1. Computational Solution Design      | Design and evaluate computational solutions for a purpose.                      | 18%–25%                                      |
| 2. Algorithms and Program Development | Develop and implement algorithms.                                               | 20%–28%                                      |
| 3. Abstraction in Program Development | Develop programs that incorporate abstractions.                                 | 7%–12%                                       |
| 4. Code Analysis                      | Evaluate and test algorithms and programs.                                      | 12%–19%                                      |
| 5. Computing Innovations              | Investigate computing innovations.                                              | 28%–33%                                      |
| 6. Responsible Computing              | Contribute to an inclusive, safe, collaborative, and ethical computing culture. | Not assessed                                 |

This website is written by Mr. Cheng, a high school computer science teacher and adjunct professor.  He can be reached at mcheng @ appinventor.net  He is available for consulting and tutoring.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.csprinciples.com/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
