Students new to computer science at UCSD often ask which course to enroll in first. It is important for each student to select the starting point that is right for them. A majority of CSE majors do not start in CSE 11, and these students are as successful as those who do start in CSE 11. Regardless of which of these courses you start with, you will be on track to complete the major. The following suggestions are rough guidelines based on prior experiences with our students:
- Students who have programming experience in a text-based language (for instance an introductory programming course in high school or community college) and are very comfortable with basic programming constructs (variables, functions/methods, loops, conditionals, lists/arrays) should consider beginning with CSE 11.
- Students who are comfortable with computers and might have taken a high school programming course (including AP CSP), but are not yet very comfortable with basic programming constructs (variables, functions/methods, loops, conditionals, lists/arrays) should consider beginning with CSE 8A.
- Students with little or no experience with computers and/or who want a gentle introduction to programming and other computing concepts should consider beginning with CSE 3.
For each track there is a defined plan to graduate in four years. If the course you choose to start with turns out to be too elementary or too difficult, we highly encourage you to meet with an advisor as soon as possible.
Course Descriptions
- CSE 3 - Fluency in Information Technology
- CSE 8A - Introduction to Computer Science Programming: Java Language
- CSE 11 - Introduction to Computer Science and Object-Oriented Programming: Java Language
- For students who have completed the equivalent of CSE 11 at another institution: CSE 12 - Data Structures and Object-Oriented Design