Computer Science B.S.
Requirements
B.A. IN COMPUTER SYSTEMS
Requirements (89-102 units)
Total units required for graduation: 180
Requirements for the B.A. in Computer Systems:
Lower-division requirements (20 units)
1. CSCI 201. Computer Science I (4)
2. CSCI 202. Computer Science II (4)
3. MATH 211. Basic Concepts of Calculus (4)
4. MATH 262. Applied Statistics (4)
5. MATH 272. Discrete Mathematics (4)
Upper-division requirements (26 units)
1. CSCI 313. Machine Organization (4)
2. CSCI 330. Data Structures (4)
3. CSCI 375. Requirements Analysis and Design (4)
4. CSCI 455. Software Engineering (4)
5. CSCI 482. Senior Interdisciplinary Project (4)
6. CSCI 488. Ethics and the Computing Professional (2)
7. COMM 311. Business and Professional Communication (4)
Option Requirement (43-56 units)
Requirements for one of the following options must be satisfied.
General Interdisciplinary Option (56 units)
1. CSCI 322. Web Page Programming (4)
2. CSCI 365. Systems Administration (4)
3. CSCI 366. Systems Networking (4)
4. CSCI 372. Computer Systems in Organizations (4)
5. CSCI 405. Server Programming (4)
6. CSCI 572. Database Systems (4)
7. Eight units chosen from CSCI courses numbered 300 and above.
8. Completion of a minor in another discipline after consultation with a Computer Science faculty advisor. (24 units minimum)
Game Development Option (52 units)
1. ART 120. Introduction to Two Dimensional Design (4)
2. ART 121. Introduction to Three Dimensional Design (4)
3. ART 122. Introduction to Drawing and Life Drawing (4)
4. CSCI 140. Introduction to Game Design (2)
5. CSCI 141. Introduction to Game Programming (2)
6. CSCI 420. Computer Graphics (4)
7. CSCI 431. Algorithm Analysis (4)
8. CSCI 440. Game Design (4)
9. CSCI 441. Game Programming (4)
10. CSCI 512. Introduction to Artificial Intelligence (4)
11. CSCI 513. Advanced Artificial Intelligence (4)
12. CSCI 520. Advanced Computer Graphics (4)
13. CSCI 535. Numerical Computation (4)
14. CSCI 570. Compilers (4)
Graphics Programming Option (49 units)
1. ART 120. Introduction to Two Dimensional Design (4)
2. ART 121. Introduction to Three Dimensional Design (4)
3. ART 122. Introduction to Drawing and Life Drawing (4)
4. CSCI 140. Introduction to Game Design (2)
5. CSCI 141. Introduction to Game Programming (2)
6. CSCI 420. Computer Graphics (4)
7. CSCI 440. Game Design (4)
8. CSCI 441. Game Programming (4)
9. CSCI 520. Advanced Computer Graphics (4)
10. CSCI 535. Numerical Computation (4)
11. Five units chosen from upper division ART courses (ART 300 and above).
12. Eight units chosen from upper division CSCI courses (CSCI 300 and above).
Web Programming Option (43 units)
1. CSCI 125. Programming in Visual Basic (4)
2. CSCI 136. HTML Programming (2)
3. CSCI 292. Java Programming (4)
4. CSCI 322. Web Page Programming (4)
5. CSCI 365. Systems Administration (4)
6. CSCI 366. Systems Networking (4)
7. CSCI 372. Computer Systems in Organizations (4)
8. CSCI 405. Server Programming (4)
9. CSCI 572. Database Systems (4)
10. CSCI 580. Advanced Database Systems (4)
11. Five units chosen from:
ART 320. Digital Image Editing (5)
ART 322. Web Design (5)
ART 326. Interactive Multimedia Design (5)
System Administration Option (44 units)
1. CSCI 310. Digital Logic (4)
2. CSCI 322. Web Page Programming (4)
3. CSCI 350. File Systems (4)
4. CSCI 360. Script Programming (4)
5. CSCI 365. Systems Administration (4)
6. CSCI 366. Systems Networking (4)
7. CSCI 372. Computer Systems in Organizations (4)
8. CSCI 401. Contemporary Computer Architecture (4)
9. CSCI 405. Server Programming (4)
10. CSCI 460. Operating Systems (4)
11. CSCI 572. Database Systems (4)
B.S. IN COMPUTER ENGINEERING
Requirements (131 units)
Total units required for graduation: 196
Requirements for the B.S. in Computer Engineering:
Lower-division requirements (71 units)
1. CHEM 215. General Chemistry (6)
2. CSCI 201. Computer Science I (4)
3. CSCI 202. Computer Science II (4)
4. ECON 200. Principles of Macroeconomics (4)
5. MATH 211. Basic Concepts of Calculus (4)
6. MATH 212. Calculus II (4)
7. MATH 213. Calculus III (4)
8. MATH 251. Multivariable Calculus I (4)
9. MATH 252. Multivariable Calculus II (4)
10. MATH 262. Applied Statistics (4)
11. MATH 272. Discrete Mathematics (4)
12. PHYS 150. Analog Electronics (5)
13. PHYS 152. Introduction to Engineering Design (2)
14. PHYS 221. General Physics I (5)
15. PHYS 222. General Physics II (5)
16. PHYS 223. General Physics III (5)
17. PHYS 224. General Physics IV (3)
Upper-division requirements (52 units)
1. CSCI 303. Computer Engineering Design (1) for a total of (10)
2. CSCI 310. Digital Logic (5)
3. CSCI 311. Advanced Digital Design (4)
4. CSCI 313. Machine Organization (4)
5. CSCI 330. Data Structures (4)
6. CSCI 401. Contemporary Computer Architectures (5)
7. CSCI 455. Software Engineering (4)
8. CSCI 460. Operating Systems (4)
9. Four units chosen from:
MATH 373. Mathematical Methods of Physics (4)
PHYS 373. Mathematical Methods of Physics (4)
10. PHYS 318. Materials Science and Engineering (4)
11. PHYS 350. Data Acquisition and Control (4)
Specialization (8 units)
Take both courses in one specialization for a total of eight units.
Networking
1. CSCI 530. Data Communication and Networks (4)
2. CSCI 531. High Performance Networks (4)
Embedded Systems
1. CSCI 510. Advanced Computer Architecture (4)
2. CSCI 521. Field Programmable Gate Array Design (4)
Computer Systems
1. CSCI 350. File Systems (4)
2. CSCI 570. Compilers (4)
Software Engineering
1. CSCI 565. Systems Programming (4)
2. CSCI 556. Introduction to Formal Methods, Models and Languages (4)
B.S. IN COMPUTER SCIENCE
Requirements (119 units)
Total units required for graduation: 191
Requirements for the B.S. in Computer Science:
Lower-division requirements (53 units)
1. CSCI 201. Computer Science I (4)
2. CSCI 202. Computer Science II (4)
3. MATH 211. Basic Concepts of Calculus (4)
4. MATH 212. Calculus II (4)
5. MATH 213. Calculus III (4)
6. MATH 262. Applied Statistics (4)
7. MATH 272. Discrete Mathematics (4)
8. PHYS 221. General Physics I (5)
9. PHYS 222. General Physics II (5)
10. PHYS 223. General Physics III (5)
11. Five units chosen from:
BIOL 100. Topics in Biology (5)
BIOL 200. Biology of the Cell (5)
12. One additional science course (with lab component), not previously taken, from the following areas:
Biology (5)
Chemistry (5)
Geological Sciences (5)
Physics (5)
Upper-division requirements (46 units)
1. CSCI 310. Digital Logic (5)
2. CSCI 313. Machine Organization (4)
3. CSCI 320. Programming Languages (4)
4. CSCI 330. Data Structures (4)
5. CSCI 350. File Systems (4)
6. CSCI 401. Contemporary Computer Architectures (5)
7. CSCI 431. Algorithm Analysis (4)
8. CSCI 455. Software Engineering (4)
9. CSCI 460. Operating Systems (4)
10. CSCI 488. Ethics and the Computing Professional (2)
11. CSCI 489. Senior Seminar (2)
12. MATH 372. Combinatorics (4)
Electives (20 units)
1. Theory
Four units chosen from:
CSCI 500. Introduction to Formal Languages and Automata (4)
CSCI 511. Expert Systems (4)
CSCI 512 Introduction to Artificial Intelligence (4)
CSCI 515. Automated Reasoning (4)
CSCI 546. Introduction to Theory of Computation (4)
2. Systems
Four units chosen from:
CSCI 540. Systems Simulation (4)
CSCI 565. Systems Programming (4)
CSCI 570. Compilers (4)
CSCI 572. Database Systems (4)
CSCI 580. Advanced Data Base Systems (4)
3. Hardware
A minimum of four units chosen from:
CSCI 510. Advanced Computer Architecture (4)
CSCI 524. Supercomputing and Visualization (4)
CSCI 525. Parallel Algorithms and Programming (4)
CSCI 530. Data Communications and Networks (4)
CSCI 531. High Performance Networks (4)
4. Eight units chosen from 400-level and above courses not previously counted as electives above.
Please refer to the University catalog at http://catalog.csusb.edu for official information.