Getting Into UC Davis Computer Science Actually Requires a Plan

UC Davis Computer Science is a regular public university program. It's not elite, it's not terrible. It sits somewhere solid in the middle and that's where most people end up wanting it. The acceptance rate hovers around 35-40% for the direct-to-major route through the College of Engineering, which sounds generous until you factor in that they look at your entire application, not just a GPA number. I had a student last cycle who came in with a 3.9 and perfect AP scores and still got waitlisted because their extracurriculars were basically nonexistent outside of coding competitions. They ended up taking the pathway through the College of Agriculture and Environmental Sciences first, then transferring into CS after sophomore year. That route works fine, honestly. You just spend an extra year not being in the major proper. The core sequence is straightforward if you've done any programming before. You start with CS 8, then move into CS 16 and CS 20. After that it branches into data structures, algorithms, discrete math, and systems. The math requirement is heavier than most students expect — you'll need to take Math 19A, 19B, and 19C for calculus, plus Math 17 for linear algebra. If you skip linear algebra thinking you won't need it, you will. CS 170 covers it and it shows up in randomized algorithms and complexity theory later on. I remember working with someone who tried to double-load CS 122 (Operating Systems) and CS 170 (Theory of Computation) in the same quarter. Both are what the department casually calls "filter" courses, meaning roughly a third of the class ends up with Ds, Fs, or withdrawals. They bombed both. What actually works is taking CS 122 in the spring and CS 170 the following fall, spacing them so you're not mentally juggling two completely different problem-solving paradigms at once. Operating systems is about resource management and concurrency. Automata theory is about abstraction and proof. They use different parts of your brain.

The capstone requirement is CS 120, which is essentially a two-quarter senior project. You pick a faculty advisor, propose something, and build it. The common failure mode here is picking a scope that's way too ambitious. I've seen people try to build distributed databases as a capstone. They spend three months on architecture documentation and deliver nothing functional. The students who get good grades pick something narrow — a compiler for a small subset of a language, a graphics engine for a specific type of rendering, a web framework for a particular domain. Something with clear boundaries.

The Application Process and Timeline

If you're applying as a freshman through the main UC application, you select Engineering and indicate CS as your intended major. The application opens August 1 and closes November 30. There's no separate supplemental essay for the CS major itself, which catches people off guard. They don't ask you why you want to study computer science. They judge you on GPA, coursework preparation, and extracurriculars. That means your high school transcript matters more than anything else at this stage. Recommended preparation includes calculus through pre-calculus, computer science if your high school offers it, and ideally some exposure to Java or Python. UC Davis doesn't require a specific programming language for admission, but students who walk in with zero coding experience often struggle in CS 8, which moves at a pace designed for people who've at least seen a for loop before. If you're in that position, spend the summer before freshman year on something like CS50 from Harvard or the Python track on freeCodeCamp. It takes about 40 hours and it removes the shock of the first quarter. For transfer students, the path is more defined. You complete the CS preparation sequence at a community college — typically CS 1, CS 2, CS 3, and CS 4, which map to programming fundamentals, data structures, object-oriented design, and C++ programming. Then you apply through the UC transfer portal. The cutoff GPA for CS transfers from California community colleges usually lands around 3.4-3.6 depending on the year and how many seats are available. I've seen it dip lower in years when enrollment spiked, so don't treat a 3.4 as a guarantee. It's a floor, not a target.

Get the Full Details

UC Davis | Computer Science Major
UC Davis | Computer Science Major

What the Curriculum Actually Feels Like

UC Davis CS has a reputation for being rigorous but fair. The exams are tough, the assignments are time-consuming, and the grading curves tend to be generous compared to programs at Berkeley or Stanford. That generosity has limits. I had a TA once who curved CS 16 by 15 points after midterms because the average score was 52 out of 100. That kind of curve happens when the professor wrote questions that were technically correct but tested understanding the class barely covered. Students who'd only studied the textbook walked in expecting easy questions and got hit with implementation details from lecture examples. The workaround is to do every practice problem the professor posts, even the ones that look too simple. The midterm questions are usually variations on those practice sets with the numbers changed. The program's strongest areas are systems and theory. If you're interested in distributed computing, networking, or formal methods, the faculty here are genuinely good. The weaker area is probably machine learning at the undergraduate level — there aren't nearly enough advanced ML courses for the demand, and you often have to take graduate-level electives to fill the gap. Upper-division ML courses like CS 189 are capped at around 80 students, which means you compete with CS majors, stats majors, and data science minors for seats that don't exist in sufficient quantity. The workaround is to register during the earliest possible add/drop window and have a backup course queued up in case you get dropped. One thing nobody tells you about this program is how much writing you end up doing. CS 120 alone requires 10-15 pages of technical documentation. There are lab reports in CS 122, design documents in CS 147 (Computer Networks), and a final paper option in CS 170. If you're coming in from a high school environment where CS meant writing code and getting a green checkmark, that shift can be jarring. The code still has to work, but the explanations matter just as much for your grade.

Internships and Career Placement

The career outcomes from this program are decent. UC Davis sits in the Sacramento tech corridor, which means local companies like ServiceNow, Cisco, and various biotech firms recruit from campus. The career center hosts a winter career fair that pulls in around 120 employers. Most CS students land internships by junior year if they start applying in September. That timeline matters because companies post engineering internships in late summer, and the ones with the best return-offer rates fill positions within three weeks of posting. The program also has a co-op track that's not widely advertised. You alternate between school and work semesters, spending a full quarter employed at a company while still enrolled. It extends your time to degree by a quarter or two but the experience tends to make second-year recruiting look trivial. I know someone who did the co-op route, spent a quarter at a San Francisco fintech startup, and came back with a return offer that they converted into a full-time position before graduation. It's not the default path and it requires coordinating with the department to make sure you're not falling behind on prerequisites, but it exists and it works. Overall this is a solid program for people who want a reputable CS degree without the intensities of the top-tier schools. It's not a credential that opens every door, but it's the kind of program where your effort directly translates to outcomes. Show up, do the assignments, build the capstone project you can actually finish, and apply to internships early. The rest is mostly luck and timing.