IB Computer Science SL standards

From Computer Science Wiki
Revision as of 13:49, 11 August 2016 by Mr. MacKenty (talk | contribs)
Standard 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
Describe primary memory.
Explain the use of cache memory.
Explain the machine instruction cycle.
Identify the need for persistent storage.
Describe the main functions of an operating system.
Outline the use of a range of application software.
Identify common features of applications.
Define the terms: bit, byte, binary, denary/decimal, hexadecimal.
Outline the way in which data is represented in the computer.
Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR.
Construct truth tables using the above operators.
Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates.
Networks
Identify different types of networks.
Outline the importance of standards in the construction of networks.
Describe how communication over networks is broken down into different layers.
Identify the technologies required to provide a VPN.
Evaluate the use of a VPN.
Define the terms: protocol, data packet.
Explain why protocols are necessary.
Explain why the speed of data transmission across a network can vary.
Explain why compression of data is often necessary when transmitting across a network.
Outline the characteristics of different transmission media.
Explain how data is transmitted by packet switching.
Outline the advantages and disadvantages of wireless networks.
Describe the hardware and software components of a wireless network.
Describe the characteristics of wireless networks.
Describe the different methods of network security.
Evaluate the advantages and disadvantages of each method of network security.
Computational thinking, problem-solving and programming
Identify the procedure appropriate to solving a problem.
Evaluate whether the order in which activities are undertaken will result in the required outcome.
Explain the role of sub-procedures in solving a problem.
Identify when decision-making is required in a specified situation.
Identify the decisions required for the solution to a specified problem.
Identify the condition associated with a given decision in a specified problem.
Explain the relationship between the decisions and conditions of a system.
Deduce logical rules for real-world situations.
Identify the inputs and outputs required in a solution.
Identify pre-planning in a suggested problem and solution.
Explain the need for pre-conditions when executing an algorithm.
Outline the pre- and post-conditions to a specified problem.
Identify exceptions that need to be considered in a specified problem solution.
Identify the parts of a solution that could be implemented concurrently.
Describe how concurrent processing can be used to solve a problem.
Evaluate the decision to use concurrent processing in solving a problem.
Identify examples of abstraction.
Explain why abstraction is required in the derivation of computational solutions for a specified situation.
Construct an abstraction from a specified situation.
Distinguish between a real-world entity and its abstraction.
Describe the characteristics of standard algorithms on linear arrays.
Outline the standard operations of collections.
Discuss an algorithm to solve a specific problem.
Analyse an algorithm presented as a flow chart.
Analyse an algorithm presented as pseudocode.
Construct pseudocode to represent an algorithm.
Suggest suitable algorithms to solve a specific problem.
Deduce the efficiency of an algorithm in the context of its use.
Determine the number of times a step in an algorithm will be performed for given input data.
State the fundamental operations of a computer.
Distinguish between fundamental and compound operations of a computer.
Explain the essential features of a computer language.
Explain the need for higher level languages.
Outline the need for a translation process from a higher level language to machine executable code.
Define the terms: variable, constant, operator, object.
Define common operators.
Analyse the use of variables, constants and operators in algorithms.
Construct algorithms using loops, branching.
Describe the characteristics and applications of a collection.
Construct algorithms using the access methods of a collection.
Discuss the need for sub-programmes and collections within programmed solutions.
Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.
Web science
Distinguish between the internet and World Wide Web (web).
Describe how the web is constantly evolving.
Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS.
Identify the characteristics of a uniform resource identifier (URI) URL.
Describe the purpose of a URL.
Describe how a domain name server functions.
Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP).
Outline the different components of a web page.
Explain the importance of protocols and standards on the web.
Describe the different types of web page.
Explain the differences between a static web page and a dynamic web page.
Explain the functions of a browser.
Evaluate the use of client-side scripting and server-side scripting in web pages.
Describe how web pages can be connected to underlying data sources.
Describe the function of the common gateway interface (CGI).
Evaluate the structure of different types of web pages.
Define the term search engine.
Distinguish between the surface web and the deep web.
Outline the principles of searching algorithms used by search engines.
Describe how a web crawler functions.
Discuss the relationship between data in a meta-tag and how it is accessed by a web crawler.
Discuss the use of parallel web crawling.
Outline the purpose of web-indexing in search engines.
Suggest how web developers can create pages that appear more prominently in search engine results.
Describe the different metrics used by search engines.
Explain why the effectiveness of a search engine is determined by the assumptions made when developing it.
Discuss the use of white hat and black hat search engine optimization.
Outline future challenges to search engines as the web continues to grow.
Define the terms: mobile computing, ubiquitous computing, peer-2-peer network, grid computing.
Compare the major features of: mobile computing ubiquitous computing peer-2-peer network grid computing.
Distinguish between interoperability and open standards.
Describe the range of hardware used by distributed networks.
Explain why distributed systems may act as a catalyst to a greater decentralization of the web.
Distinguish between lossless and lossy compression.
Evaluate the use of decompression software in the transfer of information.
Discuss how the web has supported new methods of online interaction such as social networking.
Describe how cloud computing is different from a client-server architecture.
Discuss the effects of the use of cloud computing for specified organizations.
Discuss the management of issues such as copyright and intellectual property on the web.
Describe the interrelationship between privacy, identification and authentication.
Describe the role of network architecture, protocols and standards in the future development of the web.
Explain why the web may be creating unregulated monopolies.
Discuss the effects of a decentralized and democratic web.