For the assignments in this class you can choose the user interface toolkit that you wish to use. Good options are Swing for Java, fltk for C or C++, wxWidgets for c++ or Python, and flash. The limitation is that we need to be able to check your program on the CS department linux machines on the second floor of SEL.
Project 1 will give you a chance to program a small interface and get used to the UI toolkit of your choice before we proceed onto the main project in the course: Project 2.
Each person will work individually on this project. This project is NOT a team project.
It is expected that all of the code used in these programs will be written by you. You can use code from the web as examples and a guide to writing your code, but the code you turn in for the project must be your own. We will be using computer software to compare people's programs and it is very good at finding similar programs.
Any code, images, icons, or other elements borrowed from others must be fully cited in the work and in the README file.
Now onto the project itself.
Turning in Project 1
The project is due at the beginning of class on 2/12/08
sure your project works on the linux machines in the CS lab, the
windows lab, or the mac lab on the 2nd floor of
SEL by the vending machines. Be sure that your application compiles
and runs in one of those three rooms, or that we can run it from a web
browser running in one of those rooms.
If there are any external libraries you should be sure to include them.
sure to have an html README file that explains what your program
does, and what it does not do so that while grading we know what to
expect. This file should also specifically state how to compile and run
your code. You should include images of all of the various screens in
their proper screen size. Pick one image that you think best represents
your application and place that at the top of the readme file. We will
use this image on the class web pages to help show the variety of
We will be using the traditional CS turnin system. Projects are due by the beginning of class on the due-date so please be sure you have your program turned in before then. For more information on turnin you can do 'man turnin' on any of the CS machines, but basically if you have a directory called 422 containing your project you would go to the directory level above 422 and type:
turnin -c cs422 -p project1 422
the -c tells which course and -p tells which project. Turnin definitely
works from ernie.cs.uic.edu but doesn't seem to work from bert at this
Presenting Project 1
An important part of creating user interfaces is getting feedback and using it to improve your design. Given the class size, this can be a bit of a challenge. On 2/12 and 2/14, after the project has been turned in, we will have some group discussions and presentations about the solutions to Project 1.
On Tuesday 2/12 the class will break into 8 groups. Each group will compare notes on their solutions to the problem and come to an agreement on a single revised interface design, so bring printed screenshots of your design to this class meeting (the README file you created to turn in the assignment should be able to do double-duty here.) This revised design does not have to be implemented; it should be presented as a series of screen snapshots/mockups for the major functions.
Before Thursday's class each group should create a web page with the team members' names, the screen snapshots for the revised design, and a description of how the revised interface will be used. The address of this page should be emailed to Andy before class begins on Thursday.
Thursday 2/14 each of
the 8 groups will give a 8 minute presentation on the revised
interface that their group came up with, using their web page,
showing the snapshots and giving a brief description of its
Very likely later on in the term the
class will break into different groups and revise the revised designs
|Bhat - Sidea - Mihali - Urso
|Basic - Hillyer - Gorczowski -
|Brown - Ogar - Tata - Valencia
|Chau - Tom - Shakhnazaryan -
|Iyer - Jain - Kapadia - Miryala
- Nuvvula - Ritter
|Bak - Ziec - Balawender -
Cheung - Mroczka
|Serrano, Franco, Gupta, Patel,
Cheung, Brown, Gorczowski
|Valencia, Tom, Hillyer, Ziec
Tata, Chau, Kapadia, Balawender
|Jain, (Bhat), Gupta, Bak
Demeter, Mroczka, Nuvvula, Patel
|Mostafa, Shakhnazaryan, Iyer,