Friday, December 14, 2012

One of my best courses @USC Geospatial Information Management



Last Spring when I took the CSCI 402 class I thought this would be the best class that I would have come to experience during my M.S. CS course at University of Southern California (USC). Come to Fall 2012 and I guess I was proved wrong. Not to undermine the CSCI 402 class under Prof. Crowley. He is a legend and his class was an epitome among all the classes I had taken so far at USC. It taught me teamwork, core programming skills and I guess one more big thing that is estimation. An estimation of how much time I would take in building some projects. I guess it is very important for a software developer to know that.

But Fall 2012 brought an another course CSCI 587, Geospatial Information Management. This course would be by far one of the best courses I took at USC. The course is taught by Prof. Cyrus Shahabi who is a veteran in the Geospatial domain and it is completely reflected in his selection of research papers, his chronological order of reviewing and teaching them to the students. The coursework for this course is by far the best ones that I have seen so far in terms of design. It is not surprising that this is one of the few courses in the US which is taught via the Distance Education Network to two schools in Vietnam. The professor teaches the course with ease and his humour is always present even while reviewing the most difficult research papers ever. That is one of the reason that he manages to deliver with such ease. With a lot of papers he gives such great research insights and technical challenges that helps you understand the world of research and academia. The professor also gave a few entrepreneurial lessons in one of his classes. For someone who is a start-up enthusiast like me those lessons were really cool.

Personally, I can now wrap my head around everything that may be non-technical with research.
The crux of the course is Geo-spatial data storage and management. Everyone today in the start-up industry says that an app in today’s world cannot be successful if it lacks one of these three things, Social, Mobile and Geo-location. I learned the Geo-location techniques and all the research behind it in this course. Looking at the evolution of research in this area also teaches you a lot of things. The professor also highlights those areas throughout the course.

Apart from this the course taught me the importance of design. Project design, brainstorm meetings, UI/UX design for my project all got me into the real development scenario at a Start-up. I learned scheduling with team members, handling deadlines and iterative development. There is so much iterative development that I did with this project that now it seemed like that is the only software development model that existed.The project in this course taught me teamwork again, but at a whole new level. Our three people team was actually time a product team where each one was responsible for one aspect of the project.

At the end of the course when my team presented our project the professor even suggested us to apply at some incubators in LA with this idea. I am going to do that soon. Well, and not to forget that we owe our TA  a 5% if this takes off. It is pretty clear that going forward I am going to miss this course but I will never forget all the lessons it taught me.

P.S I was the one to donate the maximum chocolates in the class on the day of Halloween.