Difference between revisions of "CSC352 Final Project 2013"

From dftwiki3
Jump to: navigation, search
(Latex Research Paper)
 
(2 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
<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.
Line 21: Line 21:
 
<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..  
 
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 write for your project, along with a text file with a list of all the files submitted in one column, with their description in another column.  Also submit electronically the  three or more latex and image files containing the paper, the figure(s) and the bibliography.
+
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 33: 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 42: 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, and generate one or several graphs that will help others figure out how to make good use of your research.
+
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 60: 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 society for Latex format they recommend for their conferences.   
+
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 different in the way you implement it?  What parameter did you pick as a target of your tuning?
+
## 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>
 
<tanbox>

Latest revision as of 11:36, 17 October 2013

--D. Thiebaut (talk) 11:00, 17 October 2013 (EDT)


CSC352 FINAL PROJECT



Packing2KPhotos.png



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:

  1. Abstract
  2. An introduction describing the context.
    1. 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.
    2. 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.
  3. A section describing your problem and your approach to it
  4. A section describing your setup for the tuning of the parameter
  5. 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).
  6. 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.