B.S. in Software Development
If you enrolled Fall 2013 or later you must use the new major curriculum located here.
- COMP 313: Intermediate Object-Oriented Development
- COMP 330: Software Engineering
- COMP 363: Design and Analysis of Computer Algorithms
Two from the following list of courses:
- COMP 320: Software Systems Analysis
- COMP 336: Markup Languages
- COMP 337: Concurrent Programming
- COMP 338: Server-Based Software Development
- COMP 339: Distributed Systems
- COMP 353: Database Programming
- COMP 373: Objects, Frameworks, and Patterns
- COMP 370: Software Quality, Metrics, and Testing
- ISOM 349: Project Management
The foundation sequence is required by all undergraduate degree programs offered directly by the Computer Science. The exception is the B.S. in Bioinformatics, which has its own foundation sequence.
- MATH 131: Introduction to Calculus I
- COMP 150: Introduction to Computing (may be replaced by a 300-level classroom elective if COMP 215 is taken)
One of the following must be taken:
- COMP 170: Introduction to Object-Oriented Programming
- COMP 215: Object-Oriented Programming with Mathematics
All of the following must be taken:
- COMP 163: Discrete Structures
- COMP 250: Introduction to Scientific and Technical Communication
- COMP 264: Introduction to Computer Systems
- COMP 271: Data Structures
- COMP 317: Social, Legal, and Ethical Issues in Computing
Two (2) 3-credit, 300-level courses.
Six (6) credits taken from one or more of COMP 390, COMP 391, and COMP 398. See the details of registering in the links for each course. (See also individual degree requirements, which generally permit three additional units beyond the practicum to be counted as an elective, as long as you take no more than 6 units of 391 and no more than 6 units of 390/398 together.)
NOTE: A special case is COMP 390, COMP 391 and COMP 398 : Three additional units beyond the practicum can be counted as an elective, as long as you take no more than 6 units of 391 and no more than 6 units of 390/398 together.
Suggested Ordering of Courses
- COMP 150 is the intended starting point. Clearly motivated students looking to jump-start their Computer Science courses may take COMP 150 and 170 at the same time.
- COMP 163, COMP 250, and COMP 317 all have no prerequisites, so they can be taken early, in parallel with COMP 150, 170, and 271.
- The vast majority of 300 level courses have COMP 271(Data Structures and Algorithms) as a prerequisite.
- COMP 264 must be taken sometime after COMP 170. You are encouraged to take COMP 264 early, too.
- You are encouraged to finish the calculus requirement early, and particularly take math if you are going to need algebra prerequisites before calculus.