What is
the Infinity Project in CSE@UTA?
[Answer in
a nutshell]
The Infinity Project is a hardware and software program designed
to introduce new students (freshmen) to hands-on applications of engineering
concepts. It consists of a DSP board,
speakers, camera, and mic that attach to a PC and a graphical block front end
which runs the DSP etc. and is called through a set of lab exercises. To use Infinity, a student calls up a lab
exercise, reads the text of the exercise, calls up the lab (i.e. the graphical
blocks depicting the lab components), and then runs the lab. Many of the labs can be varied with sliders
or input values to create changes in the output. Lab output can consist of RGB or B&W video displays on the
screen, waveforms and signal strength displayed on screen, LED lights displayed
on the DSP board, speaker output and other types of output. The Infinity exercises discuss and then
demonstrate engineering concepts using computers and additional hardware. As designed, the Infinity exercises intentionally
hide any code from the student using the project. This leads to the CSE@UTA project with Infinity.
Over the last couple of semesters we have investigated the
Infinity system, playing with the various exercises (there are around 100) and
choosing a CSE targeted subset of them, learning Infinity's built-in
development tools, and looking at what would be needed in order to make
Infinity a more productive tool for beginning CSE department majors.
The tasks to be accomplished this summer then are:
1) Create an extended front end for Infinity which will allow CSE
freshman using Infinity to view code for selected blocks within each lab in the
CSE subset. This front end mechanism
will allow specific lines of code to be highlighted within a block and will be
linked to the lab text describing what this highlighted code does in terms of
the lab and asking code-specific "thought questions" for the student
to consider as they run the lab (running the lab will not change). For example, if in some Lab K the selected
block being highlighted is a filter, then within the code for that filter,
specific lines of the filter equation or algorithm will be highlighted and the
meaning and use of those lines will be discussed in the text prior to running
the lab that contains that filter. This
breaks down to the subtasks of:
A) Create the
extended interface mechanism - probably an HTML or Java task - which will sit
on top of the existing Infinity interface and will call Infinity to run the
exercises as they are.
B) Write the
lab text information to go with the selected code to be highlighted
C) Link the
selected code blocks with the existing lab exercises and test and verify the
extensions
2) Given the extended front end, the remaining task is to create variant
blocks in order to allow the CSE freshman to make better connections between
seeing the code that is being used and understanding how this code affects the
output. For example, still considering
the Lab K filter above, we also want to create Lab Ka and Kb such that the only
differences between these and Lab K are changes to the highlighted filter
code. the Lab Ka filter might have a
minus instead of a plus. The Lab Kb filter might have different constant values. By creating versions Ka and Kb and using
them in otherwise identical labs, we can help students focus on what changes
will occur by making small changes in the code of just one block, e.g. the
filter. The lab text for Ka and Kb will
focus on these differences and will pose thought questions which lead the
student to try to predict how the changed code will change the lab output. Then after the predictions are made, the
student runs the lab to see how well they understood what would change. This breaks down into the subtasks of:
A) Code the
variant block modules - in C using the Infinity Project block building tool
B) Write the
lab text information to go with the selected code to be highlighted in the
variants
C) Link the
new code blocks with the existing lab exercise to create a new variant exercise
and test and verify the extensions
The subtasks under 1 and 2 will be the tasks to be completed by
students hired for the Infinity Project at CSE@UTA this summer.
For additional information:
"Improving Undergraduate Retention through Tailored Use of the Infinity Project"
"Extending the Infinity Project for Use as a Pedagogical Tool for Computer Science and Engineering Students"
Infinity Project website