CSE@UTA logo Infinity project banner

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