CS Course Offerings At UCR: Complete 2026 Curriculum And Enrollment Guide
Academic planning within the Department of Computer Science and Engineering (CSE) at the Bourns College of Engineering (BCOE), University of California, Riverside, requires a calculated understanding of prerequisite chains, quarter schedules, and technical breadth requirements. Whether you are navigating the transition from lower-division foundational programming to advanced upper-division technical tracks, balancing the rigors of the quarter system demands precise forecasting.
This guide provides an exhaustive breakdown of computer science course offerings at UCR for the 2026 academic year. Covering foundational coursework, core technical milestones, upper-division electives, and registration tactics on R'Web, this blueprint ensures your academic progress aligns with graduation milestones and industry standards.
Foundational Lower-Division Sequence at UC Riverside
The undergraduate curriculum in computer science at UCR is anchored by a sequential progression designed to instill software engineering fundamentals, algorithmic thinking, and computer systems architecture.
The Introductory Programming Pipeline: CS 010A, CS 010B, and CS 010C
The primary programming track uses C++ to teach structured programming, object-oriented paradigms, and abstract data types:
- CS 010A (Introduction to Computer Science for Science, Mathematics, and Engineering I): The starting point covers structured programming, control flow, functions, arrays, and standard file operations. Students with passing scores on the AP Computer Science A exam or the UCR Computer Science Placement Exam may bypass this course.
- CS 010B (Introduction to Computer Science for Science, Mathematics, and Engineering II): Focuses heavily on object-oriented programming (OOP), pointers, dynamic memory allocation, recursion, and class design. It serves as the primary filter for conceptual understanding before advancing to complex implementations.
- CS 010C (Introduction to Data Structures and Algorithms): The keystone lower-division class. It covers computational complexity (Big-O analysis), sorting algorithms, trees, hash tables, and graphs. Success in CS 010C directly determines eligibility for upper-division standing in BCOE.
Hardware and Mathematical Foundations
Computer scientists must bridge software principles with hardware realization and formal logic:
- CS 061 (Machine Organization and Assembly Language Programming): Introduces low-level computer architecture, binary arithmetic, memory organization, and assembly language programming using the LC-3 architecture. This course is a mandatory prerequisite for hardware-focused upper-division classes like Operating Systems and Architecture.
- CS 011 / MATH 011 (Introduction to Discrete Structures): Explores propositional logic, set theory, combinatorics, proof techniques (mathematical induction), and basic graph theory necessary for theoretical computer science.
Upper-Division Core Curriculum Requirements
Advancing to upper-division computer science courses requires completion of the lower-division core with strict GPA benchmarks. The 100-level core spans software design, theoretical computation, and low-level systems.
CS 100: Software Construction
CS 100 acts as the true gateway to advanced computing at UCR. Students work collaboratively in terminal environments using Git, developing large-scale software systems using modern C++. The curriculum emphasizes design patterns (Composite, Strategy, Observer), unit testing frameworks, clean architecture, and Unix shell development.
Systems and Theory Backbone
The department enforces a rigorous theoretical and operational framework across several required classes:
- CS 111 (Discrete Structures II): Extends discrete mathematics into recurrence relations, advanced counting, graph theory, and randomized structures applied to computational problems.
- CS 141 (High-Level Performance Analysis and Algorithms): Emphasizes algorithm design strategies including divide-and-conquer, greedy techniques, dynamic programming, and computational complexity (P vs. NP completeness).
- CS 150 (Automata and Formal Languages): Analyzes finite automata, regular expressions, context-free grammars, pushdown automata, and Turing machines, establishing what computers can and cannot compute.
- CS 152 (Compiler Design): Covers the engineering of lexical analyzers, parsers, semantic analysis, intermediate representation, code optimization, and code generation.
- CS 153 (Design of Operating Systems): Examines OS kernel architecture, multi-threading, concurrency, CPU scheduling, virtual memory management, deadlock handling, and file system implementations.
2026 Course Schedule and Offering Regularity
UCR operates on a 10-week quarter calendar: Fall, Winter, and Spring, alongside accelerated Summer sessions. Because upper-division electives rotate, planning two quarters ahead prevents graduation delays.
| Course Code | Course Name | Typical Quarters Offered | Primary Prerequisites | Target Focus Area |
|---|---|---|---|---|
| CS 010A | Intro to Computing I | Fall, Winter, Spring, Summer | MATH 009A (or concurrent) | Core Programming |
| CS 010B | Intro to Computing II | Fall, Winter, Spring, Summer | CS 010A | Object-Oriented Principles |
| CS 010C | Data Structures & Algorithms | Fall, Winter, Spring, Summer | CS 010B | Algorithmic Foundations |
| CS 061 | Machine Organization | Fall, Winter, Spring | CS 010A, CS 011/MATH 011 | Hardware & Assembly |
| CS 100 | Software Construction | Fall, Winter, Spring, Summer | CS 010C, CS 061 | Software Engineering |
| CS 111 | Discrete Structures II | Fall, Winter, Spring | CS 010C, CS 011/MATH 011 | Theoretical Foundations |
| CS 141 | High-Level Algorithms | Fall, Winter, Spring | CS 100, CS 111 | Advanced Algorithms |
| CS 150 | Automata & Formal Languages | Fall, Winter | CS 111 | Computation Theory |
| CS 152 | Compiler Design | Winter, Spring | CS 100, CS 150 | Languages & Translation |
| CS 153 | Design of Operating Systems | Fall, Winter, Spring | CS 100, CS 061 | Systems Architecture |
| CS 160 | Concurrent Programming | Winter | CS 153 | Distributed Systems |
| CS 166 | Database Management Systems | Fall, Spring | CS 100 | Data Infrastructure |
| CS 170 | Intro to Artificial Intelligence | Fall, Spring | CS 100 | Applied Intelligence |
| CS 171 | Machine Learning | Winter, Spring | CS 100, MATH 031 | Data Science & Modeling |
| CS 179 | Project in Computer Science | Fall, Winter, Spring | Senior Standing, CS 100 | Senior Capstone Design |
Upper-Division Technical Elective Specialization Tracks
Undergraduate students must tailor their upper-division major electives to gain focused domain competence. In the 2026 academic structure, courses align across four main professional vectors:
1. Artificial Intelligence and Data Engineering
- CS 170 (Introduction to Artificial Intelligence): Graph search strategies (A* search, adversarial games, minimax with alpha-beta pruning), constraint satisfaction, and probabilistic reasoning.
- CS 171 (Introduction to Machine Learning): Mathematical modeling, regression, classification, support vector machines, decision trees, and an introduction to deep neural networks using standard toolkits.
- CS 172 (Introduction to Information Retrieval): Vector space models, text parsing, web crawling architectures, page rank algorithms, and modern search engine mechanics.
2. Systems, Networking, and Cybersecurity
- CS 164 (Computer Networks): The OSI reference model, TCP/IP protocol suites, congestion control algorithms, routing protocols, and socket programming.
- CS 165 (Computer Security): Threat models, symmetric and asymmetric cryptography, access control models, network-based vulnerability exploitation, buffer overflows, and defensive mitigations.
- CS 160 (Concurrent Programming and Parallel Systems): Thread synchronization primitives, lock-free programming, race conditions, memory barriers, and parallel computing architectures using OpenMP or MPI.
3. Database Systems and Information Management
- CS 166 (Database Management Systems): Relational algebra, SQL, query processing and optimization strategies, indexing with B+ trees, ACID transactions, and lock-based concurrency control.
- CS 167 (Information Systems): Scalable, distributed data processing frameworks focusing on modern Big Data infrastructure, distributed storage engines, and MapReduce paradigms.
4. Visual Computing and Human-Computer Interaction
- CS 130 (Computer Graphics): 2D and 3D rendering pipelines, ray tracing, rasterization, linear algebraic transformations, shading models, and OpenGL graphics programming.
- CS 173 (Introduction to Natural Language Processing): Text tokenization, n-gram language models, sentiment classification, sequence tagging, and transformers for text generation.
Senior Design Capstone: CS 178 versus CS 179
Graduation from BCOE requires completion of an ABET-accredited senior design experience. Students can fulfill this requirement through either a multi-quarter sequence or a domain-specific project course:
CS 178A and CS 178B Option
A consecutive two-quarter capstone sequence focusing on enterprise-scale project management. Student teams work on an industry-backed or entrepreneurial specification, delivering a minimum viable product through comprehensive documentation, prototype construction, agile sprints, and public presentations.
CS 179 Project Series Option
A single-quarter, project-intensive course linked directly to a specialized upper-division topic. Common variants include CS 179E (Compilers), CS 179F (Operating Systems), CS 179I (Networks), and CS 179M (Artificial Intelligence). Students build complex systems under the direct supervision of a CSE faculty member.
Registration, Prerequisite Enforcement, and R'Web Navigation
Enrollment at UC Riverside uses R'Web and Degree Works. Computer science courses experience high demand, requiring organized registration tactics each term.
Lower-Division Core Sequence: CS 010A ──> CS 010B ──> CS 010C ──> CS 100 ──> Senior Capstone (CS 178A/B or CS 179) │ ├──> CS 141 (Requires CS 100 & CS 111) ├──> CS 152 (Requires CS 100 & CS 150) ├──> CS 153 (Requires CS 100 & CS 061) └──> CS 170 / CS 171 / CS 166
Navigating Priority Registration and Holds
- Ticket Times (Pass 1 and Pass 2): Degree progress determines priority registration appointment times during Pass 1. Students may register for up to 17 units. Pass 2 opens access for registration changes, lifting certain major restrictions and expanding credit limits to 18 (or more with Dean's approval).
- Prerequisite Blocks: UCR's registration engine strictly verifies prerequisites in real-time. If you are currently completing a prerequisite course (e.g., enrolled in CS 010B during Winter), the system allows conditional enrollment for the subsequent class (CS 010C in Spring). However, receiving a grade below C- results in an automatic system drop before the upcoming term begins.
- Enrollment Overrides and Prerequisites: Non-majors or transfer students encountering transfer articulation issues on Degree Works must submit an Enrollment Assistance Form (EAF) through the BCOE Student Academic Affairs portal. Unofficial transcripts documenting equivalencies must accompany each request.
Frequently Asked Questions
What grade is required in CS prerequisites to advance to the next course?
A minimum grade of C- is required in all foundational computer science and mathematics prerequisites. If you earn a D+ or lower in classes like CS 010A, CS 010B, or CS 010C, you cannot advance to the next course in the sequence and must repeat the class to restore major standing.
Can non-CS engineering majors enroll in upper-division CS electives?
Yes, non-CS majors (such as Electrical Engineering or Data Science majors) can enroll in upper-division CS electives during Pass 2 registration, provided all prerequisite coursework is verified. During Pass 1, seats are typically reserved for declared Computer Science, Computer Engineering, and Computer Science with Business Applications majors.
How does credit transfer from California Community Colleges work for CS courses?
Credit transfers are governed by formal articulation agreements maintained on ASSIST. Lower-division courses such as CS 010A, CS 010B, CS 061, and MATH 009A-C frequently articulate from California community colleges. Upper-division classes (numbered 100 and above) must be completed directly at UCR or an approved four-year institution via academic petition.
Are CS courses at UCR offered during Summer sessions?
Yes, UCR consistently offers core lower-division classes (CS 010A, CS 010B, CS 010C) and select core upper-division requirements (such as CS 100 and CS 111) during Summer Sessions A and B. Technical electives at the 160 or 170 level are rarely offered during Summer, meaning elective planning should prioritize Fall, Winter, and Spring.
What should I do if a required CS class is completely full during my registration pass?
Join the official R'Web waitlist immediately. Waitlists become active as soon as general class capacities fill during registration passes. Academic advisors in BCOE monitor waitlist sizes to adjust classroom capacities or open secondary discussion sections when demand warrants expansion.
Ensure your academic path remains on track by reviewing your Degree Audit on R'Web each term. For personalized adjustments or prerequisite verifications, schedule an advising appointment with the Bourns College of Engineering Student Academic Affairs Office.