Almost every field today – from the arts and media to lab sciences –requires an understanding of computing. Multidisciplinary in nature, the course teaches students to analyze problems, use creative thinking, and collaborate to investigate solutions to real-world issues using computing. More specifically, the course will introduce students to the creative aspects of programming, abstractions, algorithms, large data sets, the Internet, cybersecurity concerns, and computing impacts. AP Computer Science Principles will help students develop a thorough grasp of the computing foundations and concepts relevant to college and career.
Welcome! We will be working together to understand the digital world, it's dangers and wonders. There are some homework assignments, but most of our work will be completed in class. Completing and reviewing work (even when not assigned) outside of class will be helpful for your understanding and the performance tasks.
Resource: www.code.org
For more information, contact Mrs. Fletcher, view the Google Classroom with your child, or log onto eSchool.
Unit 1 - Digital Information
This unit explores the technical challenges and questions that arise from the need to represent digital information in computers. Learn how complex information like numbers, text, images, and sound are represented in bits, how compression works, and the broader social impacts of digitizing the world's information.
Unit 2 - The Internet
This unit reveals how the Internet was designed to connect billions of devices and people to one another. Learn how the different protocols of the Internet work and actually build them yourself using the Internet Simulator. Then consider the impacts the Internet has had, both good and bad, on modern life.
Unit 3 - Intro to App Design
This unit is an introduction to programming and app design with a heavy focus on important skills like debugging, pair programming, and user testing. Learn how to design user interfaces and write event-driven programs in App Lab and then design a project that teaches your classmates about a topic of your choosing.
Unit 4 - Variables, Conditionals, and Functions
This unit explores how variables, conditionals, and functions allow for the design of increasingly complex apps. Learn how to program with these three new concepts through a sequence of collaborative activities. Then build your own decision maker app to share with friends and help them make a decision.
Unit 5 - Data
In this unit learn how data analysis helps turn raw data into useful information about the world. Learn how to use data visualization to find patterns inside of data sets and learn how this data analysis process is being used in contexts like open data or machine learning to help make decisions or learn more about our world. In the unit project, you'll analyze a dataset of your choosing and present your findings.
Unit 6 - Lists, Loops and Transversals
This unit introduces lists, loops, and traversals, and explores the way they can be used to build apps that store and process large amounts of information. Learn to program with the data library in App Lab and complete a 5-day hackathon project at the end of the unit where you can design a program about any topic of your choosing.
Unit 7 - Parameters, Returns, and Libraries
This unit introduces parameters, return, and libraries. Learn how to use these concepts to build new kinds of apps as well as libraries of code that you can share with your classmates. End the unit by designing a library of functions around any topic of your choosing.
Unit 8 - Cyber Security and Global Impacts
In this unit learn how computing innovations have impacted our world in beneficial and harmful ways. Learn how data can pose a threat to our privacy and security and the ways that encryption and other techniques are used to protect it. Throughout the unit participate in a "school of the future" conference in which you and a team make a proposal for how best to improve school life with computing innovations.
Unit 9 - AP Performance Create Task
Unit 10 - Algorithms
This unit is a quick exploration of how computer scientists design algorithms to solve problems and how they analyze the speed of different algorithms. Learn about the concept of algorithmic efficiency through a variety of hands-on activities and learn how it's being applied in modern computing.