|
|
Project: Developing Tactile Graphics for Blind Students
in Computer Science
Student Researchers: Beth Bell, Tomoko Maruyama, Rachel Novak
Advisor: Joan M. Francioni, Mingrui Zhang
Institution: Winona State University
Introduction
The study of computer science is a challenging endeavor for all, but the
learning process poses additional obstacles for students with visual
disabilities. For example, graphs and diagrams used to help sighted
students are not useful to visually impaired students unless they are
represented in some alternative manner, using assistive technology. The
research project conducted involved working with three first-year computer
science students who have visual disabilities. The goals of the CREW
project are to make the computer science major more accessible to people
with impaired sight, to find tactical and other alternative ways of
representing diagrams and data to sight impaired computer scientists,
and to
find out how sight impaired students "see" the diagrams and
understand them.
Early on, it was confirmed that tactical diagrams help students with visual
disabilities learn computer science concepts just as visual versions help
sighted students. Also, it was discovered that the non-sighted versions
did
not have to be modified very much to be extremely useful. Keeping these
ideas in mind, a variety of experiments were designed to gather information
that would help reach the goal of making computer topics, in particular
computer science curriculum, more accessible to blind students.
Technology
To implement the experiments, a Tiger embosser from ViewPlus Technologies
was used to produce Braille printouts of Microsoft Word documents.
Alphabetical and numerical Braille representations were printed, along
with
tactical graphs and diagrams. This use of assistive technology enabled
non-visual representations of text and graphics to be produced.
Computer Science Topics Considered
For our research experiments, we considered the topics that are
traditionally taught in the computer science curriculum. The main concern
was the use of diagrams to help students understand many computer science
topics. These topics can be very difficult to learn without the use of
diagrams. So, we chose three specific topics: flow chart, parameter
passing, and scope of variables. These are basic and important topics
for
analyzing or understanding a programming code.
When we try to grasp the control flow in the program, we often use flow
charts. Most of the programs have many decision-making statements, and
these
are often nested and complicated. In Java programming, there are several
control statements such as if statements, switch statements, while loops,
do-while loops, or for loops. These are often represented by flow charts
showing the control flow of those selections or repetitions, and these
are
quite helpful for sighted students to understand the control flow by giving
them the whole picture. However, blind students figure out the parts of
the
diagrams first, so we must figure out if they can clearly understand those
flows. In our research, we picked up three common statements: if-then
and
if-else statements, while loops, and for loops.
For beginners of programming, one of the most difficult parts to understand
without diagrams is parameter passing. Generally in the Java programming,
we
use some separated classes and methods, and some variables or objects
are
often used in more than one method using the technique of parameter passing.
Sometimes these variables or objects seem to be passed from one method
to
another as parameters, but actually not. In Java programming, parameters
are
always passed by value, not exact variables or objects, which means original
values do not change even if the passed values have changed. It causes
much
confusion for beginners. In our research, we picked up some situations
of
parameter passing of variables and drew diagrams of each step of the memory
state.
Related to the parameter passing as mentioned above, we often have to
handle the scope of variables. In Java programming, variables can be
declared either outside or inside of methods. The variables declared outside
of the methods are called global variables, and those declared inside
of the
methods are called local variables. Those are sometimes declared with
the
same name, and it might cause confusion. In our research, we considered
three different situations of the scope in the parameter passing example:
the variables' names (actually the parameters' names) are different from
those in the main method, the same names of the variables passed from
the
main are also used for parameters' but in reverse order, and the local
variables with the same name as the variables in the main are declared
in
the other method.
Experiments
In the definition of research, experiments need to be performed to find
a
solution to the problem at hand. In our research we performed two
significant experiments. The first experiment consisted of creating
diagrams to represent flow charts. As mentioned above, tactile flow charts
of if-then and if-else statements, while loops, and for loops were created.
Certain guidelines were followed in creating the diagrams. Spacing between
text and lines was monitored in order to minimize confusion between letters
and the actual lines. Another guideline was making sure arrows, used to
show the direction of the flow of data, were big enough and distinct enough
for the blind students to feel and understand. In using the word distinct
we mean a judgment in tactile difference, not a visual difference. This
will be explained further with the results of the experiments. Besides
these few guidelines, the tactile diagrams were generally the same as
those
used in a textbook, by the request of the students to stay with the
convention used by the authors. The diagrams were then given to the
students to help them learn about the control flow of the various
statements. The students gave feedback, and suggestions were taken for
further experiments.
The second experiment consisted of making parameter passing more
understandable to sight impaired students. This experiment also involved
making tactile diagrams for the blind students. These diagrams however
were
different from the flowcharts. We discussed and agreed upon a template
for
each parameter-passing situation. The template consisted of the following:
a block of code, numbered, to be executed in order, line-by-line; a show
of
control flow from one line to the next including passing control to a
method; and a run through of the code and how data members and objects
appear or disappear with each execution of a line. The execution of a
line
was shown by placing a dot next to the line number that was assigned to
that
certain line of code shown at the top. Diagrams were "drawn"
to show what
objects and variables appeared and disappeared at the execution of that
certain line of code. For the next line of code, the diagrams from the
previous line were repeated if that variable or object had not disappeared
with the execution of that line. After the diagrams were given to the
blind
students, the professor reported they helped tremendously with their
understanding of parameters.
Results
The results of the first experiment were very basic. The major concern
of
the students was to make the diagrams in the most similar way as possible
to
those used for sighted students. It was confirmed early on that the
diagrams helped the blind students just as they help sighted students.
Blind students process things sequentially because they cannot see the
big
picture up front that sighted students get to see. This fact helped with
the planning for the second experiment.
The second experiment went smoothly because of the information gathered
from the first experiment. The sequential pattern helped the blind students
understand the diagrams even better than the experiment with the flow
charts. The most important result found from the two experiments combined
is finding the judgment for tactile differences versus visual differences
in
a diagram. First, take the symbols and . Sighted people see these symbols
as a whole and they look very similar. The symbols look so similar that
we
thought the blind students would have difficulty distinguishing between
them. The key word in the last sentence was 'look.' We see them as
individual symbols that we can distinguish from the rounded edge of the
subset symbol. On the other hand, blind students feel the symbols and
because of their size, 'see' them as a whole. Because of this, they can
distinguish between the two symbols.
Now take a flow chart as another example. For a while loop, a diamond
is
used for the conditional statement and lines are drawn out from it to
show
the flow of data. We see a flow chart diagram as a whole because we see
the
big picture. Blind students do not have this luxury and the diagram is
made
up of individual parts. Because the diagram is felt, each individual part
needs to be just that: individual, and independent from every other part
of
the diagram. For this reason, each line coming out of the diamond
conditional statement of the flow chart diagram was separated from the
diamond itself. This allows the blind student to figure out where the
diamond ends and the line begins, and thus furthers the understanding
of the
diagram.
Conclusion
In conclusion, the experiments were a success, and provided valid
information for the future. In making diagrams for blind students, always
follow the convention when possible. Separate the different parts of the
diagrams to keep individual parts independent of each other. Shorten the
text used with the diagram as much as possible without losing the meaning
or
abbreviating. Make sure there is adequate spacing between text and other
parts of the diagram. And finally, always keep in mind that it ultimately
does not matter what it looks like, as long as the feeling of it is correct.
Overall, this is a good start to upcoming experiments. The amount of
information gathered from just two experiments was substantial and has
laid
a firm foundation for those to come.
|