Students in the Computer Science program are required to fulfill coursework in an Application Area. An application area consists of three courses (9 hours) that display a distinct curricular pattern that is different from computer science. Any three non-CSCE courses that are from one department or are a subset of a defined minor, and that are each 3 credit hours or more, may satisfy this requirement. Students may petition the department for approval of other sets of application area courses.
The Application Area is meant to be a set of courses that will prepare you for your chosen career. Nearly all careers in CS involve writing software for other people, which requires learning about what they do and how to best engage them. For example, you might write software for a bank which would require you to learn about Finance, or write games which would require you to learn about good Design and Animation, or write apps for hospitals which would require you to know about medical systems, etc. The Application Area is meant to be the set of classes where you learn those other topics.
How to Officially get your Application Area Approved
If you chose 9 credits (3 courses) from one other department then you don't need to do anything; they are pre-approved. If you chose 9 credits of non-CSCE course that are part of a Minor then you don't need to do anything; they are pre-approved. Simply tell your advisor which ones you chose.
Otherwise, submit the CS Application Area request form. The Undergraduate Director will email you back, telling you whether your choices have been approved or not.
Note that degreeworks does not automatically place courses in the Application Area. It has to be done by hand by the advisors at Student Services. Typically they will do it right after you do your Senior/Graduation check, which you get done by visiting Student Services.
Major Electives (aka 500-level electives)
Computer Science majors are also required to take 9 credit hours of CSCE 500-level (or above) courses, or CSCE 317. If you plan ahead, you can choose a set of major electives that complements your Application Area electives and help you better prepare for your future career.
Recommended Application Area and Elective Courses for various Careers
Below we have a list of possible careers along with recommended Application Area and Major Electives courses which together form a good preparation for that career path. These are just some suggestions and are not meant to be an exhaustive list. Students can create their own Application Area as they see fit, in consultation with their advisor.
Bioinformatics or Computational Biology
Advances in Bioinformatics and Computational Biology are making critical contributions to disease detection, drug design, agriculture and environmental sciences through the development of computational methods including simulation and modeling, database design, high-performance computing, pattern recognition methods, search algorithms, statistical methods and visualization techniques.
Bioinformatics and Computational Biology is increasingly recognized as a distinctive scientific discipline combining aspects of computer science, statistics, mathematics, and biology, as well as related areas such as biochemistry and physics. The Department of Computer Science and Engineering addresses the growing national and regional demand for trained multidisciplinary scientists.
- CSCE courses: CSCE 555, one course selected from CSCE 565, 567, 569, 582
- SCI – Scientific Literacy Selective (8): CHEM 111/11L, CHEM 112/112L
- Laboratory Science Elective (4): BIOL 101 and BIOL 101L
- Liberal Arts Electives (9): Any or PSYC 101, SOCY 101, GEOG 103
- Recommended Application Area courses: BIOL 302, two additional courses selected from BIOL 301, 303, CHEM 333.
Cloud-Native Application Development
Cloud computing is a critical operational and development platform. Many large tech companies offer their own platforms, including AWS, Google, and Microsoft Azure, and businesses rely on cloud to reduce the cost of hardware acquisition, maintenance, and dynamic scalability of their environments. This mean companies are seeking developers who know how to deliver cloud-native application development. The Department of Computer Science and Engineering has partnered with Capgemini to create a digital-ready area of study with a focus on .Net/C# programming and cloud-native application design and development for the Azure cloud platform. This provides an accelerated path to acquiring cloud and digital skills required for enterprise IT developers of tomorrow. Industry experts from Capgemini will help deliver the advanced curricula to students, with course content enriched with real-world scenarios and projects.
- CSE Courses: CSCE 520: Databases, CSCE 547: Windows Programming, CSCE 526: Service Oriented Computing
- Non-CSE Courses (any three of the following courses): MGMT 371: Principles of Management, MGMT 374: Strategic Human Resource Management, MGMT 376: Employee Engagement, MGMT 402: Managing Teams in the Workplace, MGMT 403: Leadership in Organizations
Computer Game Design and Development
The computer game industry is booming and its revenue is expected to double from 2005's $32 billion to $65 billion in 2011. As a result, thousands of jobs will be created every year in the US alone. To meet this demand, the Department of Computer Science and Engineering offers a focus in computer game design and programming. As a first step, we offered an elective course in Spring 2007, with more than 30 students enrolled. In this class, students formed six groups to design, develop and test fully functional 3D games using commercial or open source game engines. We will continue to extend our education regarding computer games so that students will learn enough skills to pursue careers related to computer games. We have a strong group of faculty who are experts in computer vision, graphics, multi-media and algorithm design, and we will offer several courses related to game design and implementation. The computer game focus will also encourage students to take several key courses from other departments, including media arts and mathematics. The recommended courses are:
- CSCE courses: CSCE 552, two courses selected from CSCE 520, 565, CSCE 572, 580 (6 hours)
- Liberal Arts Electives (9): Three of MART 201, 210, 380, 581D, 371, 571C
- Suggested Application Area courses: Three courses selected from MART 201, 210, 380, 581D, 371, 571C, MATH 527, 576 (9 hours)
A data scientist brings together knowledge of programming, artificial intelligence, databases, math and statistics, along with domain knowledge, to analyze and extract actionable information from large databases. Data science and Big Data analytics are growing in demand. The New York Times reports that "There will be almost half a million jobs in five years, and a shortage of up to 190,000 qualified data scientists, plus a need for 1.5 million executives and support staff who have an understanding of data." If you are interested in becoming a Data Scientist we recommend:
- CSCE courses:
- Liberal Arts Electives (9): Any or GEOG 345, 363, 563
- Recommended Application Area courses: One of the following two sequences of classes.
- STAT 530 Applied Multivariate Statistics (prereq STAT 509), STAT 511 Probability (prereq MATH 241), STAT 535 Bayesian Data Analysis (prereq CSCE 582 or, STAT 511 and STAT 515)
- STAT 511 Probability (prereq MATH 241), STAT 512 Mathematical Statistics (prereq STAT 511), STAT 513 Theory of Statistical Inference (prereq STAT 512)
One of the side effects of the pervasive spread of computing is the increased use of computer and information technology in support of criminal activity, such as identity theft and computer-based scams. Cybersecurity (aka computer forensics) addresses the problems associated with the detection, investigation, and prosecution of computer-based crimes. Work in computer forensics requires not only knowledge of computer technology but also knowledge of laws and legal procedures. See also our Cybersecurity specialization.
We have a strong group of faculty who are experts in information assurance and computer security. We offer a strong foundation for work in this area, including two upper-level courses in computer security and forensics. Supporting courses are from Criminal Justice, Law, and Journalism. The recommended courses are:
- CSCE courses: CSCE 517, CSCE 518, CSCE 522, CSCE 548, CSCE 557
- Recommended Application Area courses: Three courses selected from CRJU 313, 314, 341, LAWS 525, 526, 547, JOUR 303, 504
Geographic Information Systems (GIS) Developer
- CSCE courses: CSCE 520, two courses selected from CSCE 564, 565, 567
- Recommended Application Area courses: Three courses selected from GEOG 341, 345, 363, 541, 551, 562, 563, 564
- CSCE courses: Two courses selected from CSCE 520, 531, 587, 580
- Prerequisite or required courses: LING 300 OR LING 301
- Recommended Application Area courses: Three courses selected from LING 340, 421, 440, 565, 567
- CSCE courses: Two courses selected from CSCE 520, 552, 564, 565, 567
- Recommended Application Area courses: MART 201, 210, 371 or 380
Risk and Insurance
Insurance is used to manage many of the risks faced by individuals and companies by transferring the risk to an insurance company; the company accepts the risk in exchange for a premium. Insurance companies need to keep track of premiums and payments. They also need to understand and model the risks involved in their market segment. We have faculty members who specialize in risk analysis, information systems, and computer security and teach courses related to these areas. The Moore School of Business has several faculty members who specialize in insurance from the business perspective. Modeling risks also involves the use of statistics and mathematical models.
- CSCE courses: CSCE 520, 522
- Prerequisite courses: ACCT 222, ECON 224 (ECON 224 may be used to satisfy the Social Science General Education Requirement)
- Recommended Application Area courses: FINA 363, two courses selected from FINA 341, 442, 443, 444, 445
Students with good mathematical skills should consider a track in scientific computing, also called computational science. This is a blend of computer science, applied mathematics, and discipline science such as physics, chemistry, or perhaps geology. Jobs for experts in scientific computing exist with the Department of Energy laboratories (Savannah River, Oak Ridge, Los Alamos, etc.) or the aerospace, automotive, or petroleum industries, to name three examples. Most scientific computing problems are large-scale problems, and parallel computing is necessary in order to have the programs finish in a timely way. Most problems also generate large amounts of data, so visualization is used to view the data to gain insight rather than just have numbers as output. We have faculty members who specialize in algorithms and architectures for scientific computing in a variety of fields and regularly teach courses in these areas. Exceptionally well prepared students should consider a double major in Computer Science and in Mathematics. This can be done with a careful choice of coursework with no additional credit hours required beyond that for the two majors.
- CSCE courses: One course from CSCE 564, 565, 567, 569
- Prerequisite courses: MATH 141, 142
- Recommended Application Area courses: MATH 242, 300, and one course from MATH 520, 546, 554, or 574.
Students interested in working in the aerospace industry will benefit from these classes. We also recommend the Aerospace Engineering Minor for those who wish to learn even more about Aerospace Engineering.
- CSCE courses: Three CSCE 500-level electives that cover topics of either graphics, simulation, or algorithms.
- Recommended Application Area courses: EMCH 577: Aerospace Structures I, EMCH 578: Introduction to Aerodynamics, and then either EMCH 508: Finite Element Analysis in Mechanical Engineering or EMCH 585: Introduction to Composite Materials.
Students interested in the physical -- as well as cognitive or algorithmic -- aspects of robots will benefit from these courses.
- CSCE courses: CSCE 574, CSCE 580, and another 500-level elective.
- Recommended Application Area courses: EMCH 535 - Robotics in Mechanical Engineering, ELCT 331 - Control Systems, and ELCT 531 - Digital Control Systems. Note that these classes have added prerequisites that you will have to satisfy.
Full-stack web development requires knowing about design aesthetics, and business, in addition to the technical topics.
- CSCE courses: Three courses (9 hours) from: CSCE 520, CSCE 572, CSCE 578, CSCE 594, CSCE 548,
- Application Area courses: Three courses (9 hours) selected from MART 201, 210, 380, 581D, 371, 571C, or any other MART class you think would be useful. Also, you can add classes in other majors that are related to your domain area. For example, if you plan to build webapps for the Banking industry, take an intro to finance class.
- CSCE courses: any CSCE 500-level or above courses that you want
- Liberal Arts Electives: 9 credits in any one of the approved Liberal Arts departments. You can choose classes to compliment your career.
- Application Area courses: 9 credits in some other major, that will help you in your career. Or, consult with your advisor if you want to choose from different majors.