Flora’s guide to OSU's post-bacc in comptuer science

Thoughts and advice on the program

Posted by Flora Zhang on May 05, 2023 · 14 mins read

Since I am a few classes into this program, I figured I’d put together some resources and thoughts so far! (Update: I've been continuously updating since May 2023 and will continue until I finish the program!)

Program overview:

First off, let’s go over what the program I am doing right now is. It’s an online post-baccalaureate program, so you have to already have a bachelor’s in something other than computer science. It is through Oregon State University’s E-campus. It is 60 units (on the quarter system), and consists of a lot of different computer science classes. You will not have to take any classes outside of computer science except for discrete math.

Classes I have taken so far(I graduated Dec 2024, so this list is now complete!):

CS 161 - Intro to CS I(at a CC)
CS 162 - Intro to CS II
CS 225 - Discrete Math
CS 391 - Ethics in CS
CS 290 - Web Development
CS 352 - Intro to Usability Engineering
CS 261 - Data Structures
CS 271 - Computer Architecture & Assembly Language
CS 340 - Introduction to Databases
CS 361 - Software Engineering I
CS 362 - Software Engineering II
CS 372 - Intro to Computer Networks
CS 325 - Analysis of Algorithms
CS 374 - Operating Systems
CS 475 - Intro To Parallel Programming
CS 467 - Online Capstone Project

My Favorite Resources to Plan Classes

Class Reviews
Class Requirements
Class Scheduler
Class pre-reqs- figuring out which classes unlock what
Program subreddit - subreddit specifically for this program
Program Discord - discord specifically for this program

Things to know before you start:

  1. If you haven’t done much research into what classes you are taking in the beginning, be warned that you might not be able to be a full time student your first quarter or two because you need to take the intro classes to unlock more classes.
  2. This program is expensive! I think it is more expensive than most undergrad in person programs, so I would suggest looking into the community college equivalents for the first few classes you take. Although I will say the quality of teaching will probably be different.
  3. Think about if you want to apply to summer internships and plan your course load around that.

Why you should or shouldn’t do this program:

Should: I think you should do this program if you do not have a background in computer science (less than one or two classes). This is because this program is so introductory and you will be relearning things if you have taken more than a few classes because you can only transfer in so many classes. This program is also nice if you work part time or full time because it is completely asynchronous. If you have time to do a summer internship, this program is great for getting you past the resume screening. I should be finishing June 2024, and that is the ideal graduation date for those pursuing summer 2023 internships because then the company can give you a return offer after your internship (assuming it goes well).

Shouldn't: I think you shouldn’t do this program if you have a background already (a bootcamp or taken more than 2 classes in computer science). I think you are better off pursuing a masters. A graduate degree will likely be expensive, but again, this program is also expensive. If you struggle with online learning a lot, you would probably be better off with some sort of in person program.

Thoughts about the program in general:

I love the OSU community. I think the TA’s are very helpful. And because it is an online program, there is a large online community. You will be able to find people in your classes even though everything is virtual. Most people work full time, so if you don’t, you should be aware of this if you are working together with others because you might find it hard to match schedules.

Online classes are online classes. I think the quality of the content will really depend on the class. Personally, I like watching videos a lot more than just reading text. Most classes will have both, but some are more video heavy and some are more reading heavy. I feel like because I took UCSB’s classes that were meant to be in person online (due to COVID in 2020), I got really used to watching full lectures online. But I think you learn to adapt and find other resources if you feel like there are gaps in your knowledge. Most of the TA's for the classes are super super helpful, so make sure to go to office hours a lot, especially when it's farther away from the deadline.

Get involved:

Honestly I think there aren’t too many clubs that are hybrid or fully online, but one that I know is super accessible to online students is OSU Hackathon Club/Beaverhacks (www.beaverhacks.com)! I was actually VP for a bit before my internship. Attending hackathons is a great way to be more involved in the community and for adding projects to your resume. I know OSU App Development Club is also hyrbid.

Notes on specific classes:

CS 162 (Intro to Computer Science II): It has a few assignments that were fairly difficult for me because I feel like I didn’t get a strong understanding of object oriented programming from the cc-equivalent class I took for intro to cs I. Be careful of the hidden tests! Just because you pass the visible tests does not mean that you will get 100% on the assignment so go to office hours!

CS 225 (Discrete Mathematics): This class is not easy for most people. Make sure you have reviewed basic algebra if you haven’t done it in a while. Take advantage of office hours and make sure to do the practice tests because they are very similar to the actual tests. The final is proctored, but I had no issues when I took it.

CS 290 (Web Development): This class is nice if you are missing side projects because the final project is a website you can use as a portfolio website. This class also gives you the skills to create a separate portfolio website if you want.

CS 352 (Introduction to Usability Engineering): This is a nice filler elective class unless you are really interested in usability engineering. For me, it was just a nice group project class because my group was very nice and everyone did their work for the most part.

CS 261 (Data Structures): The lectures are very very minimal in this class. I have done a good amount of leetcode so I think I understand the underlying concepts so far. If you do not have any background knowledge on data structures, you will need to find a lot of supplementary material such as Abdul Bari

CS 271 (Computer Architecture & Assembly Language): I'm writing this a few months late, but this class was HARD. I think this class was the one that I went to the most office hours for. I think the best advice I have is to be ready to really get into your code and really understand what's happening with the memory and everything else.

CS 340 (Introduction to Databases): This class is half a group project and then half other quizzes and more "busy work" kind of vibes. I really liked my partner for this class (shoutout to Sonja!) and had a great time learning more web dev and databases work. Honestly not a hard class as the starter code helps a lot. The hardest part was probably our database design, but we definitely made it more complicated than what was required. My only advice for this class and future group work classes is to understand how to work with a shared repository for coding.

CS 361 (Software Engineering I): As many other people have said before, this class is very easy. You could make it more difficult by creating a hard project. But to meet the bare minimum and to understand microservices, the project in this class can be very simple.

CS 362 (Software Engineering II): Even more low maintenance than CS 361. I will say though that the password assignment took a lot of time because of trial and error.

CS 372 (Intro to Computer Networks): This class was a little bit of a mess when I took it with Prof Lewis. The lectures and quizzes weren't difficult, but the socket programming was. It felt like I barely understood what was going on for the project and with many delays, we only had to do two parts. Part 1 was just working around creating a command line interface and using the right loops. Part 2 was much more difficult, but honestly creating it was very rewarding in the end. Don't be afraid to message Prof Lewis on Teams! I think I got very scared of sounding stupid but when I did message him he was super helpful!

CS 325 (Analysis of Algorithms): The midterm was fairly easy because I had studied a lot, and then I bombed the final because I thought I would have enough wiggle room. Lessons learned. The homework in this class is fairly easy especially in the earlier weeks because you get to see a lot of them in the examples. I'd say make sure you do enough example problems to really understand the concepts. Understanding the concepts is by far the hardest part of this class, and you shouldn't hesitate to look up outside resources to further your understanding!

CS 374 (Operating Systems I): It's been too long since I took this class for me to really remember what it was like, but I remember I took it when it was still being revamped. So either way I think my experience wouldn't be too applicable anyway. It was not the most enticing class to me. Most of the assignments were to fill out missing parts of the code. We also had to handwrite essays so that we couldn't just copy and paste from ChatGPT, which I thought was interesting.

CS 475 (Intro to Parallel Programming): This class was honestly very interesting to me. The assignments were similar to operating systems in that you fill out the blanks. I liked the simulation kind of stuff and the lectures were recorded in a way similar to when UCSB went online. The professor screen records a PowerPoint and lectures over it. I also really missed classes like that.

CS 467 (Online Capstone Project): This class is probably as hard or as easy as you want. I got assigned to a random group after selecting which projects I wanted to do most. It went well, and we did create an active website. I do think a lot of people get senioritis in this class though so everyone's motivation is a little low.