AP Computer Science Principles is a college level, rigorous, and engaging course created for every student.Scope of learning in this course is not confined to the understanding of syntax and semantics of a programming language. In this course students explore big ideas of the world of computing like: networking, cyber security, encryption, Internet, big data and digital audio and image manipulation.
Computer Science Principles is a foundational course in computer science. In this course students learn how data travels from one medium to another and how it is digitally represented on the computer.Put together, this rich course is an ideal mix of digital literacy,problem solving and computational creativity.
This multidisciplinary course aspires to make computer science a tool of expression, problem solving, exploration and creation for the students of today.
In this unit students start with examine strategies for approaching large-scale problems, Identify a number of common features of algorithms, including sequencing, selection, and repetition. Students further learn to identify the needs and applications of cryptography. Analyze the differences between various encryptions and encode-decode messages using common cryptographic techniques. Late part of this unit focuses on cyber security. In this part of the unit students examine a number of common threats to cyber security, including distributed denial of service attacks(DDoS), phishing, viruses, and social engineering. Students further examine the factors that affect the decidability of a problem, methods of comparing equivalent algorithms for relative efficiency.
In this unit students are introduced to programming for the first time in this course.Students utilize a graphical editor to read, construct, and execute dynamic programs. Students examine how the dynamic state of an object or program can be stored and changed using variables. Students further analyze the differences between simple selection and complex, nested selection statements. Students also learn the use of the Boolean operators "AND", "OR", and "NOT" in constructing complex conditional statements. Unit ends with students creating projects and applications using “Repeat” & “repeat until” loops, loops, variables, conditionals and nested structures.
In this unit students examine: how numerical values are represented using different bases, including decimal and binary, how alphanumeric characters and symbols may be represented using ASCII and Unicode character mappings. Students further explore ways in which natural phenomena may be represented digitally. In the second part of this unit students investigate common operations for processing elements of a list, including searching for an element, removing an element, swapping the positions of two elements, or sorting an entire list into ascending or descending order.
In this unit students are introduced to Processing: drawing, mouse interaction, keyboard interaction. Students will learn to write formal code using common programming constructs like conditional if() for selection and while() loops for iteration and use event handlers to animate on-screen effects and respond to mouse and keyboard input.
In the second part of this unit students explore and work with image and sound editing. Students learn: RGB Color, raster images, raster image manipulation, encoding schemes, manipulating digital images, digital audio, audio processing and difference between lossy and lossless encoding schemes. Unit ends with discussion of Creative Commons license.
In this unit students are Introduction to big data, usability and usefulness of data, data visualization. Students explore various methods like: search engines, big online databases, spiders and screen scrapers to extract structures and unstructured data from Internet.
In the later part of this unit, students analyze this data using statistical analysis, data mining, clustering and classification. Unit ends with discussing global impact and risks of crowdsourcing
Wide array of topics are covered in this domain. Some of the topics covered are: social networking and communication, search, wikis, commerce, cloud computing, network infrastructure, and communication protocols. We also examine a number of standard network protocols, including IP, TCP, UDP, SMTP, HTTP, and FTP. Second half of this topic is spend analyzing the legal, social, and commercial impact that the World Wide Web has had on society, distributed computing, ethics of autonomous technology.
In this course in addition to developing fundamental concepts of logic, abstraction and problem solving, students will also learn about various domains of computer science: cyber security, cryptography, encryption, big data collection and analysis. Students will be able to use learned knowledge to perform digital and audio compression and manipulation.
The AP Program at college board designed AP Computer Science Principles with the goal of creating leaders in computer science fields and attracting and engaging those who are traditionally underrepresented with essential computing tools and multidisciplinary opportunities.