Introduction
Over the years, I’ve frequently been asked these questions regarding my alma mater, Cal Poly Pomona (CPP).
- Why did you pick CPP?
- What was CPP like?
I seek to give an honest review about my time at CPP and explain my stance for prospective students interested in computer science or cybersecurity. This post is not about “takeaways” from my time in college, but specifically reviewing CPP as a university.
Contextual Biases:
- I think CPP is okay, but just okay
- I highly, highly prioritize learning, collaboration, and accomplishments over recreation
- I strongly believe spending time in good extracurriculars is more important than good coursework
- I got out of CPP exactly what I wanted
- I think university is for the scholar mindset, not the “be successful employee” mindset
Why did you pick CPP?
When I was a senior in high school, I knew I wanted to go into computer science and ideally work somewhere in cybersecurity. I was shopping around for schools that specifically had adequate programs for both interests. Through word of mouth, there was one school that stood out in my mind.
Throughout the 4 years I spent in my school’s CyberPatriot program, many alumni had taken the route going through CPP. At that point in time, my high school had a strong pipeline of sending CyPat kids into cybersecurity by going through CPP SWIFT (Students With an Interest in the Future of Technology), a club at CPP.
Every year, CPP SWIFT would hold an event called Tech Symposium, which is how I got to know the campus. For 3 years at that point, I had attended it and I realized that CPP had a decent presence on campus for cybersecurity interests. I knew that although it wasn’t necessarily the most glamorous institution (compared to a UC, Stanford, or other private school), it would be a very acceptable backup school at minimum–one that I knew that I could get into based on my grades and other standardized testing. So, I decided that I would apply for computer science because I knew that it was the most applicable major for what I wanted to do, which was somewhere with a background in software development.
CS vs CIS @ CPP
To provide a brief context between the differences between computer science (CS) versus computer information systems (CIS) at CPP, one must first understand that computer science belongs to the College of Science, whereas CIS belongs to the College of Business Administration. This is fundamentally important because that means that the major-required courses and electives that are major-related will be very different. For example, the business administration courses fundamentally focus on business-relevant coursework like taxes, law, business management, and real estate, and a lot of things that really have no use to someone who wants to make a career rooted in modern tech. Whereas computer science will have things like discrete math, algorithms, and system architecture. Do not be fooled; CIS is not a “tech” major.
CS Pros vs Cons
- Pro: learn computer science/software development concepts
- Pro: surrounded by more technical opportunities
- Con: more technical homework and projects
CIS Pros vs Cons
- Pro: easier coursework, which means more time for extracurriculars like clubs/personal projects
- Con: significantly less relevant coursework
- Con: most peers will not be aiming for being strongly technical
How does the coursework differ?
CPP publicly publishes the coursework for all majors via Curriculum Sheets so you can get an idea of what you will have to do. The year you begin your undergrad would be the curriculum sheet you will be required to complete. Go to the curriculum sheet portal and view the latest years. For CS click on College of Science and for CIS click on College of Business Administration. You should be taken to a page that lists out majors. Click on the one you want to view, the click on the option saying "Curriculum Sheet".
At the end of the day, it is up to you with what you value the most. I’ve had friends who swear by saying “never do CIS, it is worthless” and others that have said “it gave me the time needed to work on personal projects”.
More on extracurriculars vs quality courses
Especially in tech, the industry moves too fast for universities to be up to date, so focusing your time on extracurriculars enables you to learn more in-demand skills. Transparently, though, I don't think most people take advantage of the time they have to truly warrant picking a major to make more time. The benefits of quality courses is that they provide an ecosystem to learn more abstract background concepts of topics that will influence the way you think more than what you know. However, I have also met people that truly are not scholars and want to do the bare minimum to get the piece of paper. If the very concept of going to class drains you, then I guess course quality doesn't apply to you. That being said, most impressive projects can be built while doing more than what CIS and CS would require. So while personal projects/extracurriculars could be compensation for the lack of better education, the goal in my eyes is to get the best of both.
Cost
One of the most attractive parts of CPP for me was the cost. A semester of CPP cost about 3.7k in tuition and fees. Roughly 30k for all 4 years. I lived close enough to not need room and board, so I saved a ton of money by commuting every day.
What was CPP like?
Disclaimer: I never lived on campus in any form, so my experience may be very different from others. I will try to incorporate the stories I have heard.
Campus life (?)
I wouldn’t say I’m a great expert to talk about campus life since I never really lived at CPP, so I’ll focus on the things I did experience.
Most people commute to CPP, so there can be difficulties with identifying communities on campus to join when most people tend to just go home ASAP. Most friend groups usually form from 1st classes or other social events like clubs.
In the case of CS and cybersecurity, there are some decent clubs like CSS for CS and SWIFT for cybersecurity. Personally, I never joined any of the CS clubs because I was focused entirely on SWIFT, so I can’t say if others were any good or not, but they do host hackathons a few times a year.
There are frats and such on campus that I have heard mixed reviews about depending on what you’re looking for (study buddys, meet friends, volunteer opportunities). From speaking to people, I largely got the impression that if you risk losing focus and momentum, reconsider your level of participation. I can’t speak much more on them because I don’t want to misrepresent something I know little about.
Housing
There are 3 main locations for housing “on-campus” at CPP.
- The new dorms: I have heard that they started out okay, but immediately are super gross now
- The old dorms: Always been gross
- The Village: Basically campus-owned, apartment-style housing across the street from CPP, they are okay but largely depends on how much you clean the place
All of them are wicked overpriced. I’d recommend getting out ASAP.
Food
There are 3 different primary food courts on campus.
- Bronco Student Center (BSC): Chain restaurant locations (Roundtable, Subway, Hibachi-san), it’s what you expect
- The Marketplace: Chain restaurant locations (Panda Express, Carl’s Jr, QDOBA), it’s what you expect
- Centerpointe: I’ve never been, but have only heard horror stories
There are also a few cafes/marts (Brewworks, FitBites, Element Cafe) on campus where you can get quick bites to eat that genuinely aren’t bad.
Courses
Computer Science
My time completing the CS major at CPP was very mid. Overall, I think the track itself wasn’t that bad. If you don’t have a strong background in CS going into it, it will cover a breadth of topics via major required courses + electives. However, if you know you really want to get deeply technical and advanced, I don’t think CPP offers that kind of coursework. Extracurriculars such as coming up with an idea and building a tool will be orders of magnitude better and providing deeper technical insights.
Going into CPP, I already had 4 years of CS background from high school, so I considered every course very easy. CS profs at CPP are extremely hit or miss, so many classes vary a lot depending on who you get. Here are my very brief thoughts on most of the major courses I took.
Course Code | Course Title | Brief Review |
---|---|---|
CS1300 | Discrete Structures | Your standard discrete math course, generally a weeder based on how strict/annoying your prof is |
CS1400 | Introduction to Programming and Problem Solving | Intro to Java |
CS2400 | Data Structures and Advanced Programming | Intro to DS like bags, queues, stacks, hashes/dicts/maps, etc., slightly prof dependent but YouTube-able |
CS2600 | Systems Programming | Intro to C, memory, Linux (BASH), prof dependent |
CS2640 | Computer Organization and Assembly Programming | Uses MIPS for intro to assembly, pre-basics of computer arch |
CS3010 | Numerical Methods | Implement math algorithms via programming, a little math-y but fairly basic, depends on prof |
CS3110 | Formal Languages and Automata | More advanced discrete math, quite interesting, difficulty depends on prof, semi YouTube-able |
CS3310 | Design and Analysis of Algorithms | Intro to advanced algorithm ideas like D&C, Dynamic Programming, etc., prof dependent, YouTube-able |
CS3560 | Object-Oriented Design and Programming | Intro to application development lifecycle |
CS3750 | Computers and Society | Talk about ethics of tech |
CS4080 | Concepts of Programming Languages | Understand what a programming language really is and how it works, can be a lot of writing, prof dependent |
CS4310 | Operating Systems | Intro to operating systems, concepts like shared memory, deadlocks, synchronization |
CS4630 | Undergraduate Seminar | “Can you give a technical presentation?” |
CS4800 | Software Engineering | General best practices for modern software development |
CS3800 | Computer Networks | Intro to concepts of computer networking, very basic |
CS4200 | Artificial Intelligence | Intro to basic concepts of AI, you can learn more on YouTube, pretty bad |
CS4210 | Machine Learning and Its Applications | Intro to ML models/algorithms, abstracts most of the statistics involved |
CS4600 | Cybersecurity and Information Security | Basically just cryptography algorithms, wasn’t very good |
CS4650 | Big Data Analytics and Cloud Computing | Basically just using databases for different kinds of data, largely useless because very limited use-case analysis |
Computer Science at CPP is largely project-centric. Most classes will have some mix of weekly projects, a few bigger projects every few weeks, and a big final project. There will still be some more traditional assignments answering things, but expect balancing projects every week.
I think I would spend about 2 hours a week on homework per course from CS classes, and maybe double that if I had a bigger project.
Gen. Eds and other coursework
I don’t think CPP did anything particularly better or worse than most other universities.
I think at any university, your experience in general education courses will be dependent on 2 main factors: your perspective on enjoyment of extraneous knowledge, and the professor.
Some people genuinely see 0 value in learning anything outside of their major and there’s nothing you can say to make them think otherwise. Other people love learning tidbits of info they otherwise would never have come across. CPP won’t change this.
The professors I chose for the credits I needed were largely selected based on reviews I had seen online. I think because I am the latter kind of person and that I selected professors I found interesting/amusing/passionate people, I enjoyed my non-major courses.
Similarly, I think I would spend about 2 hours a week on homework per course for electives on average, but there was greater variation than for CS classes.
Campus
I would consider the campus overall to be small, especially for CS/CIS majors. Most of the areas CS/CIS majors need to be in is just one portion of campus. Easily walkable, a little hilly but it’s nice. The campus is very easy to get to because it is so close to many highways.
Pomona itself isn’t really special but if you have access to a car, you can go to other places to get lots of good food and stuff like 15 minutes away.
Parking
Parking is really bad at CPP because of all the commuters. Be prepared to go to campus at least 30 minutes early to find parking/parking far away. It is also pretty expensive (unless you want to risk a $50 ticket for not having a parking pass). EV charger parking is extremely limited. Sometimes I would have to wait over an hour just to secure a charger.
Gym
The gym at CPP is called the BRIC. While I only used it sparingly, it was pretty good and features a rock climbing wall. It does get very, very busy at times, so you’d have to find a convenient time in your schedule. I would go between my team practices on Saturdays, or after my night classes and usually it had minimal if any wait times for machines/weights.
Thought, I haven’t used it, my friend said the 25y, dozen-lane pool is usually fairly empty so usually available.
Conclusion
If your goal is to work on cool stuff with a lot of technical people, CPP is extremely hit or miss. I had a truly phenomenal time at CPP because my cohort had a lot of people that were extremely passionate builders who prioritized team accomplishments over recreation. You are more likely to find people like this at more prestigious universities. Unfortunately, from the outside looking in, I see a very small select few in this current generation at CPP that are doing the same thing.
The main thing that is actually a CPP thing that makes me think it was good was that it was easy enough to focus outside of classes. All the other good things were mere coincidences.
It’s a decent, cheap option with SoCal weather if you don’t get in anywhere else that’s better for your situation.