Written by Vijay Kishnani, a master’s student in Computer Science at University College London.
The final project in my undergrad work stands out as an important dimension of my experiences in learning to code in technology because of the elements that I struggled with. Most of these elements really did not have anything to do with the coding itself. They had to do with learning to approach a complex problem, learning to inhabit your role on a team, and learning to use team resources well.
Toward the end of my final year in my undergraduate program in Computer Science at University College London, I worked on my dissertation project with three other students. We worked on this project for about three months. I just read about the Leap Motion device over winter break. When my supervisor talked with me about this project idea just a few weeks later, it stayed fresh in my mind. The Leap Motion device is a revolutionary new way for people to play, create, explore and learn with their computers. Leap Motion’s proprietary technology can track in-air hand and all 10-finger movements with incredible accuracy and no visible latency.
The goal of my project was to build a product that worked well as a 3D model of a heart. My project targeted towards cardiologists. Specifically, we needed to create an application that generated a 3D volumetric model of heart scans from DICOM files. These become produced when a patient takes a MRI or ECG scan. The application came purely from Java and used the external open source library OpenGL to create the 3D graphical model. The user, typically a cardiologist, would be able to view the model to see deficiencies and to help him understand the underlying cause of the patient’s diagnosis.
Due to patient confidentiality, we tested on DICOM files generated from a scan of a pig’s heart. Use of the Leap Motion device allowed the user to manipulate the 3D volumetric model using their hands. This required coordination between the different modules within the application, which were user interface, graphic rendering, and the Leap Motion control.
Teams in Technology
Our first step was to have each team member (four of us) think and research on our own about how the Leap Motion device potentially works. Then the steps required to build this product. Next, we distributed tasks based on personal interests and skill levels. One team member had the most experience in coding and supervised that; another focused on the actual design of the model, which required different gestures to manipulate the model. A third supervised the testing phase ensuring that there were no bugs. The fourth focused on final results and recommendations for the next iteration of design.
Looking back, the beginning of the project was the most challenging. We did not know how to approach the task and it took time to settle into individual roles. I realize that working on a team project allowed us to play on each member’s strengths while still building upon our own knowledge base. Though we went about our own tasks, team members challenged our thinking on our own tasks. Working on teams also broadened our knowledge in their areas of expertise.
I focused on both the design and on some aspects of the implementation. The design required iterative stages of planning and feedback from our client. We did this to ensure our system was simple and easy to use. The implementation needed research into new technologies and several approaches to ensure the best solution. During the entire process, I further developed my programming skills and learn the art of research. Most importantly, I acquired knowledge on how to build a fully functional integrated system from inception to conception.
Minds coming together
The complexity of learning how the Leap Motion device worked at the start of the project contributed to a general sense of dread in the first few weeks. However, as we went forward, we became accustomed to our roles and were more willing to explore new features. I think that once you understand a problem, you are inclined to take more challenges. In the beginning, when a problem seems very challenging and new, you focus on the many bumps on the road. In this period, it became important for me to understand how beneficial the use of this technology could be for doctors. Likewise, how this device could revolutionize the healthcare space. As a team, we propelled each other forward by ensuring we all were handling tasks that interested us the most.
We formed five team projects in the last two years of my undergraduate program, with the dissertation being the largest. We have also worked on a number of smaller, individual projects. I have learned valuable skills from working on both individual and team projects. Individual projects help me organize myself better and involve doing more research since I have no one to share the research load with. The results came out that it usually took a longer process before I actually got started on the task. On the other hand, working on a team involves different skill sets and experiences, which are big pluses. However, working with others can be more challenging when it comes to decision-making.
My advice to people working on a project as part of a team: Don’t hold back on your ideas but don’t dismiss another’s ideas. Make sure you work together and not against each other. Take responsibility for the task that delegates to you. Requirements usually change during the project’s life. Communication within the team and with the client about the technology changes becomes essential. No two teams are the same but I know I will carry the understandings and skills gained from my experience with me to my next team project.
What surprised me most about this project was the number of different applications used with the Leap Motion. Quite apart from use in healthcare, this device can be used in gaming, music and education industries. In the education space, it can offer a new way to explore and learn concepts with a more interactive environment.
This final assignment was exciting to me because it involved a host of new experiences for me. This including the experience of using a new technology and a new programming language that I had not previously used. Also, working with a new client (University College Hospital) on a medical-based application (new for me) with people who brought with them their talents, interests and skills. I am hopeful that these experiences will be beneficial to me as I look to enter the field as a computer science professional in just a few months.
About the Writer
Vijay Kishnani was born and raised in Spain. He is currently months away from completing the final year of his master’s degree in Computer Science from University College London in the UK. Kishnani is passionate about technology and believes the true test of any technology is the degree to which it can effect change and promote advancement in society. He plans for a career path as a software developer in a cutting-edge technology house. Vijay is an avid Real Madrid football fan and enjoys playing tennis.