Information Technology Reference
In-Depth Information
• In general, questions can be divided into two types: Pure algorithmic tasks
and story-based algorithmic tasks; this perspective is discussed explicitly in
Sect. 9.4.1 “Story questions.”
• The types of questions presented in this section are mainly programming assign-
ments; most of them, however, can be easily assimilated for other CS contents.
9.2.1
Type1. Development of a Solution
Description : A development question presents an open problem in which learners
are required to develop their solution to a given problem. The solution can be ex-
pressed by a descriptive algorithm, pseudo-code or a program in a specific program-
ming language.
Example : Write a method that returns the number of (integer) divisors for a given
integer n .
Variations : A development question can ask for, for example: (a) a single method
(as the presented example); (b) a sequence of tasks to be performed; (c) a complete
program; or (d) a method with a specific efficiency (in the example presented it can
be O ( n ).
Discussion : This type of questions can be solved in different ways. In some cas-
es, the differences are not meaningful; in other cases, the different solutions repre-
sent different algorithmic approaches.
Variation (d) is not a fully open question since learners are asked to address a
specific constraint—specific efficiency, and cannot develop any solution for the
problem; therefore, this variation requires wider range of considerations than the
other ones and is considered a harder question than the other variations.
9.2.2
Type2. Development a Solution That Uses a Given Module
Description : In this case, the development question relates to a pre-prepared module
and asks learners to present a solution to a given problem while considering and us-
ing a given module. A documentation of the module is included in the question and
the student must use it in their solution.
Example : Write a method that returns an integer number between 1− n that has
the largest number of divisors for a given integer n . Use the method numberOfDi-
viders (  n ), that returns the number of divisors for a given integer n .
Variations : A development question that relates to a given module can be pre-
sented, among other ways, in one of the following forms: (a) write an instruction
that invokes a given method; (b) write a method that uses a given method (as in the
given example); (c) write a method that uses a given module a specified number of
times; (d) write a method that uses several different given methods; (e) questions
in which the given module is not a method, but rather it is, for example, a specified
data structure or a specified class.
Search WWH ::




Custom Search