Main navigation
Approved Computer Science Elective Courses
Course Code | Title | Hours |
---|---|---|
CS:3700 | Elementary Numerical Analysis | 3 |
CS:4330 | Theory of Computation (if not used to satisfy theory elective) | 3 |
CS:4350 | Logic in Computer Science (if not used to satisfy theory elective) | 3 |
CS:4400 | Database Systems | 3 |
CS:4420 | Artificial Intelligence | 3 |
CS:4440 | Web Mining | 3 |
CS:4470 | Health Data Analytics | 3 |
CS:4500 | Research Methods in HCI | 3 |
CS:4630 | Mobile Computing | 3 |
CS:4640 | Computer Security | 3 |
CS:4700 | High Performance and Parallel Computing | 3 |
CS:4720 | Optimization Techniques | 3 |
CS:4740 | Large Data Analysis | 3 |
CS:4980 | Topics in Computer Science | 3 |
CS:5340 | Limits of Computation (Formerly CS:4340) | 3 |
CS:5350 | Design and Analysis of Algorithms | 3 |
CS:5360 | Randomized Algorithms | 3 |
CS:5370 | Computational Geometry | 3 |
CS:5430 | Machine Learning | 3 |
CS:5610 | High Performance Computer Architecture | 3 |
CS:5620 | Distributed Systems and Algorithms | 3 |
CS:5630 | Cloud Computing Technology | 3 |
CS:5710 | Numerical Analysis Nonlinear Equation Approximation Theory | 3 |
CS:5720 | Numerical Analysis: Differential Equations and Linear Algebra | 3 |
ECE:5800/CS:5800 | Fundamentals of Software Engineering | 3 |
ECE:5810/CS:5810 | Formal Methods in Software Engineering | 3 |
ECE:5820/CS:5820 | Software Engineering Languages and Tools | 3 |
ECE:5830/CS:5830 | Software Engineering Project | 3 |
CS:5850 | Programming Language Foundations | 3 |
CS:5860 | Lambda Calculus and Applications | 3 |
CS:5980 | Topics in Computer Science III | 3 |
For more information
For general advising information, notes and advising forms see ECE Undergraduate Curriculum
Classes that ECE students may or may not get credit for
Course Code | Title | Credit | Notes |
---|---|---|---|
CS:2630 | Computer Organization | no | ECE students take ECE:3350 Computer Architecture instead. |
CS:2820 | Introduction to Software Development | no | ECE students take ECE:3330 Introduction to Software Design instead. |
CS:3210 | Programming Languages and Tools | no | CS:3210 is a topics class that changes topics each time it is offered. This course may teach Java or another programming language. Alternatively, it may teach how to use a programming tool such as an integrated development environment (IDE), e.g., CLion. ECE students do not get credit for CS:3210 because these topics are covered in their required courses that include ENGR:1300, CS:1210, ENGR:2730 and ECE:3330. |
CS:3640 | Introduction to Networks and Their Applications | no | ECE students take ECE:3540 Communication Networks instead. ECE:3540 covers all the material in CS:3640 plus adds coverage of computer security that is required for ABET accreditation. |
Informatics courses | maybe if used for a non technical elective | CS students do not get credit for informatics courses. ECE students do not get technical credit for courses that CS majors do not get credit for. ECE students might be able to list an informatics course as a free elective if the topic is not covered by a required class. | |
CS:3980 | Topics in Computer Science I | maybe if used for a non technical elective | CS:3980 Topics in Computer Science I is for informatics students only. ECE students should take CS:4980 Topics in Computer Science II instead. ECE students might be able to list CS:3980 as a free elective if the topic is not covered by a required class. |
Courses that CS majors do not get credit for | maybe if used for a non technical elective | Computer Science offers classes for non majors. If a CS major cannot get credit for a CS course, then ECE majors cannot get technical credit for that course. ECE students might be able to list one of these courses as a free elective if the topic is not covered by a required class. |