CSE Courses

Engineering at Illinois Engineering at Illinois

Educational Projects

The nature of an educational project is to create an interactive tutorial or demonstration of some important concept or algorithm covered in the course. The preferred format for an educational project is an interactive, computer-based instructional module that could subsequently be used by students in this and other courses to help in learning this type of material. Projects featuring graphical illustrations are especially encouraged.

Example projects in MATLAB and Java illustrate some of the possibilities. Tutorials are available on how to use MATLAB for this purpose. Such an educational module should include sufficient explanatory material for the user to understand the point being illustrated.

Some ideas for possible educational projects content include

  • An example from the textbook
  • An exercise from the textbook
  • Graphical animation of the dynamic behavior of an algorithm from the textbook
For example, one sample module provided is based on Example 1.1 on page 5 and Exercise 1.9 on page 43 from the textbook. Many other examples and exercises would lend themselves to interactive, graphical implementation, but some might need to be fleshed out a bit for this purpose. Algorithm animation is another interesting possibility, such as showing the sequence of effects on a matrix of a factorization algorithm, or showing the construction of successive approximate solutions for a nonlinear equation or optimization problem, or solving an initial value problem, using a given algorithm. Still other possibilities include graphical depiction of the progress of an iterative algorithm, say for computing eigenvalues or solving two-point boundary value problems. Or one could illustrate a finer detail of a larger algorithm, such as depicting the geometry of Householder transformations or of the conjugate gradient algorithm.

Interactivity by the user could take a variety of forms, such as permitting the user to choose (or change) the input to see the effect on the resulting solution or algorithm behavior. Or the user could be allowed to walk through an algorithm or demonstration step by step at whatever pace is needed to understand each step.