CS Technical Elective Courses Offered Fall 2025 (Majors)
Fall 2025
Registration
For help with classes requiring department permission, or if students believe their previous education qualifies them for a prerequisite override, or if students have any other issues requiring department permission, they should complete the CSCI Registration Issues form.
CS Technical Elective Course Requirements
CS BA
- Curriculum Years: CY 2019-2020, CY 2020-2021, CY 2021-2022
- 3 Technical Track courses required
- All 4000-level CSCI courses can apply towards the Tech Track, except CSCI 4243W and CSCI 4244.
- Chosen 6000-level courses listed below may also be applied.
- 3 Technical Track courses required
- Curriculum Years: CY 2022-2023, CY 2023-2024, CY 2024-2025
- 4 Advanced CS Electives
- Four CSCI courses numbered 2400 and above. Of these, at least two (for a minimum of 6 credits) must be at the 4000 level or above. (CSCI 4243, CSCI 4243W, CSCI 4244 may not be used toward this requirement.) Note that CSCI 2410 is one of our harder classes and is not advised towards this requirement unless you have a deep interest in Systems.
- Undergraduate students are allowed into 6000-level courses listed below and these may also be applied towards the 4000 level or above requirement.
- 4 Advanced CS Electives
CS BS
- Curriculum Years: CY 2019-2020, CY 2020-2021, CY 2021-2022
- 4 Technical Track courses required
- All 4000-level CSCI courses offered in Spring 2025 can apply towards the Tech Track; additionally, the 6000-level courses noted below may also be used.
- 2 courses of the 4 Tech Track courses must be from this specific list* and are denoted by an asterisk below.
- CSCI 4908 Research is also allowed towards the tech track, but only 1 of the 4 courses may be Research.
- 4 Technical Track courses required
- Curriculum Years: CY 2022-2023, CY 2023-2024, CY 2024-2025
- 3 Technical Electives required
- All 4000-level CSCI courses offered can apply towards this requirement. The 6000-level courses noted below are also open to undergraduates and may be used towards this requirement.
- 3 Technical Electives required
CS Technical Elective classes (BA and BS)
Course No. | Course Title | Prerequisites |
---|---|---|
CSCI 4237 | Software Design for Handheld Devices | CSCI 2113 |
CSCI 4342 | Computational Linear Algebra and Applications | CSCI 2113 -- Note: CSCI 4342 can count towards Linear Algebra requirement or CS Tech Elective requirement. |
CSCI 4364 | Machine Learning | CSCI 3212; and (CSCI 3362 or CSCI 4341 or CSCI 6362 or A or DNSC 2001 or STAT 4157); and ( or MATH 2184 or MATH 2185) |
CSCI 4366 | Neural Networks and Deep Learning | CSCI 3212 and Dept Approval |
CSCI 4431 | Computer Networks I | CSCI 2113 |
CSCI 4454 | Augmented and Virtual Reality | CSCI 2113 |
CSCI 4455 | Computer Game Design and Programming | CSCI 2113 |
CSCI 4511 | Artificial Intelligence Algorithms | CSCI 3212 |
CSCI 4527 | Introduction to Computer Vision | MATH 1232 and MATH 2184 and CSCI 2113 |
CSCI 4531 | Computer Security | CSCI 2113 |
CSCI 4533 | Introduction to Usable Security and Privacy | CSCI 2113 |
CSCI 4541 | Network Security | CSCI 4531 |
CSCI 4907.10 | Software Security | CSCI 2410 or CSCI 2460; and CSCI 3401 |
CSCI 4907.81 | Big Data & Analytics | CSCI 2113 |
CSCI 4907.83 | Cloud Computing | CSCI 2441W or CSCI 2541W |
CSCI 4907.85 | N.L.P for Health | CSCI 4511 and CSCI 4364 |
CSCI 4907.86 | Advanced Topics in AR | CSCI 4454 |
CSCI 4907.87 | Advanced Machine Learning | CSCI 4364 |
CSCI 6351.81 | Data Compression | CSCI 3212 and Dept Approval |
CSCI 6418 | Linux for scientists, engineers, & computational science | CSCI 2113 |
CSCI 6542 | Computer Network Defense | CSCI 4541 and Dept Approval |
CSCI 6561.81 | Design of Human-Computer Interface | CSCI 3212 or CSCI 3411; and Dept Approval |