This Advanced Placement Computer Science Principles course is equivalent to a one semester, college level, introductory computer science course. The rigor of this course is consistent with colleges and universities and will prepare students for the Advanced Placement exam in May. Upon successful completion of the exam, students may receive college credit and will be well-prepared for advanced computer science coursework. Additional details on this course from College Board can be found here: AP Computer Science Principles.
In this course, students will explore the following big ideas:
(1) Creative Development: When developing computing innovations, developers can use a formal, iterative design process or a less rigid process of experimentation. While using either approach, developers will encounter phases of investigating and reflecting, designing, prototyping, and testing. Additionally, collaboration is an important tool at any phase of development, because considering multiple perspectives allows for improvement of innovations.
(2) Data: Data are central to computing innovations because they communicate initial conditions to programs and represent new knowledge. Computers consume data, transform data, and produce new data, allowing users to create new information or knowledge to solve problems through the interpretation of those data. Computers store data digitally, which means that the data must be manipulated in order to be presented in a useful way to the user.
(3) Algorithms and Programming: Programmers integrate algorithms and abstraction to create programs for creative purposes and to solve problems. Using multiple program statements in a specified order, making decisions, and repeating the same process multiple times are the building blocks of programs. Incorporating elements of abstraction—by breaking problems down into interacting pieces, each with their own purpose—makes writing complex programs easier. Programmers need to think algorithmically and use abstraction to define and interpret processes that are used in a program.
(4) Computing Systems and Networks: Computer systems and networks are used to transfer data. One of the largest and most commonly used networks is the Internet. Through a series of protocols, the Internet can be used to send and receive information and ideas throughout the world. Transferring and processing information can be slow when done on a single computer, but leveraging multiple computers to do the work at the same time can significantly shorten the time it takes to complete tasks or solve problems.
(5) Impact of Computing: Computers and computing have revolutionized our lives. To use computing safely and responsibly, we need to be aware of privacy, security, and ethical issues. As programmers, we need to understand the potential impacts of our programs and be responsible for the consequences. As computer users, we need to understand any potential beneficial or harmful effects and how to protect ourselves and our privacy when using a computer.
In this course, students will develop computational thinking skills 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. Students will investigate how the Internet works and discuss its impacts on politics, culture, and the economy. In addition, students will learn and mitigate the security risks of many computing innovations.
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.
This course incorporates a variety of textbook and multimedia resources as well as the Code.org platform. Students will spend approximately half of the course gaining programming knowledge and skills in the App Lab integrated development environment and will regularly debug and repair existing applications and design their own applications. Students will also engage in collaborative activities, including discussions, that develop computer science literacy and connect computer science principles to real-world applications and current events, in order to develop a deeper understanding of technology and its impact on society.
Students will be expected to enroll in My AP Classroom through their VHS Learning AP course and will be guided to complete review work in My AP Classroom throughout the year. My AP Classroom resources include AP Daily Videos, which include AP-style multiple choice and free response questions.
Students enrolled in VHS Learning Advanced Placement courses with a passing grade are expected to take the AP Exam. Students register for AP exams through their local school or testing site as “Exam Only” students. AP exam scores will be reported to VHS Learning through My AP Classroom; exam results will not affect the student's VHS Learning grade or future enrollment in VHS Learning courses.
This AP course has a required summer assignment. The summer assignment is a review of prerequisite content and critical concepts students must be comfortable with before beginning the course. Students are expected to complete their summer assignment before the course begins and submit their work by the end of Week 1. Students who register on or after September 1 will receive an extension to complete the summer assignment by the end of Week 3.