Student Blogs
MS in Software Engineering, Technical Track Blog
Rahul is a full-time MS Software Engineering, Technical Track student. He loves traveling, trekking, swimming and is a complete movie buff. | |
Anthony is a 2nd year part time student in the MS Software Engineering, Technical track program and works at OSIsoft as a Software Engineer. He loves spending time with his family, hiking, biking, gardening, cooking, and sometimes photography. | |
Suma is an alumna of the MS Software Engineering, Technical Track program. A Mechanical Engineering undergrad, she loves writing and is passionate about music, shopping and dogs. | |
Minh is a Software Design Engineer at Microsoft and alumnus of the MS Software Engineering program. He is also a Vietnamese community activist, a cat-lover and passionate fan of film music. | |
Nick is a Software Engineer at Google and a first-year grad student at Carnegie Mellon Silicon Valley. He loves hiking, gaming, and both really extremely good and extremely bad movies. |
Saturday, December 22, 2007
Wrapping up Construction I – Wohoo!
Last week I finished the first mini of our 3-mini Construction class (a mini is half a semester), and I must say that Construction has been all that it was promised to be—exciting, fun, a lot of cool stuff—all while learning many new things. In just over seven weeks, my excellent kick-ass team put together a prototype of a social-networking based MovieRecommender website that provides movie information, and the ability to purchase movie tickets on the web as well as the phone. We took parts of the requirements that we had gathered in the Spring 2007 semester and in SCRUM style we have iteratively planned, managed and implemented the product backlog items one week at a time. In the end, our team not only has developed a product that we are very proud of, but we’ve also over-delivered because we got so excited about this product and the technologies. Ruby on Rails was the savior in developing multiple views for our application: from HTML for the web, to trimmed-down versions in XHTML for advanced mobile phones, to WML views for old-fashioned cellphones, and … get this… VXML for voice-recognition!
VXML? Voice-recognition? Yup, you heard it right. What happened is that our team got ahead of the game pretty early; we were the first one to deliver the mobile views, getting the unit tests to run, and getting the integrated build systems to work. After already delivering the purchase-tickets feature or showing maps of movie theaters on the cellphone via GoogleMaps or even geocoding zip codes into “nearby theaters” by using Yahoo’s GeoCoding webservice, we decided that the last task of allowing users to reserve restaurants was just too boring for us, and that we wouldn’t learn anything new. So, we sat down with our faculty and negotiated with him to deliver the VXML/Voice-recognition instead. With much research and fun we used Tellme Networks’ free VXML-development environment to develop a voice-solution that allows you to call a 1-800 number to access movie information. Tellme’s call server would access the necessary movie information by accessing the VXML files that we developed and hosted on the Carnegie Mellon West web servers. How cool is that? In fact, the stuff that we do in our technical track has become so cool, that two students in the development track have already decided to switch to the technical track!
This example demonstrates again that CMU West ain’t your typical master’s program. Where else do you get to develop with state-of-the-art technologies and practice new software development lifecycles in a safe environment, increase your breadth of technical knowledge so rapidly, all while having fun and even getting to have a say on the curriculum’s content and direction? Welcome to Carnegie Mellon West.
Happy Holidays!
posted by Minh Nguyen @ 3:38 PM 0 comments
Monday, December 17, 2007A whirlwind semester draws to a close
Whew. One semester is finally finished. Things definitely get a lot more hectic towards the end of the semester, which seems to have coincided with the rest of my life getting more complicated as well. Over the course of a week, my CMU team prepared our final presentation, added the final bit of functionality to the code (the reports UI, which I'll try to post here for the person who wanted to see how it looked).
Technically, it was not overly complex. It was a relatively straight-forward Java program (swing, some timer threading, and an existing Hibernate/MySql backend) but it definitely taught our team how to learn new tools in a short timeframe. I don't think any of us came into the class knowing much more than just the basic Java practices. The existing code's design patterns and extra technology like Hibernate were not things we had any familiarity with. However, the faculty were able to address some of those issues during weekly information sessions on different technologies we were using.
posted by Nick Lynn @ 2:16 PM 1 comments
Thursday, December 6, 2007Ruby on Rails – where hast thou been all my life?
Time flies when you’re busy, and boy have we been busy with the Construction class. Through all our classes at CMU West, we are supposed to keep track of our hours spent on school, and I noticed that with Construction my average hours spent per week is usually around 25 hours and above, which is significantly more than the usual 10-15 hours I spent on school. However, I attribute this to the fact that I thoroughly enjoy what I do in this class, and that I am a perfectionist trying to make a product that has production-level quality.
What we have done so far is to develop a social-networking based Movie Recommendation website built on top of Ruby on Rails. Fully embracing the SCRUM development process, we have developed a fully-functional website that allows you to register, look up movie information, make movie recommendation, pull up showtimes and theater information and even purchase tickets in four sprints. While we are lagging behind a bit with writing our functional and integration tests, we have practiced the majority of the SCRUM process including stand-up meetings, story points, sprints and backlog items. Fully-embracing the Model-View-Controller paradigm of Rails, we have also developed views for the same functionality for the phone, so you can do all that jazz on your WAP-enabled phone now as well. Now, it’s amazing that our team of only three people was able to pull this off in just four weeks, and we have to thank Ruby on Rails for that.
As a developer who has always had an interest and expertise in web development, I have an appreciation for Ruby on Rails. Its superb database-support via ActiveRecord and superfast development via the MVC model and customizable scaffolding support as well as pretty cool
I find myself learning a lot about Rails, and am almost done with reading our book on Rails cover-to-cover (even though that’s not even required). It turns out that the hardest part about learning Rails was the complicated setup and knowing all the conventions. As a person who is used to simple one-stop-installations in Windows, I found the installation, configuration and deployment of Rails to be rather complicated: installing Ruby, MySql, Java, NetBeans, Mongrel, FastCGI, environment.rb, so it helps that our adjunct professor is a Rails enthusiast and a real Vice President of Engineering at this company that is sold on Rails. Once our team had the basic Hello World going, adding new functionality was a breeze, provided that we know all the Rails convention, so now we are speedily cranking up new features like there’s no tomorrow.
posted by Minh Nguyen @ 3:06 PM 0 comments
Previous Posts Archives