Notes on CS Courses Offered for Undergraduate CS majors - Spring 2024
Spring 2024
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.
Technical Track Requirements
A rule of thumb for tech track courses is that they must be sufficiently advanced, which is generally something students can check by checking if CSCI 2113 is a prerequisite.
As a reminder, be sure you are reviewing your program requirements for your designated Curriculum Year. This Curriculum Year is based on the semester you started at GW. If your first semester at GW was in Fall 2019, you will be following the Curriculum Year 2019-2020.
CS BA
- Curriculum Years 2019-2020, 2020-2021, 2021-2022: 3 Tech Track courses required
- Curriculum Years 2022-2023, 2023-2024: 4 CS Advanced Technical Electives
- Of the 4 required courses, 2 courses must be CSCI 2400-level or above and 2 courses must be CSCI 4000-level or above
CS BS
- Curriculum Years 2019-2020, 2020-2021, 2021-2022: 4 Tech Track courses required
- 2 courses of the 4 Tech Track courses must be from this specific list
- Specific list courses indicated by asterisk *
- Only 1 of the 4 courses may be CSCI 3908**, if applicable. See note below.
- Curriculum Years 2022-2023, 2023-2024: 3 CS Technical Elective courses are required. Courses must be CSCI 4000-level or above.
Technical Track classes (BA and BS)
Course No. |
Course Title |
Prerequisites |
Requirement |
---|---|---|---|
CSCI 4237* | Software Design for Handheld Devices | CSCI 2113 | Tech Track* |
CSCI 4345 | Introduction to Quantum Computing | CSCI 4342, EMSE 2705, MATH 2184 or MATH 2185; and CSCI 4312, ECE 3220, MATH 2971, or PHYS 2023. Instructor approval required. Email [email protected] to register for this course. | Tech Track |
CSCI 4364* |
Machine Learning |
CSCI 3212 and MATH 2184/Linear Algebra |
Tech Track* |
CSCI 4366* | Neural Networks and Deep Learning | MATH 1231; and CSCI 3212; and CSCI 4342, EMSE 2705, MATH 2184, or MATH 2185 | Tech Track* |
CSCI 4454 |
Augmented and Virtual Reality |
CSCI 2113 |
Tech Track |
CSCI 4455 |
Computer Game Design and Programming |
CSCI 2113 |
Tech Track |
CSCI 4527* | Introduction to Computer Vision | MATH 1232; and MATH 2184; and CSCI 3362 or CSCI 4341 | Tech Track* |
CSCI 4531 |
Computer Security |
CSCI 3411 (Corequisite CSCI 4331 not enforced) |
Tech Track |
CSCI 4541 |
Network Security |
CSCI 4531 |
Tech Track |
CSCI 4554* |
Computer Graphics I |
CSCI 2113 or 6221 |
Tech Track* |
EMSE 6575* |
Applied Machine Learning for Analytics |
EMSE 6574 |
Tech Track* |
CSCI 4907-14 | Intro IoT & Eduge Comp Applications | CSCI 2113 | Tech Track |
CSCI 4907-80* | Big Data and Analytics | CSCI 2113 | Tech Track* |
CSCI 4907-82 | Natural Language Understanding | Students in Junior or Senior status | Tech Track |
CSCI 4907-83 | Convex Optimization | CSCI 3212 and Linear Algebra | Tech Track |
CSCI 4907-84 | Data Mgt Sys for Data Analytics | Use CS Registration Issues Form to request access | Tech Track |
CSCI 6418 | Unix Systems Administration | CSCI 2113 | Tech Track |
CSCI 6421-80* | Distributed and Cluster Computing | CSCI 3411 with A- or better | Tech Track* |
CSCI 6443 | Data Mining | CSCI 2541W. Registration restricted to CS Majors. | Tech Track |
CSCI 6542 | Computer Network Defense | CSCI 4541 | Tech Track |
CSCI 6548 |
E-Commerce Security |
CSCI 4531 or 6531 |
Tech Track |
CSCI 6562 | Design of Interactive Multimedia | CSCI 2113 or 6221 | Tech Track |
CSCI 3908** | Research | Tech Track for BS only (in CY 2019 or later). Advisor and Department Permission required. Must be taken for 3 credits to count toward program requirement. |
Unrestricted Elective CS classes for Primary BA and BS majors (in addition to Tech Track classes)
Course No. |
Course Title |
Prerequisites |
Requirement |
---|---|---|---|
CSCI 3908** |
Research |
CS Department and Faculty Approval Required. |
Unrestricted Elective |
Secondary BA majors (not in SEAS) do not require unrestricted electives.
Note that Primary BA students (SEAS) may use no more than two CS courses in General elective slots in the entire program.
CS Elective classes for BA CS majors ONLY
CS Electives for BA CS Majors in Curriculum Years 2021-2022 and earlier only.
Course No. |
Course Title |
Prerequisites |
Requirement |
---|---|---|---|
CSCI 3313 |
Foundations of Computing |
CSCI 2113 and CSCI 2312 or 2460 or 2461 |
CS Elective |
CSCI 3410 |
Systems Programming |
CSCI 2113 and CSCI 2460 or 2461 |
CS Elective |
**Notes about CSCI 3908: Research for CS BS students only
Requires adviser and department permission, and must be taken 3 credits at a time to count towards a program requirement.
Generally only three credits of research may be used towards a curriculum, in any slot. In the event that a student has a paper from the first use of the course, they may use another one for a maximum of 6 credits. When 6 credits are used towards the curriculum, only 3 credits may be used towards the tech track, the other three must be towards unrestricted slots. Thus a minimum of 9 credits of tech track courses must be from non-research courses
Any use of credits towards a program, even the first three credits of research, must be supported by documentation describing the output of the course (such as a paper or poster presentation, or links to code developed).
BA students are not allowed use of the research course towards the tech track because BA students take a total of 34-36 credits of computer science, while BS students take 55.