Designing solutions through programming standards
These are the standards for High School course Designing Solutions through programming.
Concepts answer the question: What does a computer scientist need to know?
Practices answer the question: How do people do computer science? (source)
Concepts and practices that we will cover in this course:
Concepts:
- Computing Devices and Systems
- Networks and Communication
- Data and Information
- Programs and Algorithms
- Impact and Culture
Practices:
- Recognizing and representing computational problems
- Developing abstractions
- Creating computational artifacts
- Testing and iteratively refining
- Fostering an inclusive computing culture
- Communicating about computing
- Collaborating with computing
Standard | Category | Covered | Concept | Practice |
---|---|---|---|---|
Use predefined functions and parameters, classes and methods to divide a complex problem into simpler parts. | Computational Thinking | Yes | ||
Describe a software development process used to solve software problems (e.g., design, coding, testing, verification). | Computational Thinking | Yes | ||
Explain how sequence, selection, iteration, and recursion are building blocks of algorithms. | Computational Thinking | Yes | ||
Compare techniques for analyzing massive data collections. | Computational Thinking | Not Yet | ||
Describe the relationship between binary and hexadecimal representations. | Computational Thinking | Yes | ||
Analyze the representation and trade-offs among various forms of digital information. | Computational Thinking | Not Yet | ||
Describe how various types of data are stored in a computer system. | Computational Thinking | Yes | ||
Use modeling and simulation to represent and understand natural phenomena. | Computational Thinking | Not Yet | ||
Discuss the value of abstraction to manage problem complexity. | Computational Thinking | Yes | ||
Describe the concept of parallel processing as a strategy to solve large problems. | Computational Thinking | Not Yet | ||
Describe how computation shares features with art and music by translating human intention into an artifact. | Computational Thinking | Not Yet | ||
Work in a team to design and develop a software artifact. | Collaboration | Yes | ||
Use collaborative tools to communicate with project team members (e.g., discussion threads, wikis, blogs, version control, etc.). | Collaboration | Yes | ||
Describe how computing enhances traditional forms and enables new forms of experience, expression, communication, and collaboration | Collaboration | Not yet | ||
Identify how collaboration influences the design and development of software products. | Collaboration | Not yet | ||
Create and organize Web pages through the use of a variety of web programming design tools. | Computing & Programming | Yes | ||
Use mobile devices/emulators to design, develop, and implement mobile computing applications. | Computing & Programming | Not yet | ||
Use various debugging and testing methods to ensure program correctness (e.g., test cases, unit testing, white box, black box, integration testing) | Computing & Programming | Not yet | ||
Apply analysis, design, and implementation techniques to solve problems (e.g., use one or more software lifecycle models). | Computing & Programming | Yes | ||
Use Application Program Interfaces (APIs) and libraries to facilitate programming solutions. | Computing & Programming | Not yet | ||
Select appropriate file formats for various types and uses of data. | Computing & Programming | Not yet | ||
Describe a variety of programming languages available to solve problems and develop systems. | Computing & Programming | Not yet | ||
Explain the program execution process. | Computing & Programming | Not yet | ||
Explain the principles of security by examining encryption, cryptography, and authentication techniques. | Computing & Programming | Yes | ||
Explore a variety of careers to which computing is central. | Computing & Programming | Yes | ||
Describe techniques for locating and collecting small and large-scale data sets. | Computing & Programming | Not yet | ||
Describe how mathematical and statistical functions, sets, and logic are used in computation. | Computing & Programming | Yes | ||
Describe the unique features of computers embedded in mobile devices and vehicles (e.g., cell phones, automobiles, airplanes). | Computers and Communications Devices | Not yet | ||
Develop criteria for purchasing or upgrading computer system hardware. | Computers and Communications Devices | Yes | ||
Describe the principal components of computer organization (e.g., input, output, processing, and storage). | Computers and Communications Devices | Not yet | ||
Compare various forms of input and output. | Computers and Communications Devices | Not yet | ||
Explain the multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks). | Computers and Communications Devices | Not yet | ||
Apply strategies for identifying and solving routine hardware and software problems that occur in everyday life. | Computers and Communications Devices | Not yet | ||
Compare and contrast client-server and peer-to-peer network strategies. | Computers and Communications Devices | Not yet | ||
Explain the basic components of computer networks (e.g., servers, file protection, routing, spoolers and queues, shared resources, and fault-tolerance). | Computers and Communications Devices | Not yet | ||
Describe how the Internet facilitates global communication. | Computers and Communications Devices | Not yet | ||
Describe the major applications of artificial intelligence and robotics. | Computers and Communications Devices | Not yet | ||
Compare appropriate and inappropriate social networking behaviors. | Community, Global, and Ethical Impacts | Not yet | ||
Discuss the impact of computing technology on business and commerce (e.g., automated tracking of goods, automated financial transactions, e-commerce, cloud computing). | Community, Global, and Ethical Impacts | Not yet | ||
Describe the role that adaptive technology can play in the lives of people with special needs. | Community, Global, and Ethical Impacts | Not yet | ||
Compare the positive and negative impacts of technology on culture (e.g., social networking, delivery of news and other public media, and intercultural communication). | Community, Global, and Ethical Impacts | Not yet | ||
Describe strategies for determining the reliability of information found on the Internet. | Community, Global, and Ethical Impacts | Not yet | ||
Distinguish between information access and information distribution rights. | Community, Global, and Ethical Impacts | Not yet | ||
Describe how different kinds of software licenses can be used to share and protect intellectual property. | Community, Global, and Ethical Impacts | Not yet | ||
Discuss the social and economic implications associated with hacking and software piracy. | Community, Global, and Ethical Impacts | Not yet | ||
Describe different ways in which software is created and shared and their benefits and drawbacks (commercial software, public domain software, open source development). | Community, Global, and Ethical Impacts | Not yet | ||
Describe security and privacy issues that relate to computer networks. | Community, Global, and Ethical Impacts | Not yet | ||
Explain the impact of the digital divide on access to critical information. | Community, Global, and Ethical Impacts | Not yet |