Assessment Item J1 – Modeling and Design – CS381

advertisement
Assessment Item J1 – Modeling and Design – CS381
Skill being assessed: Given a language recognition problem and a computational
model, can you design a solution to the problem using the given model?
Program outcome to which this skill is mapped: (j) An ability to apply
mathematical foundations, algorithmic principles, and computer science theory in
the modeling and design of computer-based systems in a way that demonstrates
comprehension of the tradeoffs involved in design choices.
Performance Assessment Abstract: Given one (or several similar) language
recognition problem(s), design and implement a solution to this problem using a
variety of computational models.
If the given language is regular, possible models include: deterministic finite-state
machines, non-deterministic finite-state machines, regular expressions, regular
grammars, etc.
If the given language is context-free, possible models include: deterministic
pushdown automata, non-deterministic pushdown automata, context-free
grammars, etc.
If the given language is recursively enumerable, possible models include: any of the
variations of Turing machines (deterministic, non-deterministic, one or more tapes,
semi-infinite or two-way infinite tapes, building blocks allowed or not, etc.),
pushdown automata with 2 or more stacks, Post machines, context-sensitive or
Type 0 grammars, etc.
By correctly solving the same or related problems with different computational
models, students will demonstrate in a practical way their level of understanding of
some of the tradeoffs that exist among ease of programming, size and complexity of
the solution, and efficiency of the solution. These tradeoffs will depend on the
selection of a data structure (e.g., stack versus queue), the access method (e.g.,
sequential versus random access).
Rubric for Evaluation
Criteria
Design using the
first model
Exemplary
The design
identifies every
important step
and the
implementation
is completely
correct with no
redundant
components.
Design using the
second model
The design
identifies every
important step
and the
implementation
is completely
correct with no
redundant
components.
Design using the
third model
The design
identifies every
important step
and the
implementation
is completely
correct with no
redundant
components.
Satisfactory
The design might
miss one
important step
or lack some
details, or the
implementation
might contain a
small number of
redundant
components, but
taken together,
they convey a
correct solution.
The design might
miss one
important step
or lack some
details, or the
implementation
might contain a
small number of
redundant
components, but
taken together,
they convey a
correct solution.
The design might
miss one
important step
or lack some
details, or the
implementation
might contain a
small number of
redundant
components, but
taken together,
they convey a
correct solution.
Marginal
The solution is
mostly correct but
it misclassifies or
crashes on a small
number of strings
(e.g., the empty
string) or the
description of the
design is too
vague or succinct.
Deficient
The solution
misclassifies or
crashes on a large
number of strings
or it implements
the wrong
algorithm
altogether.
The solution is
mostly correct but
it misclassifies or
crashes on a small
number of strings
(e.g., the empty
string) or the
description of the
design is too
vague or succinct.
The solution
misclassifies or
crashes on a large
number of strings
or it implements
the wrong
algorithm
altogether.
The solution is
mostly correct but
it misclassifies or
crashes on a small
number of strings
(e.g., the empty
string) or the
description of the
design is too
vague or succinct.
The solution
misclassifies or
crashes on a large
number of strings
or it implements
the wrong
algorithm
altogether.
Download