AP Computer Science Principles

Mathematics Curriculum

Prerequisite:  Algebra I

(Full Year – 1.00 Credit) 4182 - Level 1

UTeach CS Principles has been designed as a year-long high school course that fully addresses the seven "Big Ideas" of computer science and six "Computational Thinking Practices", as specified by the College Board's AP Computer Science Principles curriculum framework. The lessons and materials used throughout this course incorporate Project-Based Learning (PBL), a pedagogical approach that actively engages students in the educational process, improves retention, and develops problem solving, critical thinking, and group communication skills. Through this collaborative, learner-centric approach, students are encouraged to explore the advantages and societal impact of computational technology while developing their own programming and computational thinking skills.

Click here for more information about GHS Computer Science Courses.

Course Outline

I. Computational Thinking

Students receive an introduction to computational thinking, logical reasoning, and describing processes through algorithms and pseudocode.  Students will explore a number of techniques for analyzing common problems and visualizing their solutions.  They will spend time investigating factors that affect the efficiency and usability of solutions.  Throughout, students will learn about various real-world applications of problem solving in computer science, such as sorting, searching, and encryption.  Then, students will learn how programmers use levels of abstraction when writing programs. 

CS Big Ideas:  Abstraction (2), Algorithms (4), Programming (5), The Internet (6), and Global Impact (7)

Possible Learning Expectation Activities: Unit Project

II. Programming

Computational technologies can be extremely powerful tools for solving a wide range of problems.  Students will be introduced to the more formal and logical structures inherent in computational technologies, using Scratch.  Scratch is a block-based, visual programming language that will allow students to experiment with a number of basic programming concepts and constructs, such as variables, user input, and selection statements.   Students will begin writing their own blocks of code, learning and utilizing various debugging techniques. 

CS Big Ideas: Creativity (1), Algorithms (4), Programming (5), and Global Impact (7)

Possible Learning Expectation Activities: Unit Project

 III.  Data Representation       

In order to make the most effective use of computational tools and data-driven applications, students need to be aware of the diverse kinds of information used by programs and the various ways information is stored.  This unit focuses on providing students with an overview of the various levels of abstraction that are used in the digital representation (decimal and binary numbers), storage (lists), and manipulation (traversing, searching and sorting) of discrete data and information.

CS Big Ideas: Abstraction (2), Data and Information (3), Algorithms (4), Programming (5),

Possible Learning Expectations Activities:  Unit Project

IV.  Digital Media Processing*

This unit transitions students from block-based programming to a high-level text-based programming environment through the program Processing.  This program is more similar to industry programing languages, like Java or C++.  Processing is a program specifically equipped for digital and audio files.  Students will explore the characteristics of the RGB color model and its use in encoding digital images through Processing, as well as investigating methods of representing and modifying digital audio.

CS Big Ideas: Creativity (1), Abstraction (2), Data and Information (3), Algorithms (4), Programming (5), and Global Impact (7)

Possible Learning Expectations Activities: Unit Project

*This unit may be completed at the end of the course (after unit 6).

 V.  Big Data

One of the most powerful applications of computational thinking relates to the creation and analysis of large data sets.  Students will explore the set of processes and techniques involved in collecting and extracting from large data sets.  These techniques may include data mining, clustering, automatic summarization, and statistical analysis.  Students will then preform their own analysis on a sample data set.

CS Big Ideas: Creativity (1), Abstraction (2), Data and Information (3), Algorithms (4), Programming (5), and Global Impact (7)

Possible Learning Expectations Activities:  Unit Project

 VI.  Innovative Technology

This unit aims to broaden students’ awareness of the computing tools they use every day and begin to understand the role of computer science in the advancement in these technologies.  Students will explore the impact of some of these technologies (social networking, online communication, etc) and their connection to the Internet.  Students will more deeply investigate the systems and protocols that make up the global infrastructure of the Internet.

CS Big Ideas:  Creativity (1), Programming (5), The Internet (6), and Global Impact (7)

Possible Learning Expectations Activities:  Unit Project

In addition to these 6 units, a mandatory 20 instructional hours must be given to students to complete the Performance Task requirement for the AP Computer Science Principles Exam.  These tasks will account for 40% of the student’s AP exam score.  This time will be explicitly dedicated to these tasks, throughout the course, so that students will be able to complete and submit both tasks by April 30th.