## Major Requirements (130 units)

### Lower Division Major Requirements (63 units)

*A grade of "C" or better is required in all prerequisite coursework.*

Course |
Description |
Prerequisite(s) |
---|---|---|

CS 120 | Introduction to Web Site Development (3) | Computer Literacy |

CS 122 | Using Relational Databases and SQL (3) | Computer Literacy |

CS 201 | Introduction to Programming (5) | MATH 104B or consent of the Instructor |

CS 202 | Introduction to Object Oriented Programming (5) | CS 201 Recommended: MATH 206 |

CS 203 | Programming with Data Structures (5) | CS 202 Recommended: MATH 207, 248 |

CS 245 | Using Operating Systems & Networks for Programmers (3) | CS 202 |

MATH 206 | Calculus I (4) | MATH 104A, 104B both with min. C grade |

MATH 207 | Calculus II (4) | MATH 206 with minimum C grade |

MATH 208 | Calculus III (4) | MATH 207 with minimum C |

MATH 248 | Discrete Mathematics (4) | MATH 207 |

MATH 255 | Introduction to Matrix Theory (4) | MATH 208 |

MATH 270 (or Math274) |
Probability with Applications (4) (MATH274 is an acceptable substitution) |
MATH 208 |

PHYS 211 | Mechanics (5) | MATH 206 |

PHYS 212 | Waves (5) | PHYS 211 |

PHYS 213 | Electricity (5) | PHYS 212 |

### Upper Division Major Requirements (43 units)

*A grade of "C" or better is required in all prerequisite coursework.*

Course |
Description |
Prerequisite(s) |
---|---|---|

CS 301 | Computer Ethics and Societal Impact of Computing (2) | CS 203 |

CS 312 | Data Structures and Algorithms (4) | CS 203, MATH 208, MATH 248 |

CS 320 | Web and Internet Programming (3) | CS 120, CS 122, CS 203 |

CS 332F | Functional Programming (2) | CS 203 |

CS 332L | Logic Programming (2) | CS 203 |

CS 332C | C++ Object Oriented Programming (2) | CS 203 |

CS 337 | Software Design (3) | CS 203 |

CS 386 | Introduction to Automata Theory (4) | CS 202, MATH 248 |

CS 437 | Software Engineering (5) | CS 312, CS337 and completion of the GWAR |

CS 440 | Introduction to Operating Systems (4) | CS 245 & 312 |

EE 444 | Computer Architecture (4) | CS 245 |

CS 490 | Computer Science Recapitulation (2) | CS 386, 437, 440, EE 444, MATH270 |

CS 496A | Software Design Laboratory (2) | CS 312, 320, 337, 386, and senior standing |

CS 496B | Software Design Laboratory (2) | CS 496A |

CS 496C | Software Design Laboratory (2) | CS 496B |