Strands and learning outcomes

Appendix A: Glossary of Action Verbs used

Appendix B: Glossary of Core Concepts

Strand 1: Practices and principles

The practices and principles of computer science describe the behaviours and ways of thinking that computationally-literate students use to fully engage in a data-rich and interconnected world. Computational thinking, at the heart of computer science practices, is a problem-solving process that involves designing solutions that exploit the power of computers. The practices and principles are encountered in a context-based approach related to social, professional, and scientific contexts. Studying the role of computers in society will enhance students’ attitudes towards computer science and make it more meaningful and relevant. In learning about designing and developing, students will recognise the creative challenge involved in creating artefacts and in project management.

S1: Computational thinking

Students learn about

Students should be able to

1. Computational thinking
  1. 1.1

    describe a systematic process for solving problems and making decisions

     

     

    • Teaching and Learning
    • Assessment
    • clipboard
  2. 1.2

    explain how the power of computing enables different solutions to difficult problems

    • clipboard
2. Problem solving
  1. 1.3

    solve problems by deconstructing them into smaller units using a systematic approach in an iterative fashion

    • clipboard
  2. 1.4

    solve problems using skills of logic

    • clipboard
3. Logical thinking
  1. 1.5

    evaluate alternative solutions to computational problems

    • clipboard
  2. 1.6

    explain the operation of a variety of algorithms

    • clipboard
  3. 1.7

    develop algorithms to implement chosen solutions

    • clipboard
4. Algorithmic thinking
  1. 1.8

    evaluate the costs and benefits of the use of computing technology in automating processes

    • clipboard
  2. 1.9

    use modelling and simulation in relevant situations

    • clipboard
  3. 1.10

    discuss when heuristics should and could be used and explain the limitations of using heuristics

    • clipboard

S1:  Computers and society

Students learn about

Students should be able to

5. Social and ethical considerations of computing technologies
  1. 1.11

    discuss the complex relationship between computing technologies and society including issues of ethics

    • clipboard
  2. 1.12

    compare the positive and negative impacts of computing on culture and society

    • clipboard
6. Turing machines: The Internet; Machine learning; Artificial intelligence
  1. 1.13

    identify important computing developments that have taken place in the last 100 years and consider emerging trends that could shape future computing technologies

    • clipboard
  2. 1.14

    explain when and what machine learning and AI algorithms might be used in certain contexts

    • clipboard
7. User-centred design
  1. 1.15

    consider the quality of the user experience when interacting with computers and list the principles of universal design, including the role of a user interface and the factors that contribute to its usability

    • clipboard
  2. 1.16

    compare two different user interfaces and identify different design decisions that shape the user experience

    • clipboard
  3. 1.17

    describe the role that adaptive technology can play in the lives of people with special needs

    • clipboard
  4. 1.18

    recognise the diverse roles and careers that use computing technologies

    • clipboard

S1: Designing and developing

Students learn about

Students should be able to

8. Design process
  1. 1.19

    identify features of both staged and iterative design and development processes

    • clipboard
9. Working in a team, assigning roles and responsibilities
  1. 1.20

    collaborate and assign roles and responsibilities within a team to tackle a computing task

    • clipboard
  2. 1.21

    identify alternative perspectives, considering different disciplines, stakeholders and end users

    • clipboard
10. Communication and reporting
  1. 1.22

    read, write, test, and modify computer programs

    • Teaching and Learning
    • Assessment
    • clipboard
11. Software development and management
  1. 1.23

    reflect and communicate on the design and development process

    • clipboard

Strand 2: Core concepts

This strand introduces five core concepts that represent major content areas in the field of computer science: Abstraction, Algorithms, Computer systems, Data, and Evaluation and testing. The core concepts are developed theoretically and applied practically. In this way, conceptual classroom-based learning is intertwined with experimental computer lab-based learning throughout the two years of the course.

S2: Abstraction

Students learn about

Students should be able to

1. Abstraction
  1. 2.1

    use abstraction to describe systems and to explain the relationship between wholes and parts

    • clipboard
  2. 2.2

    use a range of methods for identifying patterns and abstract common features

    • clipboard
  3. 2.3

    implement modular design to develop hardware or software modules that perform a specific function

    • clipboard
  4. 2.4

    illustrate examples of abstract models

    • clipboard

S2: Algorithms

Students learn about

Students should be able to

2. Programming concepts
  1. 2.5

    use pseudo code to outline the functionality of an algorithm

    • clipboard
  2. 2.6

    construct algorithms using appropriate sequences, selections/conditionals, loops and operators to solve a range of problems, to fulfil a specific requirement

    • clipboard
  3. 2.7

    implement algorithms using a programming language to solve a range of problems

    • clipboard
3. Sorting: Simple sort, Insert sort, Bubble sort, Quicksort Search: Linear search, Binary search
  1. 2.8

    apply basic search and sorting algorithms and describe the limitations and advantages of each algorithm

    • clipboard
  2. 2.9

    assemble existing algorithms or create new ones that use functions (including recursive), procedures, and modules

    • clipboard
4. Algorithmic complexity
  1. 2.10

    explain the common measures of algorithmic efficiency using any algorithms studied

    • clipboard

S2: Computer systems

Students learn about

Students should be able to

5. CPU: ALU, Registers, Program counter, Memory
  1. 2.11

    describe the different components within a computer and the function of those components

    • clipboard
6. Basic electronics: voltage, current, resistors, capacitors, transistors
  1. 2.12

    describe the different types of logic gates and explain how they can be arranged into larger units to perform more complex tasks

    • clipboard
7. Operating system layers: Hardware, OS, Application, User
  1. 2.13

    describe the rationale for using the binary number system in digital computing and how to convert between binary, hexadecimal and decimal

    • clipboard
  2. 2.14

    describe the difference between digital and analogue input

    • clipboard
8. Web infrastructure -  Computer Network Protocols: HTTP, TCP, IP, VOIP
  1. 2.15

    explain what is meant by the World Wide Web (WWW) and the Internet, including the client server model, hardware components and communication protocols

    • clipboard

S2: Data

Students learn about

Students should be able to

9. Boolean, integer, real, char,   string, date, array
  1. 2.16

    use data types that are common to procedural high-level languages

    • clipboard
10. 8-bit ASCII Non-Roman character sets Unicode: UTF-8, Emojis
  1. 2.17

    use ASCII and Unicode character sets to encode/decode a message and consider the importance of having such standards

    • clipboard
11. Information systems
  1. 2.18

    collect, store and sort both continuous and discrete data

    • clipboard

S2: Evaluation and testing

Students learn about

Students should be able to

12. Debugging Testing: Unit test, Function test, System test
  1. 2.19

    test solutions and decisions to determine their short-term and long-term outcomes

    • clipboard
  2. 2.20

    identify and fix/debug warnings and errors in computer code and modify as required

    • clipboard
  3. 2.21

    critically reflect on and identify limitations in completed code and suggest possible improvements

    • clipboard
  4. 2.22

    explain the different stages in software testing

    • clipboard

Strand 3: Computer science in practice

Computer science in practice provides multiple opportunities for students to use their conceptual understanding in practical applications. Over the two years of the course students engage with four team-based applied learning tasks. Student groups plan, design and develop computational artefacts that are personally relevant or beneficial to their community and society in general. Examples of computational artefacts include programs, games, simulations, visualisations, digital animations, robotic systems, and apps. Students are expected to document, reflect and present on each applied learning task.

Applied learning task 1: Interactive information systems

Design is one of the key practices and principles of computer science. As designers and creators of technology, students can be innovative and expressive through the creation of artefacts. Computer science is also an information-intensive discipline that involves the selection, evaluation, recording and presentation of information. In this applied learning task, students will develop an interactive website that can display information (either local or remote data) from a database to meet a set of user needs. Through planning and designing an infrastructure that can display data, students will develop their knowledge of the role computing systems can play in communicating with and providing information about the world around them.

Students learn about

Students should be able to

1. Information systems, User centred design, Web design
  1. 3.1

    understand and list user needs/requirements before defining a solution

    • clipboard
2. File systems and relational databases
  1. 3.2

    create a basic relational database to store and retrieve a variety of forms of data types

    • clipboard
3. Design process
  1. 3.3

    use appropriate programming languages to develop an interactive website that can display information from a database that meets a set of users’ needs

    • clipboard

Applied learning task 2: Analytics

Hypothesising, making predictions, examining evidence, recognising patterns and reaching conclusions are at the heart of computer science. In this applied learning task, students will identify an interdisciplinary topic, develop a hypothesis and utilise existing resources to highlight the salient information and inform future decisions. By identifying, analysing, and deconstructing a problem, students will deepen their understanding of practices and principles of computer science.

Students learn about

Students should be able to

1. Analytics; Abstraction
  1. 3.4

    develop algorithms that can find the frequency, mean, median and mode of a data set

    • clipboard
2. Data collection and analysis
  1. 3.5

    structure and transform raw data to prepare it for analysis

    • clipboard
3. Interpretation of data
  1. 3.6

    represent data to effectively communicate in a graphical form

    • clipboard
4. Algorithms
  1. 3.7

    use algorithms to analyse and interpret data in a way that informs decision-making

    • clipboard

Applied learning task 3: Modelling and simulation

Modelling, programming, and coding require careful analysis of patterns and relationships to solve problems. In this applied learning task, students will engage with a problem that is difficult to solve analytically, but that is amenable to a solution using simulation or modelling. Students will develop a computer system that simulates or models the problem. Engaging with a problem in this way will heighten students’ awareness and understanding of how algorithms can be used across a wide range of disciplines and subjects.

Students learn about

Students should be able to

1. Modelling/simulation; Abstraction; Algorithms
  1. 3.8

    develop a model that will allow different scenarios to be tested

    • clipboard
  2. 3.9

    analyse and interpret the outcome of simulations both before and after modifications have been made

    • clipboard
  3. 3.10

    explain the benefits of using agent-based modelling and how it can be used to demonstrate emergent behaviours

    • clipboard

Applied learning task 4: Embedded systems

The design and application of computer hardware and software are a central part of computer science. In this applied learning task, students will implement a microprocessor system that uses sensors and controls digital inputs and outputs as part of an embedded system. By building the component parts of a computer system, students will deepen their understanding of how computers work and how they can be embedded in our everyday environments.

Students learn about

Students should be able to

1. Embedded systems
  1. 3.11

    use and control digital inputs and outputs within an embedded system

    • clipboard
2. Computing inputs and outputs
  1. 3.12

    measure and store data returned from an analogue input

    • clipboard
3. Computer systems
  1. 3.13

    develop a program that utilises digital and analogue inputs

    • clipboard
4. Design process
  1. 3.14

    design automated applications using embedded systems

    • clipboard