Test Design and
Test Framework
Field 205: Computer Science
Recommendation for individuals using a screenreader: please set your punctuation settings to "most."
The test design below describes general test information. The framework that follows is a detailed outline that explains the knowledge and skills that this test measures.
Test Design
Format | Computer-based test (CBT) |
---|---|
Number of Questions | 100 multiple-choice questions |
Time* | 3 hours, 15 minutes |
Passing Score | 240 |
*Does not include 15-minute CBT tutorial
Test Framework
Pie chart of approximate test weighting outlined in the table below.
Test Subarea | Number of Test Objectives | Number of Scorable Items | Number of Non-Scorable Items | subarea weight as percent of total test score |
---|---|---|---|---|
Subarea 1—Computational Thinking | 3 | 24 | 6 | 30 percent |
Subarea 2—Computer Programming | 4 | 32 | 8 | 40 percent |
Subarea 3—The Internet | 1 | 8 | 2 | 10 percent |
Subarea 4—Impacts of Computing and Learning Environments | 2 | 16 | 4 | 20 percent |
Totals | 10 | 80 | 20 | 100 percent |
Subarea 1—Computational Thinking
0001—Understand the problem-solving process.
For example:
- Demonstrate understanding of the design process (e.g., define the problem; generate ideas; build, test, and improve solutions).
- Demonstrate understanding of the role of creativity, communication, and collaboration in problem solving.
- Apply knowledge of connections between elements of mathematics and computer science (e.g., base-two, base-ten, and hexadecimal number systems; logic; sets; functions).
- Apply knowledge of how binary sequences represent information (e.g., computer programs, numbers, texts, images).
- Demonstrate knowledge of abstraction to manage problem complexity by using it to decompose problems into subproblems.
- Use visual representations (e.g., flowcharts, trace tables) to analyze problem states, control structures, and flow of execution, and to identify program outputs.
0002—Understand types and characteristics of algorithms.
For example:
- Apply knowledge of sequence, conditionals, iteration, and recursion as they relate to algorithms.
- Analyze an algorithm to identify and correct errors.
- Analyze algorithms for searching, sorting, and finding the minimum, maximum, and/or average.
- Select or modify a given algorithm to solve a problem.
- Evaluate algorithms for efficiency.
0003—Understand object-oriented program design.
For example:
- Apply knowledge of functions/methods and parameters.
- Apply the principle of decomposition to a problem by defining new functions/methods and classes.
- Apply knowledge of encapsulation and information hiding.
- Apply knowledge of hierarchies and inheritance.
- Demonstrate knowledge of polymorphism, composition, and aggregation.
Subarea 2—Computer Programming
0004—Understand characteristics of various computational tools.
For example:
- Apply knowledge of concepts and principles related to the use of libraries and APIs.
- Demonstrate understanding of Integrated Development Environments (IDEs) and their uses in program development.
- Demonstrate knowledge of computational tools and techniques used to create digital artifacts (e.g., images, animation, video, multimedia, apps).
- Demonstrate knowledge of the tools that support program execution (e.g., operating systems, compilers, interpreters).
0005—Understand characteristics and functions of data types and data structures.
For example:
- Demonstrate knowledge of primitive data types (e.g., Boolean, integer, floating point, string, char).
- Perform operations on various data types.
- Apply properties of lists and arrays to solve problems.
0006—Understand program control.
For example:
- Apply knowledge of comparison operators for primitive data types.
- Apply knowledge of Boolean logic.
- Apply principles of conditional control structures (e.g., if statements, switch statements).
- Apply principles of iterative control structures (e.g., while loops, for loops).
- Apply principles of recursion.
0007—Understand software development and testing.
For example:
- Demonstrate knowledge of the software development process (e.g., design, coding, testing, verification).
- Demonstrate knowledge of error types (e.g., syntax, runtime, logic).
- Analyze code segments to identify and correct errors.
- Apply principles of debugging software programs (e.g., adding output statements, hand tracing, using a debugger).
- Demonstrate understanding of program qualities (e.g., usability, efficiency, portability, scalability).
Subarea 3—The Internet
0008—Understand the structure and operations of the Internet.
For example:
- Demonstrate knowledge of the structure of the Internet and the flow of information through the Internet (e.g., routing, packet switching).
- Demonstrate knowledge of properties, characteristics, and uses of communication protocols.
- Demonstrate knowledge of cloud computing and cloud services.
- Demonstrate knowledge of issues and techniques related to data security and encryption.
- Demonstrate knowledge of tools (e.g., HTML, formatting and scripting tools) and design techniques used to create Web pages.
- Demonstrate knowledge of the uses of data collected through the Internet and the tools and techniques for locating, collecting, cleaning, and analyzing the data.
Subarea 4—Impacts of Computing and Learning Environments
0009—Understand the social and global impact of computing.
For example:
- Demonstrate knowledge of issues and practices related to digital citizenship.
- Demonstrate knowledge of legal and ethical issues related to computing practices (e.g., software privacy, intellectual property rights, scams, data collection and use).
- Demonstrate understanding of how computing technologies and practices have influenced society (e.g., individual and collective behaviors, enhancing new forms of communication and collaboration, virtual reality, open-source licensing).
- Demonstrate understanding of how computer science has influenced innovations in art, science, health care, education, and commerce.
- Demonstrate knowledge of issues related to personal safety and to security and privacy of personal information.
- Demonstrate knowledge of the implications of artificial intelligence, robotics, and microcontrollers.
0010—Understand the learning environment and effective teaching and learning strategies in computer science.
For example:
- Demonstrate knowledge of developing lessons that use effective and engaging practices and methodologies (e.g., inquiry, real-world computing problems, culturally relevant project-based methodologies, encouraging problem solving).
- Demonstrate knowledge of effective approaches for promoting collaboration (e.g., group work, peer instruction).
- Demonstrate knowledge of approaches for developing effective communication skills.
- Demonstrate understanding of problematic concepts and constructs in computer science and appropriate strategies to address them.
- Demonstrate knowledge of environments and activities, including unplugged activities, to foster creativity.
- Apply knowledge of instructional strategies, tools, technologies, and practices to support the diverse needs of all learners, paying particular attention to the needs of students from groups underrepresented in computer science (i.e., as defined by race, gender, learning differences).
- Demonstrate knowledge of a variety of assessments (e.g., formative, summative, reflective questioning) appropriate for use in computer science.
- Demonstrate knowledge of how physical environments can affect learning.