- B.S. Computer Science
- B.S. Computer Engineering
- B.S. Computer Science with a Specialization in Bioinformatics
Computer science is embedded in several aspect of all aspects of our daily life. Computer science and computer engineering jobs are well-known to be the fastest growing and most recession-proof professions. CSE's undergraduate programs build a strong foundation in software and hardware engineering, as well as the fundamentals of all major fields in computer science. We offer a supportive environment for our students and prepare them well for solving our society’s most important and challenging problems.
Lower division classes
In their first two years of study at UC San Diego, CSE students are prepared for advanced studies in programming. As part of this preparation, students will complete the following courses whether they are following the computer science curriculum or the computer engineering curriculum. Please see CSE Course Placement Advice for assistance in choosing your first CSE course.
- CSE 8A - Introduction to Computer Science: Java (I)
- CSE 8B - Introduction to Computer Science: Java (II)
- CSE 11 - Introduction to Computer Science & Object-Oriented Programming: Java
- CSE 12 - Basic Data Structures and Object-Oriented Design
- CSE 15L - Software Tools and Techniques Laboratory
- CSE 20 - Introduction to Discrete Mathematics
- CSE 21 - Mathematics, Algorithms, and Systems Analysis
- CSE 30 - Computer Organization and System Programming
Upper division classes, advanced studies
- In their junior and senior years, CSE students will study advanced courses in theory, techniques of algorithms, hardware design, and software development in the upper division courses. The core set of upper division courses enhance students' breadth of knowledge and also provides a deep understanding in these areas.
- CSE 100 - Advanced Data Structures
- CSE 101 - Design and Analysis of Algorithms
- CSE 105 - Introduction to Theory of Computation
- CSE 110 - Software Engineering
- CSE 120 - Principles of Computer Operating Systems
- CSE 130 - Programming Languages: Principles and Paradigms
- CSE 131 - Compiler Construction
- CSE 140 - Component & Design Techniques of Digital Systems
- CSE 140L - Digital Systems Laboratory
- CSE 141 - Introduction to Computer Architecture
- and CSE 141L - Project in Computer Architecture
- "Computer Science is no more about computers than astronomy is about telescopes."
- – Edsger Dijkstra