CS Electives
Computer Science majors are required to take at least 5 electives, from the list of courses below. At least 3 of the electives taken must be marked with *'s below.
| 20-CS-595 | Special Topics in CS | |
| * | 20-CS-597 | Wireless Mobile Networking |
| * | 20-CS-615 | Computer Arithmetic |
| * | 20-CS-621 | Mathematical Logic I |
| 20-CS-624 | Mathematical Logic II | |
| * | 20-CS-625 | Data Encoding |
| * | 20-CS-633 | Artificial Intelligence I |
| * | 20-CS-634 | Artificial Intelligence II |
| * | 20-CS-637 | Machine Learning |
| * | 20-CS-651 | Database Theory |
| * | 20-CS-660 | Computer Graphics |
| * | 20-CS-667 | User Interface I |
| * | 20-CS-669 | Collaborative Computing |
| * | 20-CS-675 | Parallel & Distributed Computing |
| 20-CS-690 | Special Topics in Computer Science | |
| * | 20-CS-694 | Advanced Programming Concepts |
| 20-EECE-493,5 | Software Engineering + Lab (counts as 1 elective) | |
| 20-EECE-592 | Database Design | |
| 20-EECE-593 | Advanced Database Design | |
| 20-EECE-617 | Silicon Programming | |
| 20-EECE-636 | Intelligent Systems | |
| 20-EECE-642 | Digital Image Processing | |
| 20-EECE-650 | Multidisc. & Collab. Design for System on a Chip | |
| * | 20-EECE-683,5 | Compiler Theory + Lab (counts as 1 elective) |
| 15-MATH-363 | Probability and Statistics III | |
| 15-MATH-514 | Numerical Analysis I | |
| 15-MATH-515 | Numerical Analysis II | |
| 15-MATH-516 | Numerical Analysis III | |
| 15-MATH-524 | Linear Programming I | |
| 15-MATH-526 | Non-linear Optimization | |
| 15-MATH-577 | Appl. Prob. & Stochastic Proc. I | |
| 15-MATH-578 | Appl. Prob. & Stochastic Proc. II | |
| 15-MATH-584 | Combinatorics | |
| 15-MATH-588 | Graph Theory |