The Lonely Positive Review

There are a couple things you learn when you kick off your OSU Post-Baccalaureate CS journey: CS325 is difficult and the vast majority of reviews portray the program in a negative light. As expected, the aim of these reviews range from a specific course/instructor to peppering the entire program with bird-shot.

The Good

Immediately after reading the latest earth-scorching review, it is difficult to not think, “am I crazy for having had the polar-opposite experience?”. There isn’t server large enough to keep track of the number of times ‘Ponytail-Guy’ (Wolford) has been dragged through the mud on Reddit. However, I never had a problem with any of Wolford’s presentations. On the contrary, I actually enjoyed the videos that starred Ponytail-Guy. I’ve always felt like he conveyed the material clearly and I can’t recall an instance where his teachings proved inaccurate in practice. Similarly, CS290 has been the focus of a ton of hate. Folks love to point students in the direction Colt Steele’s Udemy course for primary web-development resources. In my case, I found that I never ended up using the 3rd party resource, as the OSU materials were more than sufficient. Finally, some students prefer to lambaste the entire program in favor of limiting their concerns to specific topics. Overall, I found the program to be exactly what I needed. I was able to (loosely) learn at my own pace, which is privilege I enjoyed as someone who had left a position with tons of autonomy. The courses provided all the necessary resources, but also allowed for one to explore third party materials. Encouraging CS students to rely on official documentation builds a skill that is widely used in the ‘real world’. Finally, I found the majority of my professors/TAs to be helpful and available.

The Bad

Much like anything in life, the program has room for improvement. I hope the following doesn’t read the famous interview response, “my biggest character flaw is that I pay too much attention to detail”. I feel that the OSU CS program was almost too easy. Now, I realize that I’m not attending an ivy-league school (no offense, OSU). However, I still feel that achieving near-100% grades in every class should be fairly unattainable. At some point, my criteria for judging a poor performance switched from achieving a sub-4.0 mark to achieving less than 98% in the course. It is worth noting that, when our intro to programming courses (CS161 and CS162) are too easy, it can have a hellish impact on students. If we aren’t absorbing material well, we should fail the course and revisit the course. I know of a few classmates who struggled mightily in these courses, but were still able to earn pretty good grades.

This experience contrasts sharply with my first bachelors program. My first school, the University of Washington, is of similar stature to Oregon State. Moreover, one could say the same thing about the subject I studied, Mathematics. Despite the similarities, I found it was very difficult to eke out 3.6 grades. I am not saying this comparison describes a perfect science, I’ve left a ton of variables uncontrolled (free time, maturity, available tools, having been exposed to CS during applied math courses, etc). Regardless, even with those variables controlled, it still feels like my first degree was (subjectively) more difficult. It is worth noting that I believe that the switch from C++ to Python may have manifested in several of my aforementioned gripes.

The Ugly

One might notice that my ‘too easy’ complaint could be confused as a pro by many prospective students. That said, I do have an issue that could never be conveyed in a positive light, it is in regards to CS325. I don’t want to be confused, I loved CS325 as a whole. I felt the material was extremely engaging and was a huge fan of us using the old faithful CLRM as a text resource. Moreover, I thought the OSU curated learning materials were fine. Unlike the Reddit folks, I did not find myself relying on Abdul Bari’s Youtube series on algorithms.

My complaint is limited to a single assignment, the portfolio project. The assignment specification was so dang unclear, Piazza turned into an absolute zoo of clarifications. This wouldn’t have been too big of a deal, but the professors went radio silent for what felt like an eternity after the assignment was released. Upon returning to the course, the instructor/TA responses were contradictory. For example, one instructor would provide clarification that directly contradicted another course leader elsewhere, spawning a new post requiring the instructors to reconcile the differences. At this point, the cumulative Piazza clarifications hardly resembled the initial assignment specification, prompting students and course leaders publish ‘summation posts’ so nobody was required to scour Piazza for information. Unfortunately, you guessed it, these summation posts and revised specifications still contained contradictory information. Even worse, some of the language almost seemed to indicate that the author didn’t quite understand computational complexity.

Let us not forget the proposed fixes

Most of the leaders in my life would agree that it is unfair to highlight issues without having given any thought the solution. Fortunately, I’ve had almost two years to tease out some potential improvements. As far as increasing the difficulty level of the program, I would suggest reverting to primarily using C++. I realize there are tons of negatives to this suggestion, so I understand why it would never happen. Regardless, I feel bummed to have missed out on the legendary CS162 Langton’s Ant assignment. I feel like programs can benefit from having difficult ‘weeder’ courses early on. Increasing the early level of difficulty would reduce the number of students with fantastic GPAs that also still struggle with the basics. With regards to the CS325 Portfolio Project, I think the program has gone to some lengths to revise this assignment already (actually, the entire course). Assuming this assignment specification is unchanged, I feel like program leaders need to take some time to review the requirements and the language surrounding the assignment specification. Things should be remotely clear when the assignment is released. Finally, in anticipation of student clarifications, the course leaders should be able to speak fluently with regards to computational complexity.

Leave a comment

Your email address will not be published. Required fields are marked *