Teach Computer Science Principles

Computer Science: Principles is a new course under development that seeks to broaden participation in computing and computer science. Development is being led by a team of computer science educators organized by the College Board and the National Science Foundation. Pilots are ongoing at the high school and college levels. Advanced Placement credit is not currently offered for this course-- present efforts in CS Principles are part of the requisite process to make it an AP course. The test will debut in May 2016 or later.

Abstraction reduces information and detail to facilitate focus on relevant concepts. A combination of abstractions built upon binary sequences can be used to represent all digital data. Multiple levels of abstraction are used in computation. Models and simulations use abstraction to raise and answer questions.

Algorithms are used to develop and express solutions to computational problems. An algorithm is a precise sequence of instructions for a process that can be executed by a computer. They are expressed using languages, and can solve many, but not all, problems. They are evaluated both analytically and empirically.

Computing fosters the creation of artifacts and creative expression. Programming is a creative process.

Data and information facilitate the creation of knowledge. People use computer programs to process information to gain insight and knowledge. Computing facilitates exploration and the discovery of connections in information. Computational manipulation of information requires consideration of representation, storage, security and transmission.

Computing affects communication, interaction and cognition. It enables innovation in nearly every field and has both beneficial and harmful effects. Computing is situated within economic, social and cultural contexts.

The internet pervades modern computing. It is a network of autonomous systems. Characteristics of the Internet and the systems built on it influence their use. Cybersecurity is an important concern for the Internet and those systems.

Programming is a creative process that enables problem solving, human expression and creation of knowledge. It uses mathematical and logical concepts and is facilitated by appropriate abstractions. Programs are developed and used by people, and they are written to execute algorithms.