Thursday, February 19, 2009

Sample Project I

Not only because some colleagues advised me to do, but also because i found it a good idea to publish a sample project of each year and/or semester ..

I'll start by this one "Sorting simulator" was done in the second year with my partner Moustafa.

Why I'm starting with that project especially? Because it had many uniqueness properties not in many other projects.

  • It 's UI is inspired from Microsoft office 2007 ribbon.
  • It's UI is developed in SWT library and the program in Java.
  • We used the Hexapixel project.
  • We used the Nebula project (The pshelf on the left).
  • Time of working in this project was directly before the final exams by 2:3 weeks, we felt that we either won't finish the project or it would affect our exams badly, but thank God all are finished and all are over.
Project size:
  • Src directory contains 9 packages.
  • Model package contains 12 classes.
  • UI main class contains 1322 lines.

Notes about the project
  • Worth mentioning that the program can simulate as long list as the screen resolution permits it to do.
  • All actual sorting algorithms are actually finished normally without being disturbed by UI rendering instructinos. How do we simulate then? After each swap of a pair of elements, a new node is pushed to the simulation queue of this sorting type, which (the queue) is popped purely asynchronously by another thread.
  • Why we did that? To make the running time of the sorting algorithm accurate and not affected by simulation.
The source is available to anyone, just send me an email or comment demanding it.

Finally Here are you some screen-shots due to the bad quality video

  • The options panel:
  • The Results panel:

  • The input panel (ribbon oriented):
  • An overall running instance:

Update The project is now opensource.

6 comments:

Anonymous said...

Really mohammed this is great thx for the 2 posts :d

Unknown said...

very nice .. i liked your gui once i saw it last year :D

i have a suggestion , if you're thinking to distribute your code , why don't you publish it under GPL license and be open-source project.

Mohamed said...

You are the third one who suggest me this suggestion ..
But I don't think that these projects worth ..
they don't provide new idea or add something/enhancement to technology .. but I'll give it a try and publish them in that way and if I received reasonable number of such requests I may upload whole the project on a public repository or publish it in "former" way.

Mohamed Samir said...

Hi abd el latif
very good work i like this UI from the first time i saw it , u and badawi did alot of great work in that project "but u did not have time to do the report" :D just kidding,,,,
1-using new UI components like Nebula project .
2-Using threading for first time in ur UI.
-because of those things i think u should publish the well commented code ,documentation and the class diagram of ur design to help people .
Thanks
Alot

Mohamed said...

Ha ha thanks Samir for the comment, but I'd like to tell you that we delivered an impressive report too.
I may attach some screen-shots of it in the post

Mohamed Samir said...

i did not mean the whole report i meant the charts which were to be submitted .and there is no problem the project still very good :D ,i were just kidding with u man.