Following the effort we put into the conceptualization of the application, we obviously had to code it. We could have done a theoretical project without touching a computer, but it was best to test our theory to verify that everything worked properly.
To program only once per week does not result in an exceptional application because it is difficult to stay in context, to remember our variables and what needs to be done. Obviously, the abundant comments in our source code helped us not to lose track of our ideas, but any programmer would agree that a long programming session is worth more than two that last half as long.
As mentioned earlier, programming resembles the scientific method in problem solving. We must find the root of the problem and try different methods to solve it. Therefore, it was very important to spread the coding throughout the fifteen weeks that we were allotted, instead of developing the theory first and coding the application afterwards. This simultaneous process allowed us to better grasp the progress that we were doing and to correct certain concepts when necessary.
The final version of the application is available freely and downloadable from Jason's website (http://www.shade.ca/coding/3dmol/defautl.asp?lg=en). We would be very happy to learn that a chemistry teacher would like to use the software in his courses.
Our first hypothesis was that we could create a 3D representation application similar to those already available is verified. It is true that "pc mol" displays more complex molecules (like an ADN strain) but it uses a cheap shading trick to represent its atoms in 3D. We display true three dimensional objects with flat surfaces. We cannot say that it does not fulfill its objectives, but our application is more versatile. Furthermore, for our course, we were unable to invest a phenomenal amount of hours into the programming aspect of the software to soften 3DMOLs rough edges. We feel that we have worked very well and that our major hypothesis is verified.
Our minor hypothesis was to re-use our 3D engine to represent something other than molecules. Therefore, we decided to represent 3D letters and a stick figure that resembles our chemistry teacher. We would have coded an action game such as Quake or Unreal but, as we just mentioned, we did not have the time to realize such a project (lets not forget that the programmers of Quake have much more money, experience and human resources than we do). We still used the application to create something other than 3D molecules. Therefore, we can say that our minor hypothesis is also verified.
In our modern society, representation applications hold an important growing role. They allow researchers to realize long and arduous tasks in a few seconds. We feel that software is very important in pharmacology and many other fields. Software has been created to simulate chemical reactions between two molecules. Programmers taught the basic laws of intermolecular reactions to computers to allow them to deduct each of the steps of a reaction and to have them represent each of these steps in three dimensions. Therefore, we can test new experimental drugs on a computer before diving into their creation. Without these applications, the research to find a cure for AIDS or cancer would obviously not be as advanced. Software makes it possible to see the invisible.
At first, we were not too sure what to expect facing such a project. We had lots of ideas, but we didn't know what was realizable. This project has allowed us to test our analytical skills, our mathematical knowledge and heighten our programming experience. We invite the future science students that love computers to do better than what we have realized. A good part of the fun was to discover the formulas and to see that they worked (or didn't, in certain cases).