CS Principles

CS Principles: Computational Thinking Practices

  1. Analyzing effects of computation

  2. Developments in computing have far-reaching effects on society and have led to significant innovations. These developments have implications for individuals, for society, for commercial markets, and for innovation. Students in this course will study these effects--intended or unintended, beneficial or harmful--and learn to analyze, critique, and discuss the ethical, legal and social implications of computing.

  3. Creating computational artifacts

  4. Computing is a creative discipline in which the creation takes many forms, ranging from remixing digital music to generating animations to developing websites to writing programs and more. Students in this course will engage in the creative aspects of computing by designing and developing interesting computational artifacts as well as applying computing techniques to creatively solve problems.

  5. Using abstractions and models

  6. Computational thinking requires understanding and applying abstraction at multiple levels ranging from privacy in social networking applications to logic gates and bits to the human genome project and more. Students in this course will use abstraction to develop models and simulations of natural and artificial phenomena, use them to make predictions about the world, and analyze their efficacy and validity.

  7. Analyzing problems and artifacts

  8. The results and artifacts of computation, and the computational techniques and strategies that generate them, can be understood both intrinsically for what they are as well as for what they produce. They can also be analyzed and evaluated by applying aesthetic, mathematical, pragmatic, and other criteria. Students in this course will design and produce solutions, models, and artifacts and will evaluate and analyze their own computational work as well as the computational work that others have produced.

  9. Communicating processes and results

  10. Students in this course will describe computation and the impact of technology and computation, will explain and justify the design and appropriateness of their computational choices, and will analyze and describe both computational artifacts and the results or behaviors of such artifacts. Communication will include written and oral descriptions supported by graphs, visualizations, and computational analysis.

  11. Working effectively in teams

  12. Innovation occurs through the work of individuals and teams. Individuals working effectively in teams can sometimes achieve more than individuals working independently. Students in this course will learn about effective teamwork and collaborate in the production of computational artifacts, by applying effective team practices, and by working to understand the different roles that are important in designing, building, and improving computational artifacts.