Difference between revisions of "CSC352 Final Project 2013"
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
--[[User:Thiebaut|D. Thiebaut]] ([[User talk:Thiebaut|talk]]) 11:00, 17 October 2013 (EDT) | --[[User:Thiebaut|D. Thiebaut]] ([[User talk:Thiebaut|talk]]) 11:00, 17 October 2013 (EDT) | ||
---- | ---- | ||
+ | =<CENTER>CSC352 FINAL PROJECT </CENTER>= | ||
+ | |||
{| | {| | ||
− | | | + | |style="width: 40%; background-color: white;"| |
− | |||
<br /> | <br /> | ||
+ | |||
__TOC__ | __TOC__ | ||
− | | | + | <br /> |
− | [[File:Packing2KPhotos.png| | + | |style="width: 70%; background-color: white;"| |
+ | [[File:Packing2KPhotos.png|400px|right]] | ||
|} | |} | ||
+ | <br /> | ||
<br /> | <br /> | ||
<bluebox> | <bluebox> | ||
− | The final project is in several parts. You have to pick a particular aspect of the Wikipedia Image Collage problem that requires parallel computation, do some programming to solve some aspect of the problem, and write it up as a research paper using Latex. The due date for the project is the last day of exams. There are several events you need to address to fulfill the requirements, including a final presentation of the project on the last day of class, and a self-scheduled 5-10 minute presentation of the project you picked. | + | The final project is in several parts. You have to pick a particular aspect of the Wikipedia Image Collage problem that requires parallel computation, do some programming to solve some aspect of the problem, and write it up as a research paper using Latex. The due date for the project is the last day of exams. There are several events you need to address to fulfill the requirements, including a final presentation of the project on the last day of class, and a self-scheduled 5-10 minute presentation of the project you picked before Thanksgiving. |
This page may and will be updated during the remainder of the semester. Be sure to keep an eye on it. I will use Piazza to indicate when major updates are added to it. | This page may and will be updated during the remainder of the semester. Be sure to keep an eye on it. I will use Piazza to indicate when major updates are added to it. | ||
</bluebox> | </bluebox> | ||
<br /> | <br /> | ||
− | =Due Date= | + | |
+ | =Final Due-Date= | ||
<br /> | <br /> | ||
− | + | The due date is on or before the '''last day of exam''', at 4:00 p.m.. | |
+ | |||
+ | Please submit electronic versions of all the programs you wrote for your project, along with a text file containing a list of all the files submitted in one column, with their description in another column. Call it README.txt. Also submit electronically the three or more latex and image files containing the paper, the figure(s) and the bibliography. | ||
<br /> | <br /> | ||
Line 26: | Line 33: | ||
The timing is totally left up to you, except for two landmarks: | The timing is totally left up to you, except for two landmarks: | ||
− | * A 5-to-10 minute class presentation of the project you picked. You can decide on giving the presentation roughly 12 hours before class by sending me an email of your intent to present. | + | * A 5-to-10 minute class presentation of the project you picked, to be done before Thanksgiving. You can decide on giving the presentation roughly 12 hours before class by sending me an email of your intent to present. |
− | * A 20-minute presentation of the whole project on the last day of class. | + | * A 20-minute presentation of the whole project '''on the last day of class'''. |
<br /> | <br /> | ||
Line 35: | Line 42: | ||
The [http://cs.smith.edu/classwiki/index.php/CSC352_Project_Page_2013 project page in the class wiki] lists several possible project ideas. Pick one or suggest one that is of interest to you. Make an appointment with me to go over your selection and clearly define the programming task you will set for yourself. | The [http://cs.smith.edu/classwiki/index.php/CSC352_Project_Page_2013 project page in the class wiki] lists several possible project ideas. Pick one or suggest one that is of interest to you. Make an appointment with me to go over your selection and clearly define the programming task you will set for yourself. | ||
− | Several people can pick the same problem. The whole class can pick the same problem. You can work in pairs on the programming, but no more than two people per pair. | + | Several people can pick the same problem. The whole class can pick the same problem. You can work in pairs on the programming, but no more than two people per pair. If you work in pair, at least '''half''' of the time you devote to the project should be done in ''pair-mode'' (1 computer, 2 people programming it). |
− | Given that we will work with Hadoop last, you should favor picking something requiring a java multithreaded application or an MPI application written in C. | + | Given that we will work with Hadoop last, you should favor picking something requiring a java multithreaded application or an MPI application written in C. You may add Hadoop to your project at a later date. |
<br /> | <br /> | ||
==Discussion== | ==Discussion== | ||
<br /> | <br /> | ||
− | Once you have an idea (or several ideas), make an appointment (30 min) with me to go over the problem you picked, and to get the green light. | + | Once you have an idea (or several ideas), make an appointment (30 min max) with me to go over the problem you picked, and to get the green light. |
<br /> | <br /> | ||
==Content== | ==Content== | ||
<br /> | <br /> | ||
− | One of the tasks you need to address in your project is to define some parameter that affects the performance of your program, and measure quantitatively how this parameter affects the performance | + | One of the tasks you need to address in your project is to define some parameter that affects the performance of your program, and measure quantitatively how this parameter affects the performance. You need to run your application multiple times with different values of your parameter and generate one or several graphs that will show what value or value range gives the most efficient implementation (in terms of speed, or memory usage, or something else). |
<br /> | <br /> | ||
Line 53: | Line 60: | ||
<br /> | <br /> | ||
− | You need to write up your research effort in a Latex paper. I have several tutorials in my [[Tutorials| Tutorial]] page showing how to put together a research paper in Latex. There are also lots of resources available on the Web. If you are not sure where to look, target the ACM or IEEE | + | You need to write up your research effort in a Latex paper. I have several tutorials in my [[Tutorials| Tutorial]] page showing how to put together a research paper in Latex. There are also lots of resources available on the Web. If you are not sure where to look, target the ACM or IEEE societies for their recommendation on a Latex format to be used for their various conferences. |
− | You can pick the format you want: 1 column, 2 columns, single or double spaced. | + | You can pick the format you want: 1 column, 2 columns, single or double spaced. All are fine. |
Your paper should try to follow this general outline: | Your paper should try to follow this general outline: | ||
− | # Abstract | + | # '''Abstract''' |
− | # An introduction describing the context. | + | # An '''introduction''' describing the context. |
− | ## There should be a subsection covering the Wikipedia image collage idea. Use our visit to the museum to give some background. Use some of the projects listed in the [http://cs.smith.edu/classwiki/index.php/CSC352_Project_Page_2013 project page in the class wiki] as references. | + | ## There should be a subsection covering the '''Wikipedia image collage''' idea. Use our visit to the museum to give some background. Use some of the projects listed in the [http://cs.smith.edu/classwiki/index.php/CSC352_Project_Page_2013 project page in the class wiki] as references. Please provide at least 5 references for this section. |
− | ## There should be a subsection in the introduction giving some background relative to the problem you picked: Who has already done some work in this area? What were their approach? Is yours different? If yes, in what way? If not, is there anything | + | ## There should be a subsection in the introduction giving some background relative to the '''problem you picked''': Who has already done some work in this area? What were their approach? Is yours different? If yes, in what way? If not, is there anything you want to show or investigate about this approacht? What parameter did you pick as a target of your tuning? Please provide 3 references for this section. |
− | # A section describing your problem and your approach to it | + | # A section describing your '''problem and your approach''' to it |
− | # A section describing your setup for the tuning of the parameter | + | # A section describing your '''setup for the tuning''' of the parameter |
− | # A section presenting the results of your tuning/experiment. One or several graphs are required (use whatever package you are familiar with to generate the graph, and then generate png or eps versions of the graph). | + | # A section presenting the '''results of your tuning/experiment'''. One or several '''graphs''' are required (use whatever package you are familiar with to generate the graph, and then generate png or eps versions of the graph). |
− | # A conclusion section summarizing everything and presenting "open-door" areas of research: areas or problems you discovered during your work that could be interesting for others to explore. If your result is that your approach was not as good or not as performant as some other published approach, it is still worth mentioning and indicating to others what alternative should be taken in similar situations. | + | # A '''conclusion''' section summarizing everything and presenting "open-door" areas of research: areas or problems you discovered during your work that could be interesting for others to explore. If your result is that your approach was not as good or not as performant as some other published approach, it is still worth mentioning and indicating to others what alternative should be taken in similar situations. |
<br /> | <br /> | ||
+ | <tanbox> | ||
+ | I will be happy to read and annotate any section of your research paper ''once'' before the final submission. This reading will not be graded. | ||
+ | </tanbox> | ||
<br /> | <br /> | ||
<br /> | <br /> |
Latest revision as of 11:36, 17 October 2013
--D. Thiebaut (talk) 11:00, 17 October 2013 (EDT)
CSC352 FINAL PROJECT
Contents
|
The final project is in several parts. You have to pick a particular aspect of the Wikipedia Image Collage problem that requires parallel computation, do some programming to solve some aspect of the problem, and write it up as a research paper using Latex. The due date for the project is the last day of exams. There are several events you need to address to fulfill the requirements, including a final presentation of the project on the last day of class, and a self-scheduled 5-10 minute presentation of the project you picked before Thanksgiving.
This page may and will be updated during the remainder of the semester. Be sure to keep an eye on it. I will use Piazza to indicate when major updates are added to it.
Final Due-Date
The due date is on or before the last day of exam, at 4:00 p.m..
Please submit electronic versions of all the programs you wrote for your project, along with a text file containing a list of all the files submitted in one column, with their description in another column. Call it README.txt. Also submit electronically the three or more latex and image files containing the paper, the figure(s) and the bibliography.
Timing
The timing is totally left up to you, except for two landmarks:
- A 5-to-10 minute class presentation of the project you picked, to be done before Thanksgiving. You can decide on giving the presentation roughly 12 hours before class by sending me an email of your intent to present.
- A 20-minute presentation of the whole project on the last day of class.
Picking a Problem
The project page in the class wiki lists several possible project ideas. Pick one or suggest one that is of interest to you. Make an appointment with me to go over your selection and clearly define the programming task you will set for yourself.
Several people can pick the same problem. The whole class can pick the same problem. You can work in pairs on the programming, but no more than two people per pair. If you work in pair, at least half of the time you devote to the project should be done in pair-mode (1 computer, 2 people programming it).
Given that we will work with Hadoop last, you should favor picking something requiring a java multithreaded application or an MPI application written in C. You may add Hadoop to your project at a later date.
Discussion
Once you have an idea (or several ideas), make an appointment (30 min max) with me to go over the problem you picked, and to get the green light.
Content
One of the tasks you need to address in your project is to define some parameter that affects the performance of your program, and measure quantitatively how this parameter affects the performance. You need to run your application multiple times with different values of your parameter and generate one or several graphs that will show what value or value range gives the most efficient implementation (in terms of speed, or memory usage, or something else).
Latex Research Paper
You need to write up your research effort in a Latex paper. I have several tutorials in my Tutorial page showing how to put together a research paper in Latex. There are also lots of resources available on the Web. If you are not sure where to look, target the ACM or IEEE societies for their recommendation on a Latex format to be used for their various conferences.
You can pick the format you want: 1 column, 2 columns, single or double spaced. All are fine.
Your paper should try to follow this general outline:
- Abstract
- An introduction describing the context.
- There should be a subsection covering the Wikipedia image collage idea. Use our visit to the museum to give some background. Use some of the projects listed in the project page in the class wiki as references. Please provide at least 5 references for this section.
- There should be a subsection in the introduction giving some background relative to the problem you picked: Who has already done some work in this area? What were their approach? Is yours different? If yes, in what way? If not, is there anything you want to show or investigate about this approacht? What parameter did you pick as a target of your tuning? Please provide 3 references for this section.
- A section describing your problem and your approach to it
- A section describing your setup for the tuning of the parameter
- A section presenting the results of your tuning/experiment. One or several graphs are required (use whatever package you are familiar with to generate the graph, and then generate png or eps versions of the graph).
- A conclusion section summarizing everything and presenting "open-door" areas of research: areas or problems you discovered during your work that could be interesting for others to explore. If your result is that your approach was not as good or not as performant as some other published approach, it is still worth mentioning and indicating to others what alternative should be taken in similar situations.
I will be happy to read and annotate any section of your research paper once before the final submission. This reading will not be graded.