The University of Arizona
banner image

CS620: Topics in Programming Languages

Project Description

The goal of this project is compare three parallel programming models in the context of a program that a scientist at the University of Arizona is using.

Code examples, how to execute them, and what the scientists are looking for will be made available before the end of the day Monday February 8th. You can propose to work with code you find. Communicate with me about which code you are considering. I would like to load balance the class so that each code has at least 1 student working with it.

The project includes the following deliverables.

Preliminary Project Proposal

The preliminary project proposal should be one paragraph describing the three programming models you want to compare, some initial ideas for what criteria you plan to use for evaluation, and the scientist's code you plan to use for your case study.

Proposal Presentation (5 minutes)

Using 2-3 slides and 5 minutes, tell the class about your project.

Written Proposal (2-3 pages)

The proposal should include a description of the programming models you have selected to compare and why. The proposal should also include details about how you plan to evaluate the different programming models (which metrics, machines, etc.), motivation and description of the code that will be used as the evaluation context, and a detailed time line for the project. When describing the code, think about what research problem the code is trying to solve. At the time you write your proposal you should have started doing small program examples in your target programming models and be able to run the code provided by the scientist. The proposal should be no longer than 3 pages of text. Unsatisfactory proposals will returned to the students for revision. Turning back proposals is a common occurence. Consider it an opportunity to learn and improve.

Verbal Status Report (15 minutes)

Midway through the project, you will be presenting your research problem, approach, and current status. Your verbal status report will be limited to three slides and 15 minutes. Included in the 15 minutes is time for the class to provide feedback and discuss any issues you may be having. The slide limit and time limit is strict. You will be graded on your presentation skills, therefore you should practice this talk ahead of time.

Final presentation (20 minutes)

Your final presentation should be like a conference paper talk. Look up online suggestions for giving Computer Science conference talks. With the 20 minute time limit, the maximum number of slides is 10 (the title slide does not count).

Final report (6-10 pages using a conference style file)

The final report should be in the form of a 4-6 page conference paper (e.g., you could use the IEEE double-column latex format). As with a conference paper, the final report should describe and motivate the problem, present the approach, and evaluate the approach. Make sure that you answer all of the questions we have been asking about papers in our reviews when you write your own paper. When you submit this document, you should attach the "proposal" and "intermediate" documents to it.