91636 Sample Specific Assessment Guide

advertisement
Level 3 Digital Technologies 91636 (3.44)
Specific Assessment Guides
Complexity and Tractability: 1–4
Formal Languages: 5–8
Graphics and Visual Computing: 9–12
Intelligent Systems: 13–16
Network Communication Protocols: 17–20
Software Engineering: 21–24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Complexity and Tractability) — page 1 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Complexity and Tractability)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relate to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on
complexity and tractability. They will help you to produce a report that demonstrates the understanding
expected in this assessment. The prompts also define the levels of description, explanation, and
discussion that are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Complexity and Tractability) — page 2 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to investigate TSP (see activity 6 below) you could generate information
related to several parts of the report.
1. Evaluate how much time is needed to solve the TSP, and evaluate approximate solutions (such as
nearest neighbour first).
2. Investigate the graph colouring problem; a sample plan for this is at Computing Inside's Graph
Colouring Activity, as well as the CS Unplugged's map colouring activity. It can be done online at
http://gwydir.demon.co.uk/jo/games/puzzles/map.htm.
3. Investigate the (intractable) Travelling Rock Band problem.
4. Investigate the knapsack problem, and evaluate approximate solutions (such as decreasing order).
5. Investigate the bin-packing problem, and evaluate approximate solutions (such as the first-fit
algorithm).
6. Investigate the progress researchers have made over the years finding improvements to algorithms
for solving a particular problem (eg TSP, primality testing).
7. Compare different algorithms with a variety of complexities for the same problem, particularly for
large values of $n$, considering issues like how well they scale and how much memory they use.
8. Compare the speed of ‘bogosort’ (an exponential time algorithm) with a conventional sorting
algorithm (such as ‘quicksort’).
9. Estimate the work involved for a computer to evaluate all possible timetabling options for your
school.
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Complexity and Tractability) — page 3 of 24
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Key concepts likely to be encountered are: complexity, exponential time complexity, polynomial time
complexity, tractability, asymptotic complexity, big O notation, P and NP, and NP-complete problems.
Algorithms: there are many hundreds of algorithms that illustrate these issues; suitable intractable
problems include the travelling salesperson problem (TSP), Hamiltonian path, graph colouring, vertex
cover, Sudoku, and longest path; contrasting tractable problems include the Eulerian path, minimal
spanning tree, and shortest path. Standard sorting or searching algorithms are excellent for exploring the
concept of complexity; bogosort and bozosort can be explored as (artificial) examples of intractable
algorithms.
Techniques: empirical evaluation, analysis, brute force algorithm, heuristic algorithms.
Applications: these include route planning, timetabling, optimisation, games, and encryption.
Complexity and tractability is about the relationship between problems and their algorithms, and the
idea that some common problems do not have tractable solutions. This falls in the area of computational
complexity theory. The focus is on the inherent complexity of a problem, that is, the time needed to solve
a problem, and the best known algorithms for the problem. This area includes what is widely regarded as
the largest unsolved problem in computer science: the question of whether P = NP (the details of this
issue are beyond high school level, but the explorations that can be performed at high school level will
give an understanding of why this is such a significant problem). The demonstration of understanding in
this area can be done by describing problems with known inherent complexities (both tractable and
intractable) and those for which the complexity is an open question; by illustrating the issues surrounding
intractable (exponential time) algorithms; by exploring the limits on what can be done with ‘intractable’
problems (such as the various records that have been set for solving the TSP); by comparing heuristic
solutions that give sub-optimal solutions; and by exploring the quest to find reasonable time algorithms
for those that currently only have exponential time solutions, including recent discoveries about open
questions in this area.
Further information
Useful links:








http://en.wikipedia.org/wiki/Computational_complexity_theory
http://www.tsp.gatech.edu/games/index.html
http://csunplugged.org/graph-colouring
http://en.wikipedia.org/wiki/Travelling_salesman_problem
http://en.wikipedia.org/wiki/Knapsack_problem
http://en.wikipedia.org/wiki/Bin_packing_problem
http://en.wikipedia.org/wiki/Hamiltonian_path
http://en.wikipedia.org/wiki/Brute-force_search
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Complexity and Tractability) — page 4 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Formal Languages) — page 5 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Formal Languages)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relate to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on formal
languages. They will help you to produce a report that demonstrates the understanding expected in this
assessment. The prompts also define the levels of description, explanation, and discussion that are
discussion that are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Formal Languages) — page 6 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to show how a sample program could be parsed using a grammar you
could generate information related to several parts of the report.
1. Demonstrate how compilers, interpreters, parsers, or validators find errors in formal languages, eg
introduce an error to a compiled program, XML document file, or web page, and show the effect of
the error.
2. Explore regular expressions for pattern matching using a system such as the ‘Regex dictionary’ at
http://www.visca.com/regexdict/, the Microsoft Word Find command with wildcards, regular
expressions available in a language such as Java (java.util.regex), JavaScript (RegExp), or Python
(‘re’ module), or the ‘grep’ program, to find words in an English dictionary that match a pattern.
3. Find a grammar for a simple arithmetic expression in a programming language, and show the parse
tree for sample expressions (such as (a+b)*(c-d)).
4. Make up a few simple Regular expressions (such as ab*a), create a (non-deterministic) finite state
automaton for each one using a tool like JFLAP, and show the operation of the automaton for sample
strings (aa, aba, abba, etc in the case of the example).
5. Write regular expressions to find patterns in documents, such as a URL, email address, date, or
time.
6. Find a grammar for a programming language, and show how a sample program would be parsed
using the grammar.
7. Explore the grammar for balanced parentheses S  SS, S  (S), S  ( ).
8. Explore using a tool such as Lex, Yacc, Flex, or Bison to parse a simple language.
9. Generate art using the ‘context free art’ system (http://www.contextfreeart.org/).
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Formal Languages) — page 7 of 24
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Key concepts that are likely to be encountered are: string, grammar, parsing, parse tree, syntax,
syntactically correct, regular expression, finite state automaton, lexical analysis, and Chomsky hierarchy.
Algorithms: algorithms associated with formal languages are beyond the scope of this level, although
using ad-hoc solutions such as drawing a parse tree will be appropriate.
Techniques: syntax diagrams, grammars, parse trees, finite state automata (both representing and
executing), regular expressions, pattern matching.
Applications: compilers, interpreters, text processing, language specification, HTML viewer.
Formal languages is about how to specify programming, markup, and other languages for computing,
and systems that can parse and process programs or documents written in such languages. They are
specified by formal representations such as syntax diagrams (‘railroad diagrams’), grammars, regular
expressions, and finite state machines. The language could be a conventional programming language
(such as Java, Python, C, or Basic), another formal language with a strict syntax (such as XML, HTML,
or SQL), or the focus could be on regular expressions and lexical analysis (such as detecting a wellformed identifier or number in a programming language, or a string matching a given pattern). Most
programming languages have very large formal definitions, and it would be sufficient to demonstrate
understanding using a part of a language, such as expressions in a programming language, or a small
selection of different kinds of tags in HTML. The demonstration would typically be done by using
examples to show the parse tree (or syntax tree) for a correct and incorrect program fragment, or to
show a sequence of grammar productions to construct a correct program fragment, or to show strings
generated by a simple regular expression and accepted by a finite state machine that corresponds to it.
Further information
Useful links:









http://en.wikipedia.org/wiki/Formal_language
http://en.wikipedia.org/wiki/Context-free_grammar#Examples
http://en.wikipedia.org/wiki/Abstract_syntax_tree
http://en.wikipedia.org/wiki/Regular_expression
http://www.netcraftsmen.net/presos/Regex_Practice/player.html
http://csunplugged.org/finite-state-automata
http://word.mvps.org/FAQs/General/UsingWildcards.htm
http://www.i-programmer.info/babbages-bag/223-finite-state-machines.html
http://www.jflap.org/
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Formal Languages) — page 8 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Graphics and Visual Computing) — page 9 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Graphics and Visual Computing)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relate to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on
graphics and visual computing. They will help you to produce a report that demonstrates the
understanding expected in this assessment. The prompts also define the levels of description,
explanation, and discussion that are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Graphics and Visual Computing) — page 10 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to Show how lines and circles are drawn using Bresenham’s algorithm
(see activity 1 below) you could generate information related to several parts of the report.
10. Show how lines and circles are drawn using Bresenham’s algorithm (see the ‘Drawing lines with
pixels’ activity at http://csunplugged.org).
11. Define and render a scene using provided ray-tracing software, eg POV-Ray
(http://library.thinkquest.org/3285/).
12. Evaluate the robustness of bar code or QR code reading software with different levels of distortion in
the image.
13. Evaluate the effectiveness of facial recognition in free software such as Google’s Picasa.
14. Evaluate the Canny edge detection algorithm on your own images using the online processor at
http://matlabserver.cs.rug.nl/.
15. Give examples of simple template matching on characters in a scanned document.
16. Evaluate the effectiveness of software for image stitching.
17. Perform scene modelling using images (image-based rendering, used in arcade games).
18. Explore modelling surfaces using splines, surfaces of revolution, and simple methods to generate
terrain models.
19. Explore computational geometry methods (such as convex hulls and closest pair of points).
20. Explore 3D volume visualisation (generating a 3D view from slices), such as in MRI and HRCT.
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Graphics and Visual Computing) — page 11 of 24
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Algorithms: Bresenham’s algorithm (line and circle drawing), colour space conversion, line anti-aliasing,
Bézier and B-spline curves, painter’s algorithm, Z-buffer, sharpening filter, edge detection (Canny,
Sobel), template matching, morphological functions.
Techniques: ray tracing, texture mapping, shading, anti-aliasing, volume rendering, polygonisation,
constructive solid geometry, 3D modelling, hidden object removal, face recognition, object recognition.
Applications: drawing software, animation, image enhancement, barcode readers, face recognition,
image stitching, collision avoidance, biometric authentication, surveillance, optical character recognition,
medical imaging.
Graphics and visual computing is about using computers to create images and animations based on a
description of a scene or collected data (computer graphics and visualisation), and the reverse process
of processing images and recognising elements in an image (computer vision). Often the term ‘visual
computing’ encompasses computer graphics, so the term ‘graphics’ isn’t strictly required in the name of
this area; also note that in this context it does not refer to the use of ‘visual programming languages’ or
‘visual programming environments’ eg Visual Studio. The creation of images could be as simple as a 2D
drawing program, or as advanced as 3D systems for entertainment or to help visualise a data set.
Computer vision is used to capture information from the real world or to recognise situations such as a
potential vehicle collision. These topics can be explored by evaluating the effectiveness of existing
software for these purposes, and exploring algorithms and techniques for rendering images and
recognising the contents of an image. This topic is distinct from the standards that explore the use of
multimedia software as it explores the details of how that software works.
Further information
Useful links:








http://en.wikipedia.org/wiki/Computer_graphics
http://en.wikipedia.org/wiki/Computer_vision
http://en.wikipedia.org/wiki/Bresenham’s_line_algorithm
http://en.wikipedia.org/wiki/Ray_trace
http://en.wikipedia.org/wiki/Mri
http://www.cosc.canterbury.ac.nz/mukundan/cogr/applcogr.html
http://www.cosc.canterbury.ac.nz/mukundan/covn/applcovn.html
http://www.povray.org/resources/links/3D_Tutorials/POV-Ray_Tutorials/
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Graphics and Visual Computing) — page 12 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Intelligent Systems) — page 13 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Intelligent Systems)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relate to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on
intelligent systems. They will help you to produce a report that demonstrates the understanding expected
in this assessment. The prompts also define the levels of description, explanation, and discussion that
are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Intelligent Systems) — page 14 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to Investigate the problem of developing a self-driving car (see activity 7
below) you could generate information related to several parts of the report.
1. Explore algorithms for playing simple board games such as noughts and crosses or checkers.
2. Develop a decision tree for a diagnosis or advice system.
3. Evaluate an online chatbot.
4. Explore an online automatic translation system, such as Google’s statistical translator.
5. Do the CS Inside predictive text learning exercise (http://csi.dcs.gla.ac.uk/workshopview.php?workshopID=7).
6. Collect statistical data and use a simple machine learning system to find patterns in it.
7. Investigate the problem of developing a self-driving car
(http://www.nsf.gov/cise/csbytes/newsletter/vol1i3.html).
8. Investigate how an AI system could win the Jeopardy game
(http://www.nsf.gov/cise/csbytes/newsletter/vol1i10.html).
9. Experiment with an artificial life simulator.
10. Experiment with training a simple artificial neural net.
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Key concepts that are likely to be encountered are: Artificial Intelligence (AI), Turing test, strong AI and
weak AI, machine learning, natural language processing, chatbot, singularity, commonsense knowledge,
machine perception (vision, speech recognition), and biologically inspired algorithms.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Intelligent Systems) — page 15 of 24
Algorithms: search (eg best first search), game-tree (min-max) search, probability based mechanisms,
decision trees, pattern matching, agglomerative clustering.
Techniques: logic, knowledge representation, search, heuristics, machine learning, artificial neural
networks, genetic algorithms, probability, Bayesian probability, fuzzy logic, intelligent agents, artificial
life.
Applications: games, classification, expert systems, natural language processing, machine translation,
data mining, information retrieval, image processing, computer vision, robotics, software agents (eg
chatbots).
Intelligent systems are systems that exhibit aspects of human intelligence in their interaction with their
users or environment. Engineering such systems and the study of theoretical and practical issues
surrounding them is the subject of the field of artificial intelligence (AI). AI is primarily a branch of
computer science but it has borrowed a lot of concepts and ideas from other fields, especially
mathematics (particularly logic, combinatorics, statistics, probability, and optimisation theory), biology,
psychology, neuroscience, and philosophy. This area can be explored by experimenting with existing AI
systems, such as online chatbots, decision systems, machine learning systems, search engines,
machine translation, spam detectors, video game bots, and object recognition (eg face detection)
systems. There is a lot of opportunity for exploring predictions and ethical debates regarding intelligent
systems such as the concept of the singularity, Moravec’s Paradox, Searle’s Chinese Room, and the
value of the Turing test; these have some bearing on the concepts in this standard, but could be
explored as part of a separate generic standard relating to ethics or the effect of technology on society.
Further information
Useful links:








http://en.wikipedia.org/wiki/Outline_of_artificial_intelligence
http://en.wikipedia.org/wiki/Turing_test
http://en.wikipedia.org/wiki/Machine_learning
http://www.cs4fn.org/ai/meetthechatterbots.php
http://www.alicebot.org/
http://spectrum.ieee.org/robotics/artificial-intelligence
http://www.ted.com/conversations/topics/artificial+intelligence
http://www.cs4fn.org/ai/illusionintelligence.php
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Intelligent Systems) — page 16 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Network Communication Protocols) — page 17 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Network Communication Protocols)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relate to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on
network communication protocols. The prompts will help you to produce a report that demonstrates the
understanding expected in this assessment. The prompts also define the levels of description,
explanation, and discussion that are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Network Communication Protocols) — page 18 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to Use tools like traceroute to evaluate the time taken and number of
hops required for packets to be transmitted through the internet (see activity 1 below) you could
generate information related to several parts of the report.
21. Use tools like traceroute to evaluate the time taken and number of hops required for packets to be
transmitted through the internet.
22. Using packet analyser software (eg wireshark), trace the sequence of exchanges that occur for a
protocol such as DNS, UDP, or HTTP using an example on your own system.
23. Participate in and document the ‘tablets of stone’ activity (http://csi.dcs.gla.ac.uk/workshopview.php?workshopID=4).
24. Explain how HTTP provides the foundation of the world wide web, how IP solves the problem of
individually addressing the thousands of computers that comprise the internet, and / or how DNS
makes the internet friendly for human users.
25. Use tools to show how encryption algorithms and security protocols can provide confidentiality,
integrity, and availability of information exchanged between parties.
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Key concepts likely to be encountered are: addressing, reliability, security, failure, packet loss, humanreadable addresses, quality of service, network performance, cyber attacks, and routing.
Algorithms: (techniques are more relevant to this area than algorithms)
Techniques: packet switching, handshaking, acknowledgement, authentication, checksums, wireless
and wired security.
Applications: many real protocols (eg TCP/IP) could rapidly become overwhelming at this level.
Protocols that students could investigate that are less complex are DNS, UDP, HTTP (get and post), the
addressing part of IP, SMTP and CDMA, and internet security protocols such as SSL, IPSec, and PGP.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Network Communication Protocols) — page 19 of 24
Network communication protocols focus on the techniques applied in computer networks to ensure
reliable communication of data between two parts of a network in the face of different kinds of threats
and failures. The project would typically be done by giving examples of the sequence of events that
occur in these situations, discussing how the protocols and their coding schemes overcome the
problems, and evaluating how successful they are at addressing them. This topic is distinct from the
coverage of networking in the infrastructure standards because it focuses on the issues that the
protocols address (ie the design of the protocol), rather than how to configure a system that uses a given
protocol.
Further information
Useful links:

http://en.wikipedia.org/wiki/Network_protocol

http://www.w3schools.com/tcpip/

http://computer.howstuffworks.com/internet/basics

http://csi.dcs.gla.ac.uk/workshop-view.php?workshopID=4

http://www.cbtnuggets.com/ (Cisco CCENT ICND1 640-822 series – free preview but fee for full
access)

http://en.wikipedia.org/wiki/Cryptographic_protocol

http://www.povray.org/resources/links/3D_Tutorials/POV-Ray_Tutorials/
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Network Communication Protocols) — page 20 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Software Engineering) — page 21 of 24
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide
(Software Engineering)
Title
Demonstrate understanding of areas of computer science
Credits
4
Teacher introduction
Technology assessment guides have been produced to help teachers develop their own specific
assessment guides. Examples of specific assessment guides, developed from the common assessment
guide for each standard, have been produced as part of the external assessment resources for level 3
Technology.
The specific assessment guides also show a variety of ways (ie case study, research, practice) to
produce external assessment material. The material in the candidate exemplars for each standard
reflects the content and context of the specific assessment guides.
Teachers can adapt a common assessment guide and /or a specific assessment guide to suit the
specific context of their course of teaching.
Candidate introduction
You will produce a report that demonstrates understanding of areas of computer science. To complete
the report you will need to report on at least two of the Areas of Computer Science from explanatory note
3 in the standard.
This specific assessment guide is one of six. Each one of the specific assessment guides relates to one
of the six Areas of Computer Science.
Candidate guidance for producing the report
There are some prompts and activities below that will assist you to write the part of your report on
software engineering. They will help you to produce a report that demonstrates the understanding
expected in this assessment. The prompts also define the levels of description, explanation, and
discussion that are expected at each grade.
To demonstrate understanding of areas of computer science at the Achieved level you will need to:


describe key problems that are addressed in selected areas of computer science
describe examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas.
To demonstrate in-depth understanding of areas of computer science at the Merit level you will need to:


explain how key algorithms or techniques are applied in selected areas
explain examples of practical applications of selected areas to demonstrate the use of key algorithms
and/or techniques from these areas.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Software Engineering) — page 22 of 24
To demonstrate comprehensive understanding of areas of computer science at the Excellence level you
will need to:


discuss examples of practical applications of selected areas to demonstrate the use of key
algorithms and/or techniques from these areas
evaluate the effectiveness of algorithms, techniques, or applications from selected areas.
Possible Activities
The activities below are activities which generate specific content that you can use to develop your
report. For example, if you were to Review what went wrong in a software disaster (see activity 3 below)
you could generate information related to several parts of the report.
1. Interview practicing software engineer(s) about the techniques they use and the problems they
encounter in their job, contrasting a plan-driven methodology with an agile methodology.
2. Play the SimSE game (http://www.ics.uci.edu/~emilyo/SimSE/) using the waterfall and Extreme
Programming approaches, and report on what happened during the experience, contrasting the two
approaches.
3. Review what went wrong in a software disaster.
4. Report on the viability of a career in software engineering (eg demand for software engineers).
5. Report on an experience doing a team activity that highlights the importance of communication and
planning in a team working to create a product within constraints (eg building a house of cards or
completing the 48-hour film competition), carefully following the role of each person, how they knew
what to do, how effective the allocation of work was, and whether the desired outcome was
achieved.
Essential documents
The achievement standard governing this specific assessment guide can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/specifications/2013/level3/91636-spc-2013.pdf
The assessment specifications for the Digital Technologies achievement standard can be found at
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2013/as91636.pdf
Definitions
The following are concepts, algorithms, techniques, applications, and problems that students at level 3
are likely to be able to work with; it is not a list of all the key ideas in the area.
Key concepts likely to be encountered are: plan-driven development, agile development, test-driven
development, waterfall model, scrum, customer requirements, open source, object-oriented design,
Brooks’s law, software crisis, software metrics, interpersonal communication, working environments, and
outsourcing.
Algorithms: (techniques are more relevant to this area than algorithms)
Techniques: plan-driven development, agile development, test-driven development, scrum.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Software Engineering) — page 23 of 24
Applications: any large software project is an application of this topic. There is much information
available publicly about large software projects (including some significant disasters), or students could
interview someone involved in a current large project.
Software engineering is about systematic approaches applied to large software projects, typically with
many team members and large amounts of program code, so that the products behave reliably and
efficiently, are affordable to develop and maintain, and satisfy customer requirements. This area can be
explored by learning about common software engineering methodologies (including examples of ‘plandriven’ and ‘agile’ approaches) and the different roles and skills required in a software engineering
project, particularly analysis, development, testing, and maintenance. Understanding can be
demonstrated by doing case studies of software projects through interviews with software engineers,
researching reports about successful and unsuccessful projects, running a simulation of a software
engineering project, or reflecting on teamwork experiences that simulate the issues that arise in software
engineering. The report should discuss the main issues and compare different approaches in the context
of commercial projects that involve multiple team members. This topic is distinct from the programming
standards because it explores large systems developed by teams of people; participating in such a
project is way beyond the scope of Level 3 work, and the expectation is that students will review
commercial or simulated projects, rather than run one themselves.
Further information
Useful links:





http://en.wikipedia.org/wiki/Software_engineering
http://en.wikipedia.org/wiki/Agile_software_development
http://spectrum.ieee.org/computing/software/why-software-fails
http://www.cs4fn.org/fundamentals/softwareeng.php
http://www.teachict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/slc_stages/home_slc.html
Further information can be found at http://www.techlink.org.nz.
Exemplars
Please read the exemplars. You can model your work on these exemplars but you may not copy the
material from the exemplars. Your report must be the product of your own efforts.
Level 3 Digital Technologies 91636 (3.44) Specific Assessment Guide (Software Engineering) — page 24 of 24
Schedule
Assessment Schedule
AS Digital Technologies 91636 (3.44)
Demonstrate understanding of areas of computer science
Final grades will be decided using professional judgement based on a holistic examination of the evidence
provided against the criteria.
Issues from the Specifications
Authentic candidate submissions will be recognisable because of specific contexts associated with the work.
This does not imply that submissions will arise only from the candidate’s practice. However, where the
candidate’s practice does not provide the immediate source of a specific context, one would expect to see that
several sources of information relating to materials had been applied within a specific context. In both cases, the
marker will be able to detect the candidate’s voice. In situations where information does not have some aspect of
student voice, it is difficult to establish whether the candidate has actually demonstrated understanding or simply
identified information.
Candidates who have simply identified information by reproducing information from sources without making use
of that information have not demonstrated understanding.
Where a candidate has provided a brief answer, the answer should not be penalised because of length.
Candidate work in excess of 14 pages should not be marked.
Where work is illegible, it cannot be marked.
Digital submissions that cannot be read cannot be marked.
Achievement
Achievement with Merit
Achievement with Excellence
Demonstrating understanding of
areas of computer science involves:
Demonstrating in-depth
understanding of areas of computer
science involves:
Demonstrating comprehensive
understanding of areas of computer
science involves:




describing key problems that
are addressed in selected
areas of computer science
describing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from the.se
areas.

explaining how key algorithms
or techniques are applied in
selected areas
explaining examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas.

discussing examples of
practical applications of
selected areas to demonstrate
the use of key algorithms
and/or techniques from these
areas
evaluating the effectiveness of
algorithms, techniques, or
applications from selected
areas.
Download