We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

User experiences in working with computation programs at university

00:00

Formal Metadata

Title
User experiences in working with computation programs at university
Alternative Title
Experiences in using computation programs: Mathematica and Matlab
Title of Series
Part Number
13
Number of Parts
19
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Computation programs (e.g., MatLab, Mathematica, Maple, etc.) are widely used in university scientific courses. The major access barriers for blind and partially sighted users concern speech and tactile interaction with the front end. This presentation at first introduces some of the most effective techniques which can be employed by a blind or partially sighted user to access some widely used computation programs. Moreover, a prototype accessible front-end for Mathematica software is presented.
DiagramGraph (mathematics)Function (mathematics)Positional notationMatrix (mathematics)Derivation (linguistics)Arithmetic meanContent (media)Structural loadMereologyMoment (mathematics)MultiplicationResultantTable (information)Stochastic kernel estimationGoodness of fitGenerating set of a groupOperator (mathematics)Normal (geometry)Scheduling (computing)Connectivity (graph theory)RootPresentation of a groupExterior algebraSummierbarkeitPoint (geometry)CuboidCartesian coordinate systemStudent's t-testExpressionOctaveDifferent (Kate Ryan album)Mathematical analysisMaß <Mathematik>MathematicsGame theoryModel theorySeries (mathematics)Sheaf (mathematics)Grothendieck topologyUniverse (mathematics)Thermal expansionWater vaporVotingArithmetic progressionSpring (hydrology)Many-sorted logicObservational studyDirection (geometry)Process (computing)Lattice (order)CollisionEvent horizonImage resolutionMultiplication signRule of inferenceStandard deviationBounded variationRight angle1 (number)Computer animation
Transcript: English(auto-generated)
Okay, good afternoon everybody, I am Saulo Giselletti and I am a student of computer science. At the moment I am collaborating with the human technology lab. And with this presentation I want to show you my experiences in using computation programs.
Computation programs are really useful and widely used in computer science courses. And the most well-known computation programs are Mathematica, Maple, Matlab, Sheila and Octave.
The most important things we will give the basic architecture of a computation program. The basics of the computation program is a kernel.
The kernel is the part that processes the expressions. A frontend, which enables the user to interact, to manipulate, to edit all the expressions and send it to the kernel to be calculated. A protocol, most of these applications are protocols that are used to communicate with an external application.
For example, we want to develop a program that has a path that needs to calculate to compute functions or other expressions. We can develop the application and let it interact with the computation program.
In using this kind of programs, we have some issues, some accessibility issues. The most challenging accessibility issue concerns the user interaction with the frontend, the frontend component.
In particular, non-scheduled and compliant controls, it means that most of these applications as a frontend develop with controls that are not standard and so they are not recognized correctly from the scheduler.
It creates problems, it gives problems to the user and it doesn't allow the user to understand correctly the application and interact correctly with it.
Another particular issue is the charge respect that is used to the program to represent the mathematical notation. For example, it uses a code that is completely graphic and it is generated with pictures.
Surely, with the scheduler, we cannot read, we cannot read. Another issue is the interaction paradigm. It means that if the output is a graphical output or is a textual output, we have different interaction paradigm.
For example, in editing and manipulating expressions. But we want to try to give some solutions for this kind of issues and these are different approaches with this kind of problems.
The first one is trying to customize the application. For example, if it needs to be customized to change the different visualizations, we will try to customize it and we will try to interact with it.
Or else we can even try to develop some customization, some scripting for our
screen readers to improve the behavior of the frontend together with the screen reader. Another solution could be to use the alternative command line frontend.
Most of this application has a command line frontend that is not so comfortable to use, for example, for manipulating expressions or editing them. But it is surely accessible using a screen reader because all the code and all the commands are only text and there is no graphical part.
Another solution could be, if the program, as we said before, will allow us to communicate with the kernel, by means of
using a protocol, we can even try to develop our own frontend and consider to make it completely accessible with the screen reader. We want to try to analyze one of the programs that we saw before.
The first one is Octave, an open source solution that has all the basic features of a computation program. Another program is Mathematica, developed by Wolfram Research and it is a really powerful program for computation.
We start first with Octave. Octave doesn't have a graphical frontend, so we don't have particular problems to access with it.
It has only the command line frontend and, as we said before, it is not completely comfortable but surely it will not give us problem of accessibility.
We start with an example using Octave. This is a multiplication of two matrices composed by two rows and two columns.
We will first insert the first matrix and after the same command the second matrix and we will send the multiplication operation. We have to say that Octave gives back only a two-dimensional output.
It is not so easy to handle with a display drive but surely it will give you the composition of the matrix.
After Octave we will start to consider Mathematica. Mathematica as a frontend is not accessible at all, so we have to consider the other two solutions using Mathematica from the command line or developing our own frontend.
First, we will see some examples using the command line frontend. The way to use the Mathematica command line frontend is first we can use it in an interactive mode.
It means that we can enter the expressions directly from the command line. Or else, if we have a big long expression to solve, we can consider to save it in an external file written with our own editor.
And after, load it in Mathematica and let Mathematica execute it. After that, we can have the output directly from the command line and we can even consider to save it in another file.
Here is the first example. We are going to write a file containing an algebraic expression. First, we will simplify it and apply the factorization.
Here, after that we edited the file, we are going to load it with this command. We are going to load the file to Mathematica. And the software will give right away the output in the command line.
Here is another example where we are going to generate a table of the point of a function. It could be really useful if, for example, we want to study the function, we want to understand what is the behavior of the function.
And with the table function, we can generate the matrix of the point. Here is the file containing the matrix of the point that Mathematica generated.
OK, we are going to load the matrix and give it back in our matrix form.
And after that, we can even generate the graph of the function. For example, we want to print it in almost the paper. We are going to load the file again.
With this plot function, we will generate the diagram and then we can export it in any major format. Here is the diagram of the function.
After this example, we will consider the second way to access Mathematica. We have tried to develop an accessible content, communicating with Mathematica kernel.
This content is developed using the libre-enact language and using the most accessible controls included in the framework. We are going to load the application to show how it will work.
OK, here is our application, our program. It has an edit box that will allow us to write our files. We are going to load an example.
This is a simple exercise that we will try to solve using this editor together with Mathematica. Given the following sum function, find the first derivative and check when it will be equal to zero.
To avoid big confusion with all the expression, I'm going to define two contexts.
Using the bar star command, we are going to define the context where we will compute the expression using Mathematica. First, we will copy the expression inside the context of Mathematica.
And with the function d, we will calculate the first derivative with respect to the variable x.
OK, we copied now the expression in the clipboard and pressing F2, we will send it to the Mathematica kernel.
It will calculate the computed solution and we are going to paste it in our editor. OK, it will be in normal output format.
We can even decide to specify input format to make the expression more simple to manipulate and edit. Here is the other result. Now, using the roots function, we are going to recover it is equal to zero.
We are going to copy the expression inside the Mathematica context and we will write it in the Mathematica syntax.
OK, now we are going to send the expression to Mathematica in the same way that we made before.
We will try it again.
It seems that it doesn't work. OK, I'm sorry for the problem. It should give the result of the two solutions where the first derivative is equal to zero.
OK, I think... The star slash at the end. It's got to end at the end. There. Star.
OK, now try it. Sorry, I'm sorry. I don't know. Anyway, I think that's all.
Thank you for your attention. And if you have some questions, do not hesitate to ask them. Thank you.