Kurt Teichman, B.S. ICS (2011), discusses his experience moving on to Cornell for graduate school. (Interview in January, 2012.)
What program are you enrolled in now, and what kinds of things are you doing?
I am currently pursuing a masters in computer science at Cornell University. This first semester has allowed me to take a graduate computer vision course through the ECE department which includes a lecture and a practicum. Practicums are essentially lab style additions to the lecture courses that are often 1-2 credits. It allows a student to have more practice implementing various topics discussed in lecture that could not be assigned in the normal homework. The course required a semester long project and poster presentation at the end of the semester. This particular flavor of computer vision focused on a broad array of topics such as: continuous/discrete signal processing (both in 1d and 2d), various space transforms, various interpolation, various spline usage, sampling theory, machine learning, and some biology.
I have also taken a graduate graphics course through the computer science department which also included a lecture and a practicum. This was a heavy linear algebra based course with some aspects of signal processing and sampling. We wrote a ray tracer, implemented our own version of the opengl pipeline, and dipped our feet into animation. This was an intense class consisting of many topics. Some of these topics include: texture mapping, shaders. primitive shape rendering, custom complex shape rendering (triangle meshes), animation in 3d – hierarchical transforms, lighting, many techniques of interpolation.
The last course in the line up was advanced game design. This was an intriguing experience as I had no previous programming complicated games. At the early stages of this class, I was assigned to an iOs development team, while also having no iOs experience. In fact, only one other student had professional experience developing with iOs. We were also given the opportunity to work with an ex-Zynga game designer who skyped with us from San Francisco as well as a professional artist working out of Canada (from a city I can’t recall). This was an extremely interesting experience although initially scary. We plan to get our game out on the app store, hopefully in the next semester.
My main purpose in going to Cornell was to explore the relatively new field of computer science in medicine. There are many venues in which one can find work in medicine: informatics, quality of care assurance, computer automated diagnosis, medical worker support, human computer interaction, training systems, electronic medical records, medical imaging, robotics and so forth. There is an increasing need for skilled individuals capable of creating connections between medicine and the digital age. One day I hope to bridge the gap between them.
During the Spring semester, I will have the opportunity to work for the Weil Cornell Medical College and explore opportunities in research regarding medical imaging & computational biology.
What kinds of experiences during your ICS days have proved valuable to you in your current situation?
There have been many ICS experiences that provided resources that I use in my current situation. Most, if not all, of the courses at UH gave unique challenges that helped develop the abilities that I use today.
I have to say that Professor Sugihara’s Algorithms course was extremely helpful in providing the more technical aspects of computer science and math in general. Of course it was initially extremely intimidating as well. The style in which he gave our assignments forced us to learn to work with rigorous mathematical language. He also helped us develop a thinking framework from which we could build an approach to various problems. It was from this beginning that I was able to pursue higher math education in a more agile manner. The continuing experience of getting new problems and learning while solving the problems has been very useful to me.
I also appreciate the concepts I’ve learned from Professor Johnson’s software engineering course. His class introduced me to working in a team, and the dynamics involved. My game design experience at Cornell was essentially successful due to our use of version control and a sort of iterated design approach. As expected, meetings and communication were very important. Thankfully Professor Johnson instilled methods of the development process in all of us during our time in his class. The UH Solar Decathlon experience was invaluable as we needed to be in constant communication with our engineering counterparts. In the beginning of our game’s development process, code reviews were essential to proper design and iOs competency. Our project lead had to look over some of our code and provide tips on how to do things more efficiently/correctly. During the middle and later phases, we had to do enormous amounts of testing to assure the functionality of our product. Testing was crucial. Also, my professional portfolio has been useful when looking for housing and jobs. Any employer / potential house mate would like to get as much information about you as possible. This has no doubt opened a few opportunities for me. I’m very thankful I created one during my stay in ICS413/414.
Professor Chin’s scripting course provided exposure to regular expressions which I have used in both professional settings (crawling) and academic settings. I can’t stress enough how useful it is to be comfortable with manipulating text and automating various types of experiments via a scripting language. Data, unfortunately, does not always come in a nice format. His class provided the necessary tools to flexibly modify/parse any pattern of data. His course also provided a nice crash course in scripting, and I soon learned the awesomeness that is perl and python.
Professor Lipyeow’s Advanced Data Management course exposed me to quite a few advanced principles such as MapReduce. He also pushed us to read scientific papers regarding flavors of data management which were technical and often hard to understand. I appreciated the experience as it was a solid exposure to the task of reading and comprehending technical research papers. Coincidentally, my game design professor here at Cornell, Dr. Walker White, was an author of a paper that I presented in Professor Lipyeow’s class (An Evaluation of Checkpoint recovery in MMOG’s). He was intrigued that I read his paper at UH. I was also able to ask him about the enigmatic Zipfian distribution that he used for player update simulation. Hopefully I’ll be able to get back to Professor Lipyeow about this one day.
Professor Casanova’s operating systems course was very thorough. His introduction to concurrency and threading has proven to be very helpful thus far in my graduate courses, although I do need a little more practice. Also, I enjoyed reading through Casanova’s assignments as they were very fun and thought provoking. His style of coding is something I really like and I try to emulate it in my coding.
And last, but not least, Professor Patriarche’s Computer Science in Medicine exposure was a driving force that enabled me to pursue this venture. It is thanks to her that I will hopefully be able to combine my interests of computer science and medicine/biology. She also exposed me to medical imaging and her own research on change detection. This peaked my interest in medical applications of computer vision. I was able to take a graduate course in computer vision here at Cornell from a Professor involved with the medical college. Since Professor Patriarche had stimulated my interest, I started to research computer vision as an undergraduate. This made the transition into the graduate course a little easier as there were some heavy mathematics that went along with it.
What kinds of advice would you like to give to our current students? For example, what do you wish you had done more of while you were at UH?
I’m a science and a wanna-be math guy by nature. However, I would have to say I’m definitely weaker in the math aspect. If I was at UH and had the opportunity again, I would have double majored in math and computer science as many of the requirements for graduation overlap. If this was unfeasible, I would have at least minored in math. There are many doors available to you in computer science if you have a strong math background, especially in any type of theory, AI, machine learning, graphics, simulation (to name a few). I would have also liked to have taken more statistics classes. Professor Lipyeow once told me that statistics are the most useful type of math to know. I’m inclined to agree as their usage is ubiquitous in any science-esque field. However, this was not readily apparent to me until I became more exposed to different flavors of science.
In short, no matter how hard it will be, make math your friend and computer science will be much more enjoyable for you. If you are open to the fact that it will take work, learning new math skills can be a lot of fun once things start clicking.