Computer Science & Design Thinking
New approaches necessary for solving the critical challenges that we face as a society will require harnessing the power of technology and computing. Rapidly changing technologies and the proliferation of digital information have permeated and radically transformed learning, working, and everyday life. To be well-educated, global-minded individuals in a computing-intensive world, students must have a clear understanding of the concepts and practices of computer science. As education systems adapt to a vision of students who are not just computer users but also computationally literate creators who are proficient in the concepts and practices of computer science and design thinking, engaging students in computational thinking and human-centered approaches to design through the study of computer science and technology serves to prepare students to ethically produce and critically consume technology.
New Jersey Student Learning Standards for
Computer Science and Design Thinking
Intent and Spirit
All students receive computer science and design thinking instruction from Kindergarten through grade 12. The study of these disciplines focuses on deep understanding of concepts that enable students to think critically and systematically about leveraging technology to solve local and global issues. Authentic learning experiences that enable students to apply content knowledge, integrate concepts across disciplines, develop computational thinking skills, acquire and incorporate varied perspectives, and communicate with diverse audiences about the use and effects of computing prepares New Jersey students for college and careers.
Mission
Computer science and design thinking education prepares students to succeed in today's knowledge-based economy by providing equitable and expanded access to high-quality, standards-based computer science and technological design education.
Vision
All students have equitable access to a rigorous computer science and design thinking education. Students will benefit from opportunities to engage in high-quality technology programs that foster their ability to:
- Develop and apply computational and design thinking to address real-world problems and design creative solutions;
- Engage as collaborators, innovators, and entrepreneurs on a clear pathway to success through postsecondary education and careers;
- Navigate the dynamic digital landscape to become healthy, productive, 21st century global-minded individuals; and
- Participate in an inclusive and diverse computing culture that appreciates and incorporates perspectives from people of different genders, ethnicities, and abilities.
Please note that the concepts and skills previously included in 8.1 Educational Technology of the 2014 NJSLS — Technology have been expanded and integrated across multiple disciplinary concepts in the 2020 NJSLS — Career Readiness, Life Literacies, and Key Skills standard 9.4. Given the ubiquity of technology, our students will continue to be required to demonstrate increasing levels of proficiency to access, manage, evaluate, and synthesize information in their personal, academic, and professional lives. Therefore, the standards that were housed in one discipline have been enhanced and restructured to reflect the continued need for student learning in technology literacy, digital citizenship, and information and media literacy.
The K–12 Computer Science Framework, led by the Association for Computing Machinery, Code.org, Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative in partnership with states and districts, informed the development of the NJSLS — Computer Science and Design Thinking.
Computing Systems
People interact with a wide variety of computing devices that collect, store, analyze, and act upon information in ways that can affect human capabilities both positively and negatively. The physical components (hardware) and instructions (software) that make up a computing system communicate and process information in digital form.
Networks and the Internet
Computing devices typically do not operate in isolation. Networks connect computing devices to share information and resources and are an increasingly integral part of computing. Networks and communication systems provide greater connectivity in the computing world.
Impacts of Computing
Computing affects many aspects of the world in both positive and negative ways at local, national, and global levels. Individuals and communities influence computing through their behaviors and cultural and social interactions, and, in turn, computing influences new cultural practices.
Data & Analysis
Computing systems exist to process data. The amount of digital data generated in the world is rapidly expanding, so the need to process data effectively is increasingly important. Data is collected and stored so that it can be analyzed to better understand the world and make more accurate predictions.
Algorithms & Programming
An algorithm is a sequence of steps designed to accomplish a specific task. Algorithms are translated into programs, or code, to provide instructions for computing devices. Algorithms and programming control all computing systems, empowering people to communicate with the world in new ways and solve compelling problems.
Engineering Design
People design for enjoyment and to solve problems, extend human capabilities, satisfy needs and wants, and improve the human condition. Engineering Design, a systematic approach to creating solutions to technological problems and finding ways to meet people’s needs and desires, allows for the effective and efficient development of products and systems.
Interaction of Technology and Humans
Societies influence technological development. Societies are characterized by common elements such as shared values, differentiated roles, and cultural norms, as well as by entities such as community institutions, organizations, and businesses. Interaction of Technology and Humans concerns the ways society drives the improvement and creation of new technologies, and how technologies both serve and change society.
Nature of Technology
Human population, patterns and movement focus on the size, composition, distribution, and movement of human populations and how they are fundamental and active features on Earth’s surface. This includes understanding that the expansion and redistribution of the human population affects patterns of settlement, environmental changes, and resource use. Patterns and movements of population also relate to physical phenomena including climate variability, landforms, and locations of various natural hazards and their effects on population size, composition, and distribution.
Effects of Technology on the Natural World
Many of engineering and technology’s impacts on society and the environment are widely regarded as desirable. However, other impacts are regarded as less desirable. Effects of Technology on the Natural World concerns the positive and negative ways that technologies affect the natural world.
Ethics & Culture
Ethics and Culture concerns the profound effects that technologies have on people, how those effects can widen or narrow disparities, and the responsibility that people have for the societal consequences of their technological decisions.
1. Fostering an Inclusive Computing and Design Culture
Building an inclusive and diverse computing culture requires strategies for incorporating perspectives from people of different genders, ethnicities, and abilities. Incorporating these perspectives involves understanding the personal, ethical, social, economic, and cultural contexts in which people operate. Considering the needs of diverse users during the design process is essential to producing inclusive computational products. When engaging in this practice, students:
- Include the unique perspectives of others and reflect on one’s own perspectives when designing and developing computational products.
- Address the needs of diverse end users during the design process to produce artifacts with broad accessibility and usability.
- Employ self- and peer-advocacy to address bias in interactions, product design, and development methods.
2. Collaborating Around Computing and Design
Collaborative computing is the process of performing a computational task by working on pairs in teams. Because it involves asking for the contributions and feedback of others, effective collaboration can lead to better outcomes than working independently. Collaboration requires individuals to navigate and incorporate diverse perspectives, conflicting ideas, disparate skills, and distinct personalities. Students should use collaborative tools to effectively work together and to create complex artifacts. When engaging in this practice, students:
- Cultivate working relationships with individuals possessing diverse perspectives, skills, and personalities.
- Create team norms, expectations, and equitable workloads to increase efficiency and effectiveness.
- Solicit and incorporate feedback from, and provide constructive feedback to, team members and other stakeholders.
- Evaluate and select technological tools that can be used to collaborate on a project.
3. Recognizing and Defining Computational Problems
The ability to recognize appropriate and worthwhile opportunities to apply computation is a skill that develops over time and is central to computing. Solving a problem with a computational approach requires defining the problem, breaking it down into parts, and evaluating each part to determine whether a computational solution is appropriate. When engaging in this practice, students:
- Identify complex, interdisciplinary, real-world problems that can be solved computationally.
- Decompose complex real-world problems into manageable sub-problems that could integrate existing solutions or procedures.
- Evaluate whether it is appropriate and feasible to solve a problem computationally.
4. Developing and Using Abstractions
Abstractions are formed by identifying patterns and extracting common features from specific examples in order to create generalizations. Using generalized solutions and parts of solutions designed for broad reuse simplifies the development process by managing complexity. When engaging in this practice, students:
- Extract common features from a set of interrelated processes or complex phenomena.
- Evaluate existing technological functionalities and incorporate them into new designs.
- Create modules and develop points of interaction that can apply to multiple situations and reduce complexity.
- Model phenomena and processes and simulate systems to understand and evaluate potential outcomes.
5. Creating Computational Artifacts
The process of developing computational artifacts embraces both creative expression and the exploration of ideas to create prototypes and solve computational problems. Students create artifacts that are personally relevant or beneficial to their community and beyond. Computational artifacts can be created by combining and modifying existing artifacts or by developing new artifacts. Examples of computational artifacts include programs, simulations, visualizations, digital animations, robotic systems, and apps. When engaging in this practice, students:
- Plan the development of a computational artifact using an iterative process that includes reflection on and modification of the plan, taking into account key features, time and resource constraints, and user expectations.
- Create a computational artifact for practical intent, personal expression, or to address a societal issue.
- Modify an existing artifact to improve or customize it.
6. Testing and Refining Computational Artifacts
Testing and refinement is the deliberate and iterative process of improving a computational artifact. This process includes debugging (identifying and fixing errors) and comparing actual outcomes to intended outcomes. Students also respond to the changing needs and expectations of end users and improve the performance, reliability, usability, and accessibility of artifacts. When engaging in this practice, students:
- Systematically test computational artifacts by considering all scenarios and using test cases.
- Identify and fix errors using a systematic process.
- Evaluate and refine a computational artifact, multiple times, to enhance its performance, reliability, usability, and accessibility.
7. Communicating About Computing and Design
Communication involves personal expression and exchanging ideas with others. In computer science, students communicate with diverse audiences about the use and effects of computation and the appropriateness of computational choices. Students write clear comments, document their work, and communicate their ideas through multiple forms of media. Clear communication includes using precise language and carefully considering possible audiences. When engaging in this practice, students:
- Select, organize, and interpret large data sets from multiple sources to support a claim.
- Describe, justify, and document computational and/or design processes and solutions using appropriate terminology consistent with the intended audience and purpose.
- Articulate ideas responsibly by observing intellectual property rights and giving appropriate attribution.
High School Computer Science Course
No later than the beginning of the 2018-2019 school year, each public school enrolling students in grades nine through 12, other than a county vocational school district, shall offer a course in computer science. The course shall include, but need not be limited to, instruction in computational thinking, computer programming, the appropriate use of the Internet and development of Internet web pages, data security and the prevention of data breaches, ethical matters in computer science, and the global impact of advancements in computer science.
Office of Standards