Old Final Exams


Final Exam - Spring 2007

Visualizing the Invisible

Since the final exam period can get a bit monotonous if everyone is presenting exactly the same thing, we are going to have a bit of variety in the final exam work and visualizations. Half of the class will investigate sound levels in EVL. Half the class with investigate electromagnetic fields around various household appliances.

I will be supplying the probes for this activity.


Sound Levels in EVL

    In this activity half of the class (5 people) will work together to collect sound level data throughout the main floor of the lab (i.e. the part that is on the second floor of ERF), and then each person will visualize that data on their own. This data will  be collected on an irregular grid based on the various sound levels you find, so more detail can be collected near areas of changing sound levels; the floor tiles make a nice grid. There are lots of machines in the lab that typically generate noise, and we have two anechoic chambers where the audio levels drop below measurable levels, so there is a range of levels in the lab. There are also issues of sound levels at different heights in the lab, so the final datafile generated should have x, y, z coordinates. Since those sound levels are static, this group will also look at how those background sound levels when all the phones in the lab ring. This group may also want to look at the affect of the paper shredder, or the Xbox/wii/PS3, etc.
     We have an existing map of EVL that was generated during a previous version of the class where the students mapped out wireless strength in the lab. That map can be used here.
    As an aside, the anechoic chamber can also be used to measure how loud your cell phone ring is, or how loud you can shout.

maps of evl from a previous class can be found at http://www.evl.uic.edu/rlk/evl/index.html



E/M fields around common appliances

    In this activity half of the class (6 people) will break into three groups of two, and each group will measure the E/M field around a common household item to see what the field looks like. This field will be measured on 3 axis (X, Y, Z for each location.) By default the items to be measured are a microwave oven, hair dryer, and CRT monitor but if there is something else interesting that a group wants to measure that should be OK as well. The E/M field will be measured on a more regular grid. Each person will then create their own visualization based on the data.
    Please do not microwave the sensor.




By the beginning fo the final exam period each person should create a web page of their results including the source code and executable to run their visualization as usual. Again as usual everyone should send me a 320 x 240 jpg snapshot for the web.


In both cases, the various groups should get together ahead of time to plan out the data collection. The audio should be collected either in the evening or on the weekend. when people are not around The E/M data could be collected during the day but it ma be easier during the evening or weekend.


Final Exam - Spring 2005

Andy's Fridge

One thing that you haven't dealt with so far is time varying data, so in this final exam we will do another data collection and visualization assignment on a smaller scale (both in time and space) - in this case measuring the temperature in and around a refrigerator.

We have a set of 10 small 1-Wire temperature sensors that are connected through ethernet cables and then attach to a computer through a USB port. These have an advertised maximum cable run length of 300 meters though we will be working in a much smaller volume. The sensors are also rated to +/- 0.5 degrees C.

There are several places that sell these 1-wire temperature sensors, or you can build them yourself. We bought ours through http://www.pucebaboon.com/

There is some windows software (Version 4.00 beta 4) including an API that works with these sensors at http://www.maxim-ic.com/products/ibutton/software/tmex/index.cfm and I have tried this out and it works for graphically viewing one sensor at a time nicely.

There are also linux based software at http://www.digitemp.com/software.shtml

One job for someone in the class is to find or write a better piece of logging software for the sensors to dump all of the data to a file. This should be pretty easy under linux, or re-writing the java code under windows.

Another job for someone is to do a test to see how fast the sensor responds to temperature change, without hurting the sensor. For example taking the sensor from a known cold temperature to a known hot temperature and seeing how long it takes for the sensor to correctly register the change. For this experiment the temperature should not change very quickly, but its still good to know the limitations of the sensor.

Another job is to decide where to place the sensors. We will investigate several things in the data collection. First, how long does it take a room temperature refrigerator to reach a steady state temperature inside. Second how much heat is generated as a result of this. Finally, once the refrigerator has reached a steady state, what is the effect of opening the door and holding it open while you decide what you want to grab. Was your mother right to tell you not to stand there with the door open? Lets find out. A fridge is also nice for this kind of visualization because part of it gets cold and part of it gets hot.

The default refirgerator for this study (and you can feel free to suggest another one you prefer) is my 20 year old Montgommery Ward compact dorm room fridge. EVL also has a larger fridge with multiple compartments that usually needs to be defrosted, so that may make a more interesting visualization.

There should be some sensors placed inside (say in the general cool area, and in the small colder area, and some placed outside or on the surface. That way some sensors will get colder, some hotter, and others stay the same.


As with the wireless measurements all of the data will be shared with the entire class, and then each person should do their own visualization of the data using vtk.

The compact refrigerator is pretty simple in design so you should be able to use the basic vtk geometry primitives to create one.



During the final exam period each person will give a short 8 minute presentation about their solution, just as for the 3 class projects. Each person should also create the typical project web page with source code and screen snapshots.

Here are some photos taken during the data collection




Final Exam - Spring 2004

For the final exam you will revisit the work you have done already in the class and create a step-by-step tutorial to highlight certain features of vtk and help new users learn to program them.


You can choose either part of project 2 as a basis for your tutorial. That is, you can choose isosurfaces or volume rendering for the topic.

This html (web or cdrom based) tutorial should start with the assumption that the user has vtk correctly installed along with the language of your choice (java, python, visual studio, tk, etc.) The user should then start through a multipart tutorial that begins simply, and by the end has the user with a functional version of that part of the assignment. The entire tutorial should take the user an afternoon to finish. The tutorial should be divided into sections and have headings, and goals for each section.

The tutorial should provide:
- code that can be downloaded or copy and pasted and then run successfully for each step
- links to necessary data files available on the web, or as a CDROM with an html front end
- snapshots of what the code should do (movies if you are really motivated)

Obviously having a lot of good comments in your code is part of this but you should also extract and highlight important sections of your code and describe what they do and what they can allow the user to do. The idea here is to teach what the user can do with vtk, not just what your code does. The code and the examples are the means, not the end on this assignment.

Its probably a good idea to give options at various points in the tutorial along with their results. If we do this we get this result, but if we do this other thing we get that result and then instances where each result may be useful. Highlighting any particularly sneaky wrong things that people may think to do but should not do is also a good idea.

The tutorial should provide some simple user interfaces as well. They do not have to be as complex as the ones from the project assignments but you should not ignore user interfaces in your tutorial. The user should be able to interact with the visualization. You may want to have very simple interfaces at first and then talk more about interfaces at the end of the tutorial, or you can add in new interface capabilities as you go along.


Important point to note:

This tutorial should show your understanding of which vtk tools and filters are used for doing what; and you should be able to present this knowledge in a way that is valuable to a new user who has data to visualize. For example, its not just saying that you should use filter X before filter Y but rather what doing that sequence of filters will allow the user to see in their dataset. Its not just that you 'could' do this with vtk, but 'why would' you do this with vtk.


Also note that you can modify/improve the version of project 2 that you turned in for this final exam.


During the final exam period each person will have 8-10 minutes to describe their tutorial.


We will also have a contest where each of the students gets to vote for the top 3 tutorial web sites from the class for some extra points. You can't vote for your own, and along with your vote you also have to tell me why you think these are the top 3.


Final Exam 2002 - Focus on Video Games:

The final exam is a take home written exam. It is given out in class on 4/24 and is due at 5:30pm on 4/30. The exam combines the project experience in creating a game with the various research we have talked about in class.

You are to describe a game set in and around the UIC main campus - outside on the grass and pathways, and inside the structures. The game is a multiplayer game - either cooperative or competitive. The game will be played while the players are physically walking (running, biking, rollerblading) around the real space. The players should not disturb non-players - that is we will not use paintball guns or water pistols or other things that can annoy 'civilians.' You can bend this rule a little, but basically you should be able to play the game without the players getting arrested by UIC police. To do this we will use technology.

The hardware that the players carry is up to you - maybe they carry cell phones, maybe they have PDAs, maybe they have augmented reality headsets - but they should be carrying some kind of portable high-technology utilizing computer graphics to allow them to interact with the game. Most likely everyone will carry a GPS unit relaying their position to a central computer that is managing the game.

Very likely the computer will also be controlling simulated agents or creatures or puzzles on the campus that are only visible to the players though the technology they are carrying.

We are assuming current technology, or technology that will be commercially available in the next year. You can assume that there is a full wireless network covering the campus so a player is always in range - though you should talk about how you would implement this.

The game should have goal(s), and most importantly the game should be fun. You may want to talk about your ideas with Andy to make sure you are on the right track.

You should describe the game and then more importantly describe the technology and the programming behind it.

You should also discuss the budget - its not unlimited - it should be 'reasonable.' You should say roughly how much this game will cost to implement, and how much to maintain.

Your description can include drawings as well as text. Your text should take the form of a proposal to develop the game. You will need sufficient details to convince a reader to fund this proposal.\

You will probably need to do some research on the web to make sure your description of the technology is accurate.

How many pages should this be? That's hard to answer. It should be thorough. My guess is something the size of an 8-page double column research paper, which is roughly 6000 words, should be about right.

As always, all work should be your own ...


last revision 11/25/08