IB Computer Science HL standards: Difference between revisions
Mr. MacKenty (talk | contribs) No edit summary |
Mr. MacKenty (talk | contribs) No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
! Assessment Statement !! Big Idea | ! Assessment Statement !! Big Idea | ||
|- style="background-color:#E6F9E6;" | |- style="background-color:#E6F9E6;" | ||
| colspan="2" | System fundamentals | | colspan="2" | '''System fundamentals''' | ||
|- | |- | ||
|Identify the context for which a new system is planned.|| | |Identify the context for which a new system is planned.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe the need for change management.|| | |Describe the need for change management.|| [[System fundamentals]] | ||
|- | |- | ||
|Outline compatibility issues resulting from situations including legacy systems or business mergers.|| | |Outline compatibility issues resulting from situations including legacy systems or business mergers.|| [[System fundamentals]] | ||
|- | |- | ||
|Compare the implementation of systems using a client’s hardware with hosting systems remotely.|| | |Compare the implementation of systems using a client’s hardware with hosting systems remotely.|| [[System fundamentals]] | ||
|- | |- | ||
|Evaluate alternative installation processes.|| | |Evaluate alternative installation processes.|| [[System fundamentals]] | ||
|- | |- | ||
|Discuss problems that may arise as a part of data migration.|| | |Discuss problems that may arise as a part of data migration.|| [[System fundamentals]] | ||
|- | |- | ||
|Suggest various types of testing.|| | |Suggest various types of testing.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe the importance of user documentation.|| | |Describe the importance of user documentation.|| [[System fundamentals]] | ||
|- | |- | ||
|Evaluate different methods of providing user documentation.|| | |Evaluate different methods of providing user documentation.|| [[System fundamentals]] | ||
|- | |- | ||
|Evaluate different methods of delivering user training.|| | |Evaluate different methods of delivering user training.|| [[System fundamentals]] | ||
|- | |- | ||
|Identify a range of causes of data loss.|| | |Identify a range of causes of data loss.|| [[System fundamentals]] | ||
|- | |- | ||
|Outline the consequences of data loss in a specified situation.|| | |Outline the consequences of data loss in a specified situation.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe a range of methods that can be used to prevent data loss.|| | |Describe a range of methods that can be used to prevent data loss.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe strategies for managing releases and updates.|| | |Describe strategies for managing releases and updates.|| [[System fundamentals]] | ||
|- | |- | ||
|Define the terms: hardware, software, peripheral, network, human resources.|| | |Define the terms: hardware, software, peripheral, network, human resources.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe the roles that a computer can take in a networked world.|| | |Describe the roles that a computer can take in a networked world.|| [[System fundamentals]] | ||
|- | |- | ||
|Discuss the social and ethical issues associated with a networked world.|| | |Discuss the social and ethical issues associated with a networked world.|| [[System fundamentals]] | ||
|- | |- | ||
|Identify the relevant stakeholders when planning a new system.|| | |Identify the relevant stakeholders when planning a new system.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe methods of obtaining requirements from stakeholders.|| | |Describe methods of obtaining requirements from stakeholders.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe appropriate techniques for gathering the information needed to arrive at a workable solution.|| | |Describe appropriate techniques for gathering the information needed to arrive at a workable solution.|| [[System fundamentals]] | ||
|- | |- | ||
|Construct suitable representations to illustrate system requirements.|| | |Construct suitable representations to illustrate system requirements.|| [[System fundamentals]] | ||
|- | |- | ||
|Describe the purpose of prototypes to demonstrate the proposed system to the client.|| | |Describe the purpose of prototypes to demonstrate the proposed system to the client.|| [[System fundamentals]] | ||
|- | |- | ||
|Discuss the importance of iteration during the design process.|| | |Discuss the importance of iteration during the design process.|| [[System fundamentals]] | ||
|- | |- | ||
|Explain the possible consequences of failing to involve the end-user in the design process.|| | |Explain the possible consequences of failing to involve the end-user in the design process.|| [[System fundamentals]] | ||
|- | |- | ||
|Discuss the social and ethical issues associated with the introduction of new IT systems.|| | |Discuss the social and ethical issues associated with the introduction of new IT systems.|| [[System fundamentals]] | ||
|- | |- | ||
|Define the term usability.|| | |Define the term usability.|| [[System fundamentals]] | ||
|- | |- | ||
|Identify a range of usability problems with commonly used digital devices.|| | |Identify a range of usability problems with commonly used digital devices.|| [[System fundamentals]] | ||
|- | |- | ||
|Identify methods that can be used to improve the accessibility of systems.|| | |Identify methods that can be used to improve the accessibility of systems.|| [[System fundamentals]] | ||
|- | |- | ||
|Identify a range of usability problems that can occur in a system.|| | |Identify a range of usability problems that can occur in a system.|| [[System fundamentals]] | ||
|- | |- | ||
|Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines.|| | |Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines.|| [[System fundamentals]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | Computer Organization | | colspan="2" | '''Computer Organization''' | ||
|- | |- | ||
|Outline the architecture and function of the CPU, ALU, CU and the registers within the CPU|| | |Outline the architecture and function of the CPU, ALU, CU and the registers within the CPU|| [[Computer organization]] | ||
|- | |- | ||
|Explain the use of cache memory.|| | |Explain the use of cache memory.|| [[Computer organization]] | ||
|- | |- | ||
|Explain the machine instruction cycle.|| | |Explain the machine instruction cycle.|| [[Computer organization]] | ||
|- | |- | ||
|Identify the need for persistent storage.|| | |Identify the need for persistent storage.|| [[Computer organization]] | ||
|- | |- | ||
|Describe the main functions of an operating system.|| | |Describe the main functions of an operating system.|| [[Computer organization]] | ||
|- | |- | ||
|Outline the use of a range of application software.|| | |Outline the use of a range of application software.|| [[Computer organization]] | ||
|- | |- | ||
|Identify common features of applications.|| | |Identify common features of applications.|| [[Computer organization]] | ||
|- | |- | ||
|Define the terms: bit, byte, binary, denary/decimal, hexadecimal.|| | |Define the terms: bit, byte, binary, denary/decimal, hexadecimal.|| [[Computer organization]] | ||
|- | |- | ||
|Outline the way in which data is represented in the computer.|| | |Outline the way in which data is represented in the computer.|| [[Computer organization]] | ||
|- | |- | ||
|Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR.|| | |Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR.|| [[Computer organization]] | ||
|- | |- | ||
|Construct truth tables using the above operators.|| | |Construct truth tables using the above operators.|| [[Computer organization]] | ||
|- | |- | ||
|Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates.|| | |Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates.|| [[Computer organization]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | Networks | | colspan="2" | '''Networks''' | ||
|- | |- | ||
|Identify different types of networks.|| | |Identify different types of networks.|| [[Networks]] | ||
|- | |- | ||
|Outline the importance of standards in the construction of networks.|| | |Outline the importance of standards in the construction of networks.|| [[Networks]] | ||
|- | |- | ||
|Describe how communication over networks is broken down into different layers.|| | |Describe how communication over networks is broken down into different layers.||[[Networks]] | ||
|- | |- | ||
|Identify the technologies required to provide a VPN.|| | |Identify the technologies required to provide a VPN.|| [[Networks]] | ||
|- | |- | ||
|Evaluate the use of a VPN.|| | |Evaluate the use of a VPN.|| [[Networks]] | ||
|- | |- | ||
|Define the terms: protocol, data packet.|| | |Define the terms: protocol, data packet.|| [[Networks]] | ||
|- | |- | ||
|Explain why protocols are necessary.|| | |Explain why protocols are necessary.|| [[Networks]] | ||
|- | |- | ||
|Explain why the speed of data transmission across a network can vary.|| | |Explain why the speed of data transmission across a network can vary.|| [[Networks]] | ||
|- | |- | ||
|Explain why compression of data is often necessary when transmitting across a network.|| | |Explain why compression of data is often necessary when transmitting across a network.|| [[Networks]] | ||
|- | |- | ||
|Outline the characteristics of different transmission media.|| | |Outline the characteristics of different transmission media.|| [[Networks]] | ||
|- | |- | ||
|Explain how data is transmitted by packet switching.|| | |Explain how data is transmitted by packet switching.|| [[Networks]] | ||
|- | |- | ||
|Outline the advantages and disadvantages of wireless networks.|| | |Outline the advantages and disadvantages of wireless networks.|| [[Networks]] | ||
|- | |- | ||
|Describe the hardware and software components of a wireless network.|| | |Describe the hardware and software components of a wireless network.|| [[Networks]] | ||
|- | |- | ||
|Describe the characteristics of wireless networks.|| | |Describe the characteristics of wireless networks.|| [[Networks]] | ||
|- | |- | ||
|Describe the different methods of network security.|| | |Describe the different methods of network security.|| [[Networks]] | ||
|- | |- | ||
|Evaluate the advantages and disadvantages of each method of network security.|| | |Evaluate the advantages and disadvantages of each method of network security.|| [[Networks]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | Computational thinking, problem-solving and programming | | colspan="2" | '''Computational thinking, problem-solving and programming''' | ||
|- | |- | ||
|Identify the procedure appropriate to solving a problem.|| | |Identify the procedure appropriate to solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Evaluate whether the order in which activities are undertaken will result in the required outcome.|| | |Evaluate whether the order in which activities are undertaken will result in the required outcome.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain the role of sub-procedures in solving a problem.|| | |Explain the role of sub-procedures in solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify when decision-making is required in a specified situation.|| | |Identify when decision-making is required in a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify the decisions required for the solution to a specified problem.|| | |Identify the decisions required for the solution to a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify the condition associated with a given decision in a specified problem.|| | |Identify the condition associated with a given decision in a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain the relationship between the decisions and conditions of a system.|| | |Explain the relationship between the decisions and conditions of a system.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Deduce logical rules for real-world situations.|| | |Deduce logical rules for real-world situations.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify the inputs and outputs required in a solution.|| | |Identify the inputs and outputs required in a solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify pre-planning in a suggested problem and solution.|| | |Identify pre-planning in a suggested problem and solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain the need for pre-conditions when executing an algorithm.|| | |Explain the need for pre-conditions when executing an algorithm.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Outline the pre- and post-conditions to a specified problem.|| | |Outline the pre- and post-conditions to a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify exceptions that need to be considered in a specified problem solution.|| | |Identify exceptions that need to be considered in a specified problem solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify the parts of a solution that could be implemented concurrently.|| | |Identify the parts of a solution that could be implemented concurrently.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Describe how concurrent processing can be used to solve a problem.|| | |Describe how concurrent processing can be used to solve a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Evaluate the decision to use concurrent processing in solving a problem.|| | |Evaluate the decision to use concurrent processing in solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Identify examples of abstraction.|| | |Identify examples of abstraction.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain why abstraction is required in the derivation of computational solutions for a specified situation.|| | |Explain why abstraction is required in the derivation of computational solutions for a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Construct an abstraction from a specified situation.|| | |Construct an abstraction from a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Distinguish between a real-world entity and its abstraction.|| | |Distinguish between a real-world entity and its abstraction.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Describe the characteristics of standard algorithms on linear arrays.|| | |Describe the characteristics of standard algorithms on linear arrays.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Outline the standard operations of collections.|| | |Outline the standard operations of collections.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Discuss an algorithm to solve a specific problem.|| | |Discuss an algorithm to solve a specific problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Analyse an algorithm presented as a flow chart.|| | |Analyse an algorithm presented as a flow chart.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Analyse an algorithm presented as pseudocode.|| | |Analyse an algorithm presented as pseudocode.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Construct pseudocode to represent an algorithm.|| | |Construct pseudocode to represent an algorithm.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Suggest suitable algorithms to solve a specific problem.|| | |Suggest suitable algorithms to solve a specific problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Deduce the efficiency of an algorithm in the context of its use.|| | |Deduce the efficiency of an algorithm in the context of its use.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Determine the number of times a step in an algorithm will be performed for given input data.|| | |Determine the number of times a step in an algorithm will be performed for given input data.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|State the fundamental operations of a computer.|| | |State the fundamental operations of a computer.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Distinguish between fundamental and compound operations of a computer.|| | |Distinguish between fundamental and compound operations of a computer.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain the essential features of a computer language.|| | |Explain the essential features of a computer language.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Explain the need for higher level languages.|| | |Explain the need for higher level languages.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Outline the need for a translation process from a higher level language to machine executable code.|| | |Outline the need for a translation process from a higher level language to machine executable code.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Define the terms: variable, constant, operator, object.|| | |Define the terms: variable, constant, operator, object.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Define common operators.|| | |Define common operators.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Analyse the use of variables, constants and operators in algorithms.|| | |Analyse the use of variables, constants and operators in algorithms.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Construct algorithms using loops, branching.|| | |Construct algorithms using loops, branching.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Describe the characteristics and applications of a collection.|| | |Describe the characteristics and applications of a collection.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Construct algorithms using the access methods of a collection.|| | |Construct algorithms using the access methods of a collection.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Discuss the need for sub-programmes and collections within programmed solutions.|| | |Discuss the need for sub-programmes and collections within programmed solutions.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
|Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.|| | |Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | Abstract Data Structures | | colspan="2" | '''Abstract Data Structures''' | ||
|- | |- | ||
|Identify a situation that requires the use of recursive thinking.|| | |Identify a situation that requires the use of recursive thinking.|| [[Abstract data structures]] | ||
|- | |- | ||
|Identify recursive thinking in a specified problem solution.|| | |Identify recursive thinking in a specified problem solution.|| [[Abstract data structures]] | ||
|- | |- | ||
|Trace a recursive algorithm to express a solution to a problem.|| | |Trace a recursive algorithm to express a solution to a problem.|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe the characteristics of a two- dimensional array.|| | |Describe the characteristics of a two- dimensional array.|| [[Abstract data structures]] | ||
|- | |- | ||
|Construct algorithms using two- dimensional arrays.|| | |Construct algorithms using two- dimensional arrays.|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe the characteristics and applications of a stack.|| | |Describe the characteristics and applications of a stack.|| [[Abstract data structures]] | ||
|- | |- | ||
|Construct algorithms using the access methods of a stack.|| | |Construct algorithms using the access methods of a stack.|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe the characteristics and applications of a queue.|| | |Describe the characteristics and applications of a queue.|| [[Abstract data structures]] | ||
|- | |- | ||
|Construct algorithms using the access methods of a queue.|| | |Construct algorithms using the access methods of a queue.|| [[Abstract data structures]] | ||
|- | |- | ||
|Explain the use of arrays as static stacks and queues.|| | |Explain the use of arrays as static stacks and queues.|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe the features and characteristics of a dynamic data structure.|| | |Describe the features and characteristics of a dynamic data structure.|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe how linked lists operate logically.|| | |Describe how linked lists operate logically.|| [[Abstract data structures]] | ||
|- | |- | ||
|Sketch linked lists (single, double and circular).|| | |Sketch linked lists (single, double and circular).|| [[Abstract data structures]] | ||
|- | |- | ||
|Describe how trees operate logically (both binary and non-binary).|| | |Describe how trees operate logically (both binary and non-binary).|| [[Abstract data structures]] | ||
|- | |- | ||
|Define the terms: parent, left-child, right-child, subtree, root and leaf.|| | |Define the terms: parent, left-child, right-child, subtree, root and leaf.|| [[Abstract data structures]] | ||
|- | |- | ||
|State the result of inorder, postorder and preorder tree traversal.|| | |State the result of inorder, postorder and preorder tree traversal.|| [[Abstract data structures]] | ||
|- | |- | ||
|Sketch binary trees.|| | |Sketch binary trees.|| [[Abstract data structures]] | ||
|- | |- | ||
|Define the term dynamic data structure.|| | |Define the term dynamic data structure.|| [[Abstract data structures]] | ||
|- | |- | ||
|Compare the use of static and dynamic data structures.|| | |Compare the use of static and dynamic data structures.|| [[Abstract data structures]] | ||
|- | |- | ||
|Suggest a suitable structure for a given situation.|| | |Suggest a suitable structure for a given situation.|| [[Abstract data structures]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | | | colspan="2" |'''Resource Management''' | ||
|- | |- | ||
| | |Identify the resources that need to be managed within a computer system.|| [[Resource management]] | ||
|- | |- | ||
| | |Evaluate the resources available in a variety of computer systems.|| [[Resource management]] | ||
|- | |- | ||
| | |Identify the limitations of a range of resources in a specified computer system.|| [[Resource management]] | ||
|- | |- | ||
| | |Describe the possible problems resulting from the limitations in the resources in a computer system.|| [[Resource management]] | ||
|- | |- | ||
| | |Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.|| [[Resource management]] | ||
|- | |- | ||
| | |Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.|| [[Resource management]] | ||
|- | |- | ||
| | |Discuss the advantages of producing a dedicated operating system for a device.|| [[Resource management]] | ||
|- | |- | ||
|Outline the | |Outline how an operating system hides the complexity of the hardware from users and applications.|| [[Resource management]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| colspan="2" | | | colspan="2" | '''Control''' | ||
|- | |- | ||
| | |Discuss a range of control systems.|| [[Control]] | ||
|- | |- | ||
| | |Outline the uses of microprocessors and sensor input in control systems.|| [[Control]] | ||
|- | |- | ||
| | |Evaluate different input devices for the collection of data in specified situations.|| [[Control]] | ||
|- | |- | ||
| | |Explain the relationship between a sensor, the processor and an output transducer.|| [[Control]] | ||
|- | |- | ||
| | |Describe the role of feedback in a control system.|| [[Control]] | ||
|- | |- | ||
| | |Discuss the social impacts and ethical considerations associated with the use of embedded systems.|| [[Control]] | ||
|- | |- | ||
| | |Compare a centrally controlled system with a distributed system.|| [[Control]] | ||
|- | |- | ||
| | |Outline the role of autonomous agents acting within a larger system.|| [[Control]] | ||
|- | |- | ||
|} | |} | ||
Latest revision as of 17:19, 19 August 2018
Introduction[edit]
These are the standards for IB computer science, Higher Level (HL). Pay attention to the command term at the start of each standard. It describes at what level you must understand the standard. Please reference levels of knowing for a deeper discussion of this important idea.
IB standards are the intellectual property of the International Baccalaureate Organization. [1]
Assessment Statement | Big Idea |
---|---|
System fundamentals | |
Identify the context for which a new system is planned. | System fundamentals |
Describe the need for change management. | System fundamentals |
Outline compatibility issues resulting from situations including legacy systems or business mergers. | System fundamentals |
Compare the implementation of systems using a client’s hardware with hosting systems remotely. | System fundamentals |
Evaluate alternative installation processes. | System fundamentals |
Discuss problems that may arise as a part of data migration. | System fundamentals |
Suggest various types of testing. | System fundamentals |
Describe the importance of user documentation. | System fundamentals |
Evaluate different methods of providing user documentation. | System fundamentals |
Evaluate different methods of delivering user training. | System fundamentals |
Identify a range of causes of data loss. | System fundamentals |
Outline the consequences of data loss in a specified situation. | System fundamentals |
Describe a range of methods that can be used to prevent data loss. | System fundamentals |
Describe strategies for managing releases and updates. | System fundamentals |
Define the terms: hardware, software, peripheral, network, human resources. | System fundamentals |
Describe the roles that a computer can take in a networked world. | System fundamentals |
Discuss the social and ethical issues associated with a networked world. | System fundamentals |
Identify the relevant stakeholders when planning a new system. | System fundamentals |
Describe methods of obtaining requirements from stakeholders. | System fundamentals |
Describe appropriate techniques for gathering the information needed to arrive at a workable solution. | System fundamentals |
Construct suitable representations to illustrate system requirements. | System fundamentals |
Describe the purpose of prototypes to demonstrate the proposed system to the client. | System fundamentals |
Discuss the importance of iteration during the design process. | System fundamentals |
Explain the possible consequences of failing to involve the end-user in the design process. | System fundamentals |
Discuss the social and ethical issues associated with the introduction of new IT systems. | System fundamentals |
Define the term usability. | System fundamentals |
Identify a range of usability problems with commonly used digital devices. | System fundamentals |
Identify methods that can be used to improve the accessibility of systems. | System fundamentals |
Identify a range of usability problems that can occur in a system. | System fundamentals |
Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines. | System fundamentals |
Computer Organization | |
Outline the architecture and function of the CPU, ALU, CU and the registers within the CPU | Computer organization |
Explain the use of cache memory. | Computer organization |
Explain the machine instruction cycle. | Computer organization |
Identify the need for persistent storage. | Computer organization |
Describe the main functions of an operating system. | Computer organization |
Outline the use of a range of application software. | Computer organization |
Identify common features of applications. | Computer organization |
Define the terms: bit, byte, binary, denary/decimal, hexadecimal. | Computer organization |
Outline the way in which data is represented in the computer. | Computer organization |
Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR. | Computer organization |
Construct truth tables using the above operators. | Computer organization |
Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates. | Computer organization |
Networks | |
Identify different types of networks. | Networks |
Outline the importance of standards in the construction of networks. | Networks |
Describe how communication over networks is broken down into different layers. | Networks |
Identify the technologies required to provide a VPN. | Networks |
Evaluate the use of a VPN. | Networks |
Define the terms: protocol, data packet. | Networks |
Explain why protocols are necessary. | Networks |
Explain why the speed of data transmission across a network can vary. | Networks |
Explain why compression of data is often necessary when transmitting across a network. | Networks |
Outline the characteristics of different transmission media. | Networks |
Explain how data is transmitted by packet switching. | Networks |
Outline the advantages and disadvantages of wireless networks. | Networks |
Describe the hardware and software components of a wireless network. | Networks |
Describe the characteristics of wireless networks. | Networks |
Describe the different methods of network security. | Networks |
Evaluate the advantages and disadvantages of each method of network security. | Networks |
Computational thinking, problem-solving and programming | |
Identify the procedure appropriate to solving a problem. | Computational Thinking |
Evaluate whether the order in which activities are undertaken will result in the required outcome. | Computational Thinking |
Explain the role of sub-procedures in solving a problem. | Computational Thinking |
Identify when decision-making is required in a specified situation. | Computational Thinking |
Identify the decisions required for the solution to a specified problem. | Computational Thinking |
Identify the condition associated with a given decision in a specified problem. | Computational Thinking |
Explain the relationship between the decisions and conditions of a system. | Computational Thinking |
Deduce logical rules for real-world situations. | Computational Thinking |
Identify the inputs and outputs required in a solution. | Computational Thinking |
Identify pre-planning in a suggested problem and solution. | Computational Thinking |
Explain the need for pre-conditions when executing an algorithm. | Computational Thinking |
Outline the pre- and post-conditions to a specified problem. | Computational Thinking |
Identify exceptions that need to be considered in a specified problem solution. | Computational Thinking |
Identify the parts of a solution that could be implemented concurrently. | Computational Thinking |
Describe how concurrent processing can be used to solve a problem. | Computational Thinking |
Evaluate the decision to use concurrent processing in solving a problem. | Computational Thinking |
Identify examples of abstraction. | Computational Thinking |
Explain why abstraction is required in the derivation of computational solutions for a specified situation. | Computational Thinking |
Construct an abstraction from a specified situation. | Computational Thinking |
Distinguish between a real-world entity and its abstraction. | Computational Thinking |
Describe the characteristics of standard algorithms on linear arrays. | Computational Thinking |
Outline the standard operations of collections. | Computational Thinking |
Discuss an algorithm to solve a specific problem. | Computational Thinking |
Analyse an algorithm presented as a flow chart. | Computational Thinking |
Analyse an algorithm presented as pseudocode. | Computational Thinking |
Construct pseudocode to represent an algorithm. | Computational Thinking |
Suggest suitable algorithms to solve a specific problem. | Computational Thinking |
Deduce the efficiency of an algorithm in the context of its use. | Computational Thinking |
Determine the number of times a step in an algorithm will be performed for given input data. | Computational Thinking |
State the fundamental operations of a computer. | Computational Thinking |
Distinguish between fundamental and compound operations of a computer. | Computational Thinking |
Explain the essential features of a computer language. | Computational Thinking |
Explain the need for higher level languages. | Computational Thinking |
Outline the need for a translation process from a higher level language to machine executable code. | Computational Thinking |
Define the terms: variable, constant, operator, object. | Computational Thinking |
Define common operators. | Computational Thinking |
Analyse the use of variables, constants and operators in algorithms. | Computational Thinking |
Construct algorithms using loops, branching. | Computational Thinking |
Describe the characteristics and applications of a collection. | Computational Thinking |
Construct algorithms using the access methods of a collection. | Computational Thinking |
Discuss the need for sub-programmes and collections within programmed solutions. | Computational Thinking |
Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections. | Computational Thinking |
Abstract Data Structures | |
Identify a situation that requires the use of recursive thinking. | Abstract data structures |
Identify recursive thinking in a specified problem solution. | Abstract data structures |
Trace a recursive algorithm to express a solution to a problem. | Abstract data structures |
Describe the characteristics of a two- dimensional array. | Abstract data structures |
Construct algorithms using two- dimensional arrays. | Abstract data structures |
Describe the characteristics and applications of a stack. | Abstract data structures |
Construct algorithms using the access methods of a stack. | Abstract data structures |
Describe the characteristics and applications of a queue. | Abstract data structures |
Construct algorithms using the access methods of a queue. | Abstract data structures |
Explain the use of arrays as static stacks and queues. | Abstract data structures |
Describe the features and characteristics of a dynamic data structure. | Abstract data structures |
Describe how linked lists operate logically. | Abstract data structures |
Sketch linked lists (single, double and circular). | Abstract data structures |
Describe how trees operate logically (both binary and non-binary). | Abstract data structures |
Define the terms: parent, left-child, right-child, subtree, root and leaf. | Abstract data structures |
State the result of inorder, postorder and preorder tree traversal. | Abstract data structures |
Sketch binary trees. | Abstract data structures |
Define the term dynamic data structure. | Abstract data structures |
Compare the use of static and dynamic data structures. | Abstract data structures |
Suggest a suitable structure for a given situation. | Abstract data structures |
Resource Management | |
Identify the resources that need to be managed within a computer system. | Resource management |
Evaluate the resources available in a variety of computer systems. | Resource management |
Identify the limitations of a range of resources in a specified computer system. | Resource management |
Describe the possible problems resulting from the limitations in the resources in a computer system. | Resource management |
Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces. | Resource management |
Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling. | Resource management |
Discuss the advantages of producing a dedicated operating system for a device. | Resource management |
Outline how an operating system hides the complexity of the hardware from users and applications. | Resource management |
Control | |
Discuss a range of control systems. | Control |
Outline the uses of microprocessors and sensor input in control systems. | Control |
Evaluate different input devices for the collection of data in specified situations. | Control |
Explain the relationship between a sensor, the processor and an output transducer. | Control |
Describe the role of feedback in a control system. | Control |
Discuss the social impacts and ethical considerations associated with the use of embedded systems. | Control |
Compare a centrally controlled system with a distributed system. | Control |
Outline the role of autonomous agents acting within a larger system. | Control |
References[edit]
- ↑ IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.