Every once in a while, people email me to ask whether Oregon State’s post-baccalaureate computer science program is worth it. Now that I’m nearing the end (I’ll graduate at the end of winter term), I feel like I can provide an answer. This post will serve as a long-form explanation of my answer, which is yes (with some caveats).
Before jumping into this, a short background about me to give you some context on the thoughts below: I’m a former elementary school teacher who wants to transition into teaching computer science. I started the program in the fall of 2016, and will graduate next term, which puts me on a more-or-less 2.5 year track. I think it’s important to say (at the expense of tooting my own horn) that I’ve done well in the program, by which I mean I’ve earned all A’s so far (though parallel programming (CS 475) was close).
I worked full-time during my first year in the program but haven’t worked for the past year and a half. My only other time commitments besides the Oregon State program are taking care of my daughter, volunteering one afternoon a week, and taking math classes (one or two per term) at Portland Community College and Portland State.
First of all, when we say “worth it,” what’s ‘it’? What are the costs? In my mind, the cost of doing this program can be broken down into three parts: financial cost, time cost, and opportunity cost. Financial cost is the easiest to quantify, so let’s start with that.
The financial cost breaks down like this: 60 credits at $487 per credit (as of Fall 2018), which works out to just under $30,000 in total (minus financial aid, if you’re eligible). On top of that, there are a few additional costs, like testing fees, textbooks, etc. I didn’t keep close track of these, but they probably worked out to a few hundred dollars over the course of the program.
Oregon State recommends setting aside 20 hours per week, per course. There are 15 courses in the program, each administered over 10 weeks (8 weeks for summer courses). This works out to 200 hours per course, or 3,000 hours for the entire program. Of course, these 3,000 hours could be broken up over one, two, three, or more years.
In my experience, 20 hours per week per course was at the upper end of the time commitment required for my courses. My most intensive term, time-wise, was probably the summer before last when I took data structures (CS 261) and assembly language (CS 271). These courses combined took around 35 hours per week. That said, this was on the shortened summer schedule.
All together, I’ll bet that I’ve spent about 12 hours per week, per course, on average, which will work out to around 1,800 hours for the entire program.
Opportunity cost is the loss of potential gain when one alternative is chosen. In concrete terms, this represents the wages you won’t be earning while in the program, or the time you won’t be spending with your family, or whatever. This is obviously a factor for everyone, to varying degrees.
All together, these costs work out to $30,000 and somewhere around 1,800 hours. When I finish at the end of next term, what will I have to show for them? Will it all have been worth it?
Whether or not the program is worth it essentially just boils down to one question: is working as a software engineer (or in a related C.S.-focused career) worth the costs outlined above? If so, then program is worth it.
Simply put, I believe that completing the program leaves you well-prepared for a career working in software engineering. I can attest to this, having recently completed an internship at Insitu. And many, many other people who have completed the program can attest to this, too. Alums of the program are working all over the place. A quick spin through my LinkedIn connections shows alums working at Google, Intel, Amazon, Salesforce, Boeing, Insitu, and on and on. In short, a computer science degree from Oregon State probably isn’t going to be a limiting factor in your job search.
Now, some caveats. The main strength of Oregon State’s computer science program is not the video lectures, it’s not the instructors, it’s not the assignments or other learning materials. The main strength is this: making a commitment to spend a chunk of your life focusing on computer science and software engineering.
It almost goes without saying, but you’re likely to find better educational materials on YouTube and at the public library than you’re going to get for $487 per credit at Oregon State. In some cases, way better. But who decides to quit their job and spend two years going to the library five days a week in order to switch careers? And even if you can justify that to yourself, can you justify it to your family? Will they wonder whether you’re wasting your time?
That last point gets at an important point: legitimacy. In some sense, that’s all a diploma really is. It’s just an organization (like Oregon State) willing to vouch for your expertise.
When I wrote above that the learning materials and the instructors are not a strength of the program, perhaps I wasn’t harsh enough. In fact, a lot of the learning materials are bad.
This doesn’t apply to everything, of course, but some of the courses are very disorganized, many of the lectures are painful to watch, a lot of the assignments are just mind-numbingly boring. This can be especially frustrating since computer science can be so fun and interesting.
Take Software Engineering II, for example, which focuses on testing, debugging, and version control. I got really fired up about unit and integration testing over the summer, so I was excited to jump into this course. In the end, though, I found it the be the most ‘meh’ course in the program. You’re given an old C codebase and asked to write some unit tests, some random tests, etc., and then to write up reports about what you found. This may mirror working in the industry, but I thought it would’ve been much more fun to treat the testing assignments as a kind of whodunit. As in, here’s a weird thing with this program, see if you can design a test suite to catch it.
That’s just one thought about one course. If you’re curious about what the other courses in the program are like, check out what I’ve written about them.
Random image of a building at Oregon State to break up this long post. Photo by Al Case.
In the same vein, there are a number of instructors who left me wanting. It was as if they were simply administering a course rather than actively teaching it. This is certainly compounded by the fact that most of the people who I had as instructors did not actually design the courses they were teaching. So you’ll have your “instructor,” but when you pull up the lectures it’ll be someone else’s voice from like five years ago. For the cost of the program, I felt like Oregon State could do better.
All of that said, it’s worth pointing out that there are some fantastic instructors, too. I can’t say enough good things about Tim Alcon, Benjamin Brewster, and Stephen Redfield. These instructors really care about their students’ learning. You can feel it.
I know based on my experience as an educator that designing an academic program and teaching it is really, really hard. Certainly harder than many of the concepts addressed in the program. And so I think it’s important not to be too critical. But again, there’s some low-hanging fruit (standardize how courses are administered in Canvas, update and improve lecture videos, hire more passionate instructors, etc.), and I hope that the program administrators reach out and grab it.
I’ve said enough. Hopefully in the process I’ve made the case for why I think Oregon State’s post-bacc computer science program is worth the time and money if you want to work in software or a related field. Are there alternatives? Sure. Hit the books at the library, enroll in a bootcamp, etc. But for me, none of those options would’ve gotten me to where I am today. And that’s precisely the point.