This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
en:projects:details:gio01 [2010/11/15 16:47]
en:projects:details:gio01 [2011/09/22 10:02]
Line 1: Line 1:
 ---- dataentry project ---- ---- dataentry project ----
 title : Implementing a conference scheduling system in Ruby on Rails title : Implementing a conference scheduling system in Ruby on Rails
-contactname: ​Giovanni Cangiani +contactname: ​Omid Etesami 
-contactmail_mail: ​giovanni.cangiani@epfl.ch +contactmail_mail: ​omid.etesami 
-contacttel: ​021 6937526 +contacttel: ​36793 
-contactroom:​ BC 149+contactroom:​ BC 150
 type : bachelor semester type : bachelor semester
 status : available status : available
 table : projects table : projects
-created_dt : 2009-05-29+created_dt : 2011-09-22
 taken_dt :  taken_dt : 
 completed_dt : completed_dt :
Line 17: Line 17:
 ---- ----
-This project ​is very practicalIts goal of this project ​is to design and implementat ​of an important feature ​of a web-based ​ +A simple model to relate macroscopic properties of gases to the microscopic properties of their molecules ​is the kinetic model for gases(See for example Feynman Lectures on Physics, Volume 1, Chapter 39, "​Kinetic theory ​of gases"​). For simplicity, you can assume that the gas is monatomic like Helium. Then, you can think of the gas as a lot of small balls (atoms) colliding ​to each other or colliding to the container elastically. These collisions constantly change the directions ​of the movement ​of the balls. 
-conference organization system that is being developed in our lab: semi-automatic ​system  +  
-for scheduling ​the talks and the sessions ​of a conference starting from the list of accepted papers.+The goal of this project ​is to simulate such a system. You can then see  
 +1. the relation between pressure ​and average kinetic energy, 
 +2. the velocity distribution ​of the molecules,​ 
 +3. the speed with which the system approaches equilibrium from a non-equilibrium state.
-The taker of the project will have to deal with the following tasks +The simulation can be generalized in many ways:
-  * review of existing implementations +
-  * design of the object model +
-  * design of an easy-to-use and elegant user interface +
-  * implementation of the computer program +
-  * (optional) research and implementation of an automatic methods for scheduling the talks+
-The taker of the project will have the opportunity to learn and/or improve his knowledge about +1. You can consider two different types of molecules in the same container, for example, both Helium ​and Argon. You can verify that the molecule with more mass has on average a smaller velocity.
-  * the Ruby language +
-  * the [[http://​rubyonrails.org/​|Ruby ​on Rails]] web development framework +
-  * test-driven development +
-  * user interface design +
-  * scheduling and resource allocation algorithms +
-  * [[http://​git-scm.com/|git]] distributed control version system+
 +2. You can consider polyatomic molecules by modeling each molecule as a bunch of atoms connected together with sticks. Then, there will be rotational as well as translational movements. You can then check the "​equipartition theorem"​ that relates the average rotational energy to the average translational energy. You can further generalize the model by letting springs, instead of sticks, connect the atoms.
 +3. You can add pistons that allow interaction between two containers. Then, you can verify that the piston equalizes the average kinetic energy of the molecules in the two containers.
 +The prerequisite for this project is the ability to find algorithms and data structures to simulate the model efficiently + knowing the basic probability required to analyze the results of the simulation.