CSC212 Final Project 2014

From dftwiki3
Revision as of 13:34, 28 November 2014 by Thiebaut (talk | contribs) (Submission)
Jump to: navigation, search

--D. Thiebaut (talk) 11:09, 28 November 2014 (EST)


This project is due on the last day of exam period, at 4:00 p.m. No extensions will be granted.


Assignment

  • Implement a Model-View-Controller in Processing that visualizes a network of vertices.
  • The model should use the graph implementation shown on this page.
  • Inspire yourself from the video below when designing your MVC.



  • Your MVC should provide 3 different features:
  • It should be able to highlight all the vertices connected to the vertex under the mouse pointer.
  • It should be able to display the shortest path from the last clicked vertex (marked with a red dot) to the vertex currently under the mouse pointer.
  • It should implement a third functionality that you are free to choose, and will depend on how ambitious you are.


Features


Your MVC should have at least 3 buttons:

  • one button will control whether the connected component of a vertex is shown or not.
  • one button will control whether the shortest path from the last-clicked vertex to the one under the mouse should be shown or not
  • one button will display a simple box on the applet that will contain:
  • Your name
  • The date you submitted your project
  • A short description of your project (40 to 50 words, max)
  • one button (optional) that will control your selected feature (see Assignment section above)


Ideas


Here is a non-exhaustive list of possible "third feature" you may want to consider. The maximum number of points for the 3rd feature is 30 out of a total of 100 for the whole project.

  • Your MVC displays the number of connected component (5 points)
  • Your MVC can generate a brand new graph when the user clicks on a button (5 points)
  • Your MVC colors each connected component with a different color (15 points)
  • Your MVC allows the user to dynamically add/remove edges to/from the network. The connected components, shortest paths, and all other graph properties are automatically updated after each operation (30 points)
  • Your MVC allows the user to dynamically change the probability of creating edges, and creates a brand new graph (with its associated properties) every time the probability is changed (30 points)
  • Your MVC draws the tree created by DFS when starting on the vertex under the mouse pointer.


Submission


You need to create a runable jar containing your project, and submit it. The steps are tricky, and may require several attempts to create the right kind of file. Make sure you give yourself enough time before the deadline to create the right type of file. I strongly recommend that you submit your project every time you have implemented a new major feature in your project. This way you avoid getting a 0 for not being able to submit your file at the last minute.
Steps:

1. add a new main() method to your viewer. We normally don't need one, as the PApplet has its own, but we need to fool eclipse in thinking it is exporting an application and not an applet. The string inside main should contain the name of your viewer class. In my case, the class is MVC1_viewer. Change this according to your own naming convention.


        static public void main(String args[]) {
	     PApplet.main( "MVC1_viewer" );
	}


2. Click on the viewer edit window, to make sure it is selected. Find the Run As option, to run the program, and select Run as Java Application. Make sure your applet runs normally.


3. Stop your program


4. In the Package Explorer, select the project containing your java files. Right/Control click on it, and click Export. Select Java, Runnable JAR file, then Next.


5. In the Launch configuration, select your viewer class. Pick a destination folder, and name your file yourLastName_project.jar (replace "yourLastName" by your actual last name). Select Extract required libraries into generated JAR. Click Finish. Don't worry about generated warnings.


6. Open a DOS window or a Terminal, depending on your computer, and cd your way to the folder/directory containing the jar file you just created. Once you're there, type in the command:


java -jar yourLastName_project.jar


Verify that your applet starts and works correctly.


You have now created a self-contained, running java applet inside a java archive file. This is the file you need to submit in the Final Project section in Moodle.