NIS programme, subject “Computer Science” (advanced level)
13.09.2020, 20:33

NIS programme, subject “Computer Science” (advanced level)

Strand Sub-strand
1 Data and information 1.1 Data representation
1.2 Information security
1.3 Ethics and ownership
2 Problem solving 2.1 System life cycle
2.2 Engineering
3 Computer systems 3.1 Software
3.2 CPU
3.3 Boolean logic
3.4 Memory
4 Information systems 4.1 Databases
4.2 SQL query language
4.3 Artificial intelligence
5 Programming 5.1 Programming paradigms
5.2 Algorithms and data structure
5.3 Programming and testing the system
5.4 Mobile applications development
6 Communication and networks 6.1 Computer networks
6.2 Principles of Internet operations
6.3 Protocols

Learning objectives

Grade 11 Grade 12
1.1 Data representation
 

12.1.1.1 convert a number from one number system to another

12.1.1.2 explain the advantages of using hexadecimal numbers in computer systems 

12.1.1.3 perform the arithmetic operations of addition and multiplication on binary numbers  

12.1.1.4 represent a positive or negative integer in two’s complement form
12.1.1.5 perform binary subtraction using two’s complement

12.1.1.6 represent binary fractions using fixed-point and floating-point binary numbers

12.1.1.7 represent positive and negative decimal and floating point numbers in two’s complement form

1.2 Information security

11.1.2.1 explain the difference between the terms security, privacy and data integrity 

11.1.2.2 provide arguments for the necessity of the protection of data and computer system

11.1.2.3 describe data protection measures such as data backup and disk mirroring 

11.1.2.4 describe data protection measures such as encryption and access rights to data (authorisation)

11.1.2.5 explain the difference between the terms verification and validation

11.1.2.6 explain the function and operation of Blockchain technologies

12.1.2.1 describe data and computer systems protection measures such as: physical risks, inter-network screens, information encryption, biometrics, computer virus countermeasures 

12.1.2.2 use means to protect data including back up and disk mirroring 

12.1.2.3 protect data from unauthorised access
 

1.3 Ethics and ownership
11.1.3.1 follow the copyright law when developing applications

11.1.3.2 describe the specifics of open-source software

11.1.3.3 describe the specifics of closed-source software

11.1.3.4 restrict access to data made available through the Internet using a variety of methods

11.1.3.5 evaluate risks of using cloud technologies

12.1.3.1 analyse ethical problems arising due to computer system cracking

12.1.3.2 analyse problems arising due to malware

12.1.3.3  explain privacy policies 

12.1.3.4 analyse problems arising due to disseminating and using information 

12.1.3.5 check documents using antiplagiarism resources  

12.1.3.6 list copyright protection rules 

12.1.3.7 use E-gov resources 

2. Problem Solving
2.1 System life cycle

11.2.1.1 explain the life cycle stages used in the solving of problems 

11.2.1.2 analyse the advantages and disadvantages of agile, waterfall and spiral models 

11.2.1.3 describe data collection methods

11.2.1.4 compare different data analysis techniques

11.2.1.5 compare alternative solutions to a problem in order to choose the most effective algorithm

11.2.1.6 use data flow diagrams (DFD) to input, process, store and output data in computing systems

11.2.1.7 use flow charts to input, process, store and output data in computing systems

11.2.1.8 develop a system requirement based on collected information

12.2.1.1 use a table of contents when documenting a project

12.2.1.2 use headers and footers when documenting a project

12.2.1.3 use tables when documenting a project 

12.2.1.4 set page parameters when documenting a project 

12.2.1.5 set page numbers when documenting a project 

12.2.1.6 set indents and line spacing when documenting a project 

12.2.1.7 list system implementation methods 

12.2.1.8 compare the advantages and disadvantages of system implementation methods 

12.2.1.9 explain the importance of making a system implementation plan 

12.2.1.10 make a system implementation plan 

2.2 Engineering

11.2.2.1 analyse the advantages of a new system 

11.2.2.2 analyse the restrictions of a new system 

11.2.2.3 describe the characteristics of a development framework 

11.2.2.4 discuss the advantages and disadvantages of using prototypes when developing solutions 

11.2.2.5 discuss the use of prototypes based on a specific example 

11.2.2.6 develop a prototype for a new system 

11.2.2.7 define minimum requirements for hardware when implementing solutions

 
3. Computer Systems
3.1 Software

11.3.1.1 justify their choice of applied software and choice criteria based on the goals 

11.3.1.2 classify application software

11.3.1.3 describe the purpose and main functions of operating systems 

11.3.1.4 compare single-user and multi-user operating systems 

11.3.1.5 compare one-task and multitasking operating systems 

12.3.1.1 describe features of a real-time operating system

12.3.1.2 describe features of a network operating system

12.3.1.3 describe features of a batch processing operating system

12.3.1.4 define the advantages and disadvantages of a graphical user interface (GUI)

12.3.1.5 define the advantages and disadvantages of a command line interface (CLI)

12.3.1.6 define the advantages and disadvantages of natural-language and gesture-recognition user interfaces 

3.2 CPU

11.3.2.1 describe the interaction between the CPU and peripherals 

11.3.2.2 describe the functions of CPU, system bus and RAM 

12.3.2.1 describe the RISC architecture 

12.3.2.2 describe the CISC architecture

12.3.2.3 compare RISC and CISC

12.3.2.4 explain how data are transferred between the components of a computer system through the address bus, data bus and control bus

12.3.2.5 explain the instruction cycle (fetch / decode / execute)

12.3.2.6 explain how the clock rate, word length and bus width affect the CPU performance

3.3 Boolean logic

11.3.3.1 distinguish between laws of Boolean logic

11.3.3.2 simplify logical expressions using the laws of Boolean logic

11.3.3.3 build truth tables AND, OR, NOT, NAND, NOR, XOR

12.3.3.1 reduce formulas to normal logic using the laws of formal logic and rules of logical transformation

12.3.3.2 simplify logical expressions using the laws of logic

12.3.3.3  build logical structures

12.3.3.4 build logical expressions according to logical structures

3.4 Memory

11.3.4.1 explain the differences between RAM and ROM memory

11.3.4.2 explain the purpose of virtual memory 

11.3.4.3 explain the purpose of cache memory

12.3.4.1 explain memory addressing

12.3.4.2 explain the principle of memory organization by segment and page (additionally)

12.3.4.3 explain the virtual machine concept

4. Information Systems
4.1 Databases 

11.4.1.1 describe relational databases and their purpose

11.4.1.2 use the terms attribute, object, index, record, table and tuple to describe databases 

11.4.1.3 explain the difference between primary composite and foreign key 

11.4.1.4 define data types when creating a database

11.4.1.5 define the connections between tables in database(1-3NF)

11.4.1.6 define the connections between tables

11.4.1.7 create an entity-relationship (ER) model

 
4.2 SQL query language

11.4.2.1 explain the purpose of data dictionary

11.4.2.2 compare the data definition language (DDL), and the data manipulation language (DML) 

11.4.2.3 describe the basic SQL queries for working with tables in a database: CREATE, ALTER, and DROP 

11.4.2.4 use the basic SQL queries for working with one table in a database: SELECT, UPDATE, INSERT and DELETE

11.4.2.5 use SQL SELECT for data selection in more tables

 
4.3 Artificial intelligence
 

12.4.3.1 describe spheres where artificial intelligence is applied: industry, education, medicine, gaming industry, society

12.4.3.2 explain the purpose of virtual and alternate reality

5. Programming
5.1  Programming Paradigms

11.5.1.1 distinguish between generations of programming languages

11.5.1.2 classify programming languages into low and high-level

11.5.1.3 analyze a simple program written in the language of assembly

11.5.1.4 use trace tables to find and verify the correctness of an algorithm 

11.5.1.5 advantages and disadvantages of high-level languages 

11.5.1.6 advantages and disadvantages of low-level languages 

11.5.1.7 advantages and disadvantages of compilers 

11.5.1.8 advantages and disadvantages of interpreters 

12.5.1.1 compare declarative and imperative programming languages

12.5.1.2 create a simple expert system (ES - declarative language)

12.5.1.3 describe program compilation stages: lexical and syntactic analysis, code generation and optimization 

12.5.1.4 demonstrate understanding of the program compilation stages: lexical, syntactic analysis

12.5.1.5 demonstrate understanding of the program compilation stage: code generation

12.5.1.6 demonstrate understanding of code optimization as the program compilation stage

5.2 Algorithms and data structure

11.5.2.1 use the technical terms associated with arrays including upper and lower bounds

11.5.2.2 select a suitable data structure for a given task (1D or 2D array)

11.5.2.3 write program code using 1D and 2D arrays

11.5.2.4 write an algorithm /pseudo-code for sorting by insertion and bubble sort

11.5.2.5 write a pseudo-code of binary search for the solution of a specific problem

11.5.2.6 understand the time-efficiency of algorithms

11.5.2.7 to understand the space-efficiency of algorithms

12.5.2.1 describe the operation of stack and queue data structures

12.5.2.2 build a binary tree

5.3 Programming and testing the system

11.5.3.1 create a site using basic HTML tags

11.5.3.2 create forms for data entry using HTML tags

11.5.3.3 use the CSS stylesheet when creating a site

11.5.3.4 use  script language to connect a database

11.5.3.5 use script language to work with databases

11.5.3.6 use various algorithmic structures in script language

11.5.3.7 use script language in website design

11.5.3.8 use script language to provide interactivity

11.5.3.9 write a program code using a basic algorithmic "sequence" structure when developing a project

11.5.3.10 write a program code using a basic algorithmic "selection" structure when developing a project

11.5.3.11 write a program code using a basic algorithmic "loop/iteration" structure when developing a project

11.5.3.12 follow the rules of good programming style when writing a program code

 

12.5.3.2 perform testing using normal data 

12.5.3.3 perform testing using extreme data 

12.5.3.4 perform testing using erroneous data 

12.5.3.1 describe execution (run-time) errors when a program is started 

12.5.3.5 describe a syntax error in a program code 

12.5.3.6 describe a logical error in a program code 

5.4 Mobile applications development

11.5.4.1 create an application interface using the components of an application designer

11.5.4.2 edit properties of components in a program code

11.5.4.5 use the technical capabilities of smartphones when developing

 
6. Communication and networks
6.1  Computer networks

11.6.1.1 compare features of local (LAN) and wide area networks (WAN)

11.6.1.2 describe the advantages and disadvantages of network topologies bus, ring, star, mixed

11.6.1.3 explain the purpose of network equipment

12.6.1.1 explain the difference between packet switching and circuit switching

12.6.1.2 describe the functions of the OSI network model layers

6.2  Principles of Internet Operation

11.6.2.1 describe the role of the universal resource locator (URL)

11.6.2.2 describe the purpose and organization of a domain name system (DNS)

11.6.2.3 know the features of the client-server model

12.6.2.1 distinguish features of the World Wide Web, Intranet, and the Internet

12.6.2.2 describe the role of MAC addresses in packet routing

12.6.2.3 identify the MAC address of a computer

6.3 Protocols

11.6.3.1 explain the role of protocols in the network (HTTP, FTP, POP3, SMTP, HTTPS, FTPS)

11.6.3.2 explain the format of an IP address and how an IP address is associated with a device on a network

11.6.3.3 explain the difference between a public IP address and a private IP address and the implication for security.

 
Категория: Computer science | Добавил: bzfar77
Просмотров: 8794 | Загрузок: 0 | Рейтинг: 4.9/9
Всего комментариев: 0
avatar