alexseubert dot com

Words About Things

Software Engineering from Coursera

Update: I’ve since moved over to using Octopress to generate my static site.

Welcome to summertime, my last glorious summer as an undergrad. While I’m not taking classes, I am working a couple jobs to pay bills. However, none of my work is related to programming. As a result, I’ve been trying to figure out what I want to spend these few months studying to prepare for my classes in the fall and just generally better myself as a programmer in the build up to my job hunt at the end of the year. I considered a few options, from HTML/CSS/js to Scala (which I actually did spend a couple weeks dabbling in but have since gotten distracted) to C++ (I’m taking an upper level algorithms course using C++ in the fall so I want to be at least a bit familiar with it). This afternoon I decided to check and see what was available on Coursera over the summer and was pleased (and a bit surprised) to see a course about software engineering using Saas and Ruby on Rails.

The course is taught by Armando Fox and David Patterson out of UC Berkeley and covers a lot of topics of modern development that I find lacking in a more traditional CS curriculum. Concepts like agile and test-driven development are, at least from what I understand in my reading and observations online, certainly present in many professional non-academic environments but are not generally taught to a typical CS undergrad. They may be mentioned or even picked up by students along the way, but they don’t seem to be commonly taught in a formal manner. This makes a bit of sense since many of these higher-level concepts are worthless without a firm grasp on the programming fundamentals that are taught during a CS program. That said, it makes sense to at the very least introduce the topics to people who are about to hit the job market at which point they will be expected to either know how to use these tools and methods of software development or to be able to learn them quickly while also assimilating to a professional environment in general.

With all that in mind, I’ve decided to use the first half of the summer to go through this class in an attempt to familiarize myself with not only the core concepts of the class but also with the fringe topics that come alongside, like Ruby, Rails, and basic web design. By the end of the class I hope to have a firm grasp on contemporary software engineering paradigms, actual practice implementing these ideas, and experience with things like deployment to Heroku. I believe these skills will help supplement my classes and give me a foundation on which to build potential web applications to bolster my resumé. I’ll be tagging my posts about this class with ‘saas-class’ for now, but as I move forward I might switch blog platforms to a Rails-based system for a little more practice and experience so my tagging/classifications might change.

Here goes nothing.