Designing solutions through programming standards: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | |||
These are the standards for Designing solutions through programming. 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 (Level 1, Level 2, Level 3) | levels of knowing]] for a deeper discussion of this important idea. | |||
Many of these standards are used from the IB. IB Diploma Program Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012. | |||
{| style="width: 95%; font-size: 12px;" class="wikitable sortable" | {| style="width: 95%; font-size: 12px;" class="wikitable sortable" | ||
|- | |- | ||
! | ! Assessment Statement !! Big Idea | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| Describe a | | colspan="2" | '''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]] | |||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| | | colspan="2" | '''Computer Organization''' | ||
|- | |- | ||
| | | Outline the architecture and function of the CPU, ALU, CU and the registers within the CPU.|| [[Computer organization]] | ||
|- | |||
| Describe primary memory.|| [[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]] | |||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| Describe the | | colspan="2" | '''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]] | ||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| Describe how | | colspan="2" | '''Computational thinking, problem-solving and programming''' | ||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Construct an abstraction from a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Outline the standard operations of collections.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Discuss an algorithm to solve a specific problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Analyse an algorithm presented as a flow chart.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Analyse an algorithm presented as pseudocode.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Construct pseudocode to represent an algorithm.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| State the fundamental operations of a computer.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Define the terms: variable, constant, operator, object.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Define common operators.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Analyse the use of variables, constants and operators in algorithms.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |||
| Construct algorithms using loops, branching.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|- | |- | ||
| | | 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | ||
|- | |- | ||
| | | 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.|| [[Computational thinking, problem-solving and programming | Computational Thinking]] | |||
|-style="background-color:#E6F9E6;" | |-style="background-color:#E6F9E6;" | ||
| | | colspan="2" | '''Web science''' | ||
|- | |- | ||
| | | Distinguish between the internet and World Wide Web (web).|| [[Web Science]] | ||
|- | |||
| Describe how the web is constantly evolving.|| [[Web Science]] | |||
|- | |||
| Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS.|| [[Web Science]] | |||
|- | |||
| Identify the characteristics of a uniform resource identifier (URI) URL.|| [[Web Science]] | |||
|- | |||
| Describe the purpose of a URL.|| [[Web Science]] | |||
|- | |||
| Describe how a domain name server functions.|| [[Web Science]] | |||
|- | |||
| Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP).|| [[Web Science]] | |||
|- | |||
| Outline the different components of a web page.|| [[Web Science]] | |||
|- | |||
| Explain the importance of protocols and standards on the web.|| [[Web Science]] | |||
|- | |||
| Describe the different types of web page.|| [[Web Science]] | |||
|- | |||
| Explain the differences between a static web page and a dynamic web page.|| [[Web Science]] | |||
|- | |||
| Explain the functions of a browser.|| [[Web Science]] | |||
|- | |||
| Evaluate the use of client-side scripting and server-side scripting in web pages.|| [[Web Science]] | |||
|- | |||
| Describe how web pages can be connected to underlying data sources.|| [[Web Science]] | |||
|- | |||
| Describe the function of the common gateway interface (CGI).|| [[Web Science]] | |||
|- | |||
| Evaluate the structure of different types of web pages.|| [[Web Science]] | |||
|- | |||
| Define the term search engine.|| [[Web Science]] | |||
|- | |||
| Distinguish between the surface web and the deep web.|| [[Web Science]] | |||
|- | |||
| Outline the principles of searching algorithms used by search engines.|| [[Web Science]] | |||
|- | |||
| Describe how a web crawler functions.|| [[Web Science]] | |||
|- | |||
| Discuss the relationship between data in a meta-tag and how it is accessed by a web crawler.|| [[Web Science]] | |||
|- | |||
| Discuss the use of parallel web crawling.|| [[Web Science]] | |||
|- | |||
| Outline the purpose of web-indexing in search engines.|| [[Web Science]] | |||
|- | |||
| Suggest how web developers can create pages that appear more prominently in search engine results.|| [[Web Science]] | |||
|- | |||
| Describe the different metrics used by search engines.|| [[Web Science]] | |||
|- | |||
| Explain why the effectiveness of a search engine is determined by the assumptions made when developing it.|| [[Web Science]] | |||
|- | |||
| Discuss the use of white hat and black hat search engine optimization.|| [[Web Science]] | |||
|- | |||
| Outline future challenges to search engines as the web continues to grow.|| [[Web Science]] | |||
|- | |||
| Define the terms: mobile computing, ubiquitous computing, peer-2-peer network, grid computing.|| [[Web Science]] | |||
|- | |||
| Compare the major features of: mobile computing ubiquitous computing peer-2-peer network grid computing.|| [[Web Science]] | |||
|- | |||
| Distinguish between interoperability and open standards.|| [[Web Science]] | |||
|- | |||
| Describe the range of hardware used by distributed networks.|| [[Web Science]] | |||
|- | |||
| Explain why distributed systems may act as a catalyst to a greater decentralization of the web.|| [[Web Science]] | |||
|- | |||
| Distinguish between lossless and lossy compression.|| [[Web Science]] | |||
|- | |||
| Evaluate the use of decompression software in the transfer of information.|| [[Web Science]] | |||
|- | |||
| Discuss how the web has supported new methods of online interaction such as social networking.|| [[Web Science]] | |||
|- | |||
| Describe how cloud computing is different from a client-server architecture.|| [[Web Science]] | |||
|- | |||
| Discuss the effects of the use of cloud computing for specified organizations.|| [[Web Science]] | |||
|- | |||
| Discuss the management of issues such as copyright and intellectual property on the web.|| [[Web Science]] | |||
|- | |||
| Describe the interrelationship between privacy, identification and authentication.|| [[Web Science]] | |||
|- | |||
| Describe the role of network architecture, protocols and standards in the future development of the web.|| [[Web Science]] | |||
|- | |||
| Explain why the web may be creating unregulated monopolies.|| [[Web Science]] | |||
|- | |||
| Discuss the effects of a decentralized and democratic web.|| [[Web Science]] | |||
|- | |||
|Outline the differences between data and information.|| [[Databases]] | |||
|- | |||
|Outline the differences between an information system and a database.|| [[Databases]] | |||
|- | |||
|Discuss the need for databases.|| [[Databases]] | |||
|- | |||
|Describe the use of transactions, states and updates to maintain data consistency (and integrity).|| [[Databases]] | |||
|- | |||
|Define the term database transaction.|| [[Databases]] | |||
|- | |||
|Explain concurrency in a data sharing situation.|| [[Databases]] | |||
|- | |||
|Explain the importance of the ACID properties of a database transaction.|| [[Databases]] | |||
|- | |||
|Describe the two functions databases require to be performed on them.|| [[Databases]] | |||
|- | |||
|Explain the role of data validation and data verification.|| [[Databases]] | |||
|- | |||
|Define the terms: database management system (DBMS) and relational database management system (RDBMS).|| [[Databases]] | |||
|- | |||
|Outline the functions and tools of a DBMS.|| [[Databases]] | |||
|- | |||
|Describe how a DBMS can be used to promote data security.|| [[Databases]] | |||
|- | |||
|Define the term schema.|| [[Databases]] | |||
|- | |||
|Identify the characteristics of the three levels of the schema: conceptual, logical, physical.|| [[Databases]] | |||
|- | |||
|Outline the nature of the data dictionary.|| [[Databases]] | |||
|- | |||
|Explain the importance of a data definition language in implementing a data model.|| [[Databases]] | |||
|- | |||
|Explain the importance of data modelling in the design of a database.|| [[Databases]] | |||
|- | |||
|Define the following database terms: table, record, field, primary key, secondary key, foreign key, candidate key, composite primary key, join.|| [[Databases]] | |||
|- | |||
|Identify the different types of relationships within databases: one-to- one, one-to-many, many-to-many.|| [[Databases]] | |||
|- | |||
|Outline the issues caused by redundant data.|| [[Databases]] | |||
|- | |||
|Outline the importance of referential integrity in a normalized database.|| [[Databases]] | |||
|- | |||
|Describe the differences between 1st Normal Form (1NF), 2nd Normal Form (2NF) and 3rd Normal Form (3NF).|| [[Databases]] | |||
|- | |||
|Describe the characteristics of a normalized database.|| [[Databases]] | |||
|- | |- | ||
| | |Evaluate the appropriateness of the different data types.|| [[Databases]] | ||
|- | |- | ||
| | |Construct an entity-relationship diagram (ERD) for a given scenario.|| [[Databases]] | ||
|- | |- | ||
| | |Construct a relational database to 3NF using objects such as tables, queries, forms, reports and macros.|| [[Databases]] | ||
|- | |- | ||
| | |Explain how a query can provide a view of a database.|| [[Databases]] | ||
|- | |- | ||
| | |Describe the difference between a simple and complex query.|| [[Databases]] | ||
|- | |- | ||
| | |Outline the different methods that can be used to construct a query.|| [[Databases]] | ||
|- | |- | ||
| | |Explain the role of a database administrator.|| [[Databases]] | ||
|- | |- | ||
| Explain | |Explain how end-users can interact with a database.|| [[Databases]] | ||
|- | |- | ||
| Describe | |Describe different methods of database recovery.|| [[Databases]] | ||
|- | |- | ||
| | |Outline how integrated database systems function.|| [[Databases]] | ||
|- | |- | ||
| | |Outline the use of databases in areas such as stock control, police records, health records, employee data.|| [[Databases]] | ||
|- | |- | ||
| | |Suggest methods to ensure the privacy of the personal data and the responsibility of those holding personal data not to sell or divulge it in any way.|| [[Databases]] | ||
|- | |- | ||
| | |Discuss the need for some databases to be open to interrogation by other parties (police, government, etc).|| [[Databases]] | ||
|- | |- | ||
| | |Explain the difference between data matching and data mining.|| [[Databases]] | ||
|- | |- | ||
| | |Describe the characteristics of different database models.|| [[Databases]] | ||
|- | |- | ||
| | |Evaluate the use of object-oriented databases as opposed to relational databases.|| [[Databases]] | ||
|- | |- | ||
| | |Define the term data warehouse.|| [[Databases]] | ||
|- | |- | ||
| Describe | |Describe a range of situations suitable for data warehousing.|| [[Databases]] | ||
|- | |- | ||
| | |Explain why data warehousing is time dependent.|| [[Databases]] | ||
|- | |- | ||
| | |Describe how data in a warehouse is updated in real time.|| [[Databases]] | ||
|- | |- | ||
| Describe the | |Describe the advantages of using data warehousing.|| [[Databases]] | ||
|- | |- | ||
| | |Explain the need for ETL processes in data warehousing.|| [[Databases]] | ||
|- | |- | ||
| Describe | |Describe how ETL processes can be used to clean up data for a data warehouse.|| [[Databases]] | ||
|- | |- | ||
| | |Compare the different forms of discovering patterns using data mining.|| [[Databases]] | ||
|- | |- | ||
| Describe | |Describe situations that benefit from data mining.|| [[Databases]] | ||
|- | |- | ||
| | |Describe how predictive modelling is used.|| [[Databases]] | ||
|- | |- | ||
| | |Explain the nature of database segmentation.|| [[Databases]] | ||
|- | |- | ||
| | |Explain the nature and purpose of link analysis.|| [[Databases]] | ||
|- | |- | ||
| | |Describe the process of deviation detection.|| [[Databases]] | ||
|} | |} | ||
==References== | |||
<references /> | |||
[[Category:Standards]] | [[Category:Standards]] | ||
[[Category: | [[Category:2016-2017 School Year]] | ||
[[Category:High School]] | [[Category:High School]] |
Latest revision as of 04:56, 16 August 2016
Introduction[edit]
These are the standards for Designing solutions through programming. 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.
Many of these standards are used from the IB. IB Diploma Program Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.
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 |
Describe primary memory. | 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 |
Web science | |
Distinguish between the internet and World Wide Web (web). | Web Science |
Describe how the web is constantly evolving. | Web Science |
Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS. | Web Science |
Identify the characteristics of a uniform resource identifier (URI) URL. | Web Science |
Describe the purpose of a URL. | Web Science |
Describe how a domain name server functions. | Web Science |
Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP). | Web Science |
Outline the different components of a web page. | Web Science |
Explain the importance of protocols and standards on the web. | Web Science |
Describe the different types of web page. | Web Science |
Explain the differences between a static web page and a dynamic web page. | Web Science |
Explain the functions of a browser. | Web Science |
Evaluate the use of client-side scripting and server-side scripting in web pages. | Web Science |
Describe how web pages can be connected to underlying data sources. | Web Science |
Describe the function of the common gateway interface (CGI). | Web Science |
Evaluate the structure of different types of web pages. | Web Science |
Define the term search engine. | Web Science |
Distinguish between the surface web and the deep web. | Web Science |
Outline the principles of searching algorithms used by search engines. | Web Science |
Describe how a web crawler functions. | Web Science |
Discuss the relationship between data in a meta-tag and how it is accessed by a web crawler. | Web Science |
Discuss the use of parallel web crawling. | Web Science |
Outline the purpose of web-indexing in search engines. | Web Science |
Suggest how web developers can create pages that appear more prominently in search engine results. | Web Science |
Describe the different metrics used by search engines. | Web Science |
Explain why the effectiveness of a search engine is determined by the assumptions made when developing it. | Web Science |
Discuss the use of white hat and black hat search engine optimization. | Web Science |
Outline future challenges to search engines as the web continues to grow. | Web Science |
Define the terms: mobile computing, ubiquitous computing, peer-2-peer network, grid computing. | Web Science |
Compare the major features of: mobile computing ubiquitous computing peer-2-peer network grid computing. | Web Science |
Distinguish between interoperability and open standards. | Web Science |
Describe the range of hardware used by distributed networks. | Web Science |
Explain why distributed systems may act as a catalyst to a greater decentralization of the web. | Web Science |
Distinguish between lossless and lossy compression. | Web Science |
Evaluate the use of decompression software in the transfer of information. | Web Science |
Discuss how the web has supported new methods of online interaction such as social networking. | Web Science |
Describe how cloud computing is different from a client-server architecture. | Web Science |
Discuss the effects of the use of cloud computing for specified organizations. | Web Science |
Discuss the management of issues such as copyright and intellectual property on the web. | Web Science |
Describe the interrelationship between privacy, identification and authentication. | Web Science |
Describe the role of network architecture, protocols and standards in the future development of the web. | Web Science |
Explain why the web may be creating unregulated monopolies. | Web Science |
Discuss the effects of a decentralized and democratic web. | Web Science |
Outline the differences between data and information. | Databases |
Outline the differences between an information system and a database. | Databases |
Discuss the need for databases. | Databases |
Describe the use of transactions, states and updates to maintain data consistency (and integrity). | Databases |
Define the term database transaction. | Databases |
Explain concurrency in a data sharing situation. | Databases |
Explain the importance of the ACID properties of a database transaction. | Databases |
Describe the two functions databases require to be performed on them. | Databases |
Explain the role of data validation and data verification. | Databases |
Define the terms: database management system (DBMS) and relational database management system (RDBMS). | Databases |
Outline the functions and tools of a DBMS. | Databases |
Describe how a DBMS can be used to promote data security. | Databases |
Define the term schema. | Databases |
Identify the characteristics of the three levels of the schema: conceptual, logical, physical. | Databases |
Outline the nature of the data dictionary. | Databases |
Explain the importance of a data definition language in implementing a data model. | Databases |
Explain the importance of data modelling in the design of a database. | Databases |
Define the following database terms: table, record, field, primary key, secondary key, foreign key, candidate key, composite primary key, join. | Databases |
Identify the different types of relationships within databases: one-to- one, one-to-many, many-to-many. | Databases |
Outline the issues caused by redundant data. | Databases |
Outline the importance of referential integrity in a normalized database. | Databases |
Describe the differences between 1st Normal Form (1NF), 2nd Normal Form (2NF) and 3rd Normal Form (3NF). | Databases |
Describe the characteristics of a normalized database. | Databases |
Evaluate the appropriateness of the different data types. | Databases |
Construct an entity-relationship diagram (ERD) for a given scenario. | Databases |
Construct a relational database to 3NF using objects such as tables, queries, forms, reports and macros. | Databases |
Explain how a query can provide a view of a database. | Databases |
Describe the difference between a simple and complex query. | Databases |
Outline the different methods that can be used to construct a query. | Databases |
Explain the role of a database administrator. | Databases |
Explain how end-users can interact with a database. | Databases |
Describe different methods of database recovery. | Databases |
Outline how integrated database systems function. | Databases |
Outline the use of databases in areas such as stock control, police records, health records, employee data. | Databases |
Suggest methods to ensure the privacy of the personal data and the responsibility of those holding personal data not to sell or divulge it in any way. | Databases |
Discuss the need for some databases to be open to interrogation by other parties (police, government, etc). | Databases |
Explain the difference between data matching and data mining. | Databases |
Describe the characteristics of different database models. | Databases |
Evaluate the use of object-oriented databases as opposed to relational databases. | Databases |
Define the term data warehouse. | Databases |
Describe a range of situations suitable for data warehousing. | Databases |
Explain why data warehousing is time dependent. | Databases |
Describe how data in a warehouse is updated in real time. | Databases |
Describe the advantages of using data warehousing. | Databases |
Explain the need for ETL processes in data warehousing. | Databases |
Describe how ETL processes can be used to clean up data for a data warehouse. | Databases |
Compare the different forms of discovering patterns using data mining. | Databases |
Describe situations that benefit from data mining. | Databases |
Describe how predictive modelling is used. | Databases |
Explain the nature of database segmentation. | Databases |
Explain the nature and purpose of link analysis. | Databases |
Describe the process of deviation detection. | Databases |