AP Computer Science Principles
The Acellus AP Computer Science Principles course introduces students to the creative aspects of programming, abstractions, algorithms, big data, the Internet, cybersecurity concerns, and computing impacts. Students will learn to create and implement computer programs using current technologies for both self-expression and problem solving. Through hands-on application and examples, students will also explore career options while addressing ethical and relevant issues for today's world. This course is California A-G Approved and has been audited and approved by College Board to provide students with a college-level learning experience. This course is taught by Acellus Course Instructors Robert Getka and Lori Hunt.
Sample Lesson - Algorithms
This course was developed by the International Academy of Science. Learn More
Scope and SequenceUnit 1 - Introduction In this unit students begin with an introduction to algorithms and to computer programs and languages. They are also introduced to the educational, graphical programming language, Snap!, which they will use throughout this course for hands-on experience with programming. They explore programming as a creative activity and program music and art in the Snap! language. Unit 2 - Abstraction Students study binary numbers and the concept of bits. They learn about text and the ASCII Table, about colors in the RGB system, and about numeric precision and round-off errors. They learn hexadecimal notation and how to convert between number bases. They explore logic gates and learn to make a half adder, as well as a full adder with overflow. They discover simulations, Conway's Game of Life, what "random" is, and they learn to program the roll of dice. Unit 3 - The Internet In this unit students begin to understand the characteristics and the spirit of the Internet. They learn important vocabulary and discuss Internet privacy in terms of cookies and proxy servers, Internet security, and intellectual property. Unit 4 - Artificial Intelligence (Algorithms and Programming) In this unit students explore artificial intelligence (AI). They begin by studying the Turing Test, and then dive into programming by creating a Mad Libs program. They learn about AI and decision trees, and learn to program a recommendation. They investigate AI and winning games, they study modulo arithmetic, and they program a game of stones. They consider whether we should fear AI, and they program a number guessing game. Unit 5 - Data and Information Students learn about Big Data in this unit. They learn about privacy issues with Big Data, and they are introduced to lists in the Snap! language. They learn to store simulation results in a list, they discover abstractions in programming, and they learn about the average and the maximum of a list of numbers. They explore linear and binary searches and learn to swap the values of two variables. They learn sorting algorithms, they learn how to code a bubble sort, and they investigate compression of data, lossless compression, lossy compression, and programming the compression of a sentence. They discuss becoming a Data Scientist and exploring Big Data web sites. They learn to download a CSV file into a spreadsheet, and they learn what can be determined from Big Data once it has been collected. Unit 6 - The Power and Limits of Computing In this unit students discover intractable problems. They learn about problems that cannot be solved within a reasonable time, about The Traveling Salesperson problem, and about hueristic solutions to intractable problems. They study unsolvable and undecidable problems, and the impact of computing on society. They explore cryptography and learn to program a Caesar Cipher. They investigate the Enigma Machine and Alan Turing, as well as public key encryption. Unit 7 - Preparing for the College Board Assessments In this unit students learn about the performance tasks they will need to complete in preparation for the College Board Assessments, which will make up 40% of their grade. They explore the two required tasks: the Explore Performance Task, which considers computing innovations, and the Create Performance Task, which focuses on the creation of a computer program. They discuss the requirements for submitting the Performance Tasks in the digital portfolio.
This course does not have any sections.