CS Options
One of the benefits of the Systems option is its accreditation. The Computer Systems Option is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org in both Bachelors of Science degrees and in Honors Bachelors of Science degrees. The Computer Systems option gives students the necessary training and preparation that many large companies (such as Google, Apple, and Intel).
View an example plan to get an idea of a student's course schedule. For more details about completing an academic plan, make an appointment with an advisor.
The Applied option allows students to develop a degree program that focuses on their area of interest. Students can shape a program that includes fields outside computer science such as music, chemistry, mathematics and medical fields, or specialize in an area of computer science such as artificial intelligence, bioinformatics, game and simulation development, human-computer interaction, and computer security. Students pick 32 credits of electives to develop a cohesive focus area and shape their degree to their particular interest or needs.
Important Notes
- All Applied Option students must complete and submit an Approval Form for Applied Options (through the online form below) by the end of their first term in the Professional Program.
- Any changes to the Applied Plan must be approved and documented by the CS Curriculum Committee.
- PLAN AHEAD! Not all courses are offered every term and can be limited even to certain years.
To submit a proposed plan of study, use the Applied CS Program webform.
View an example plan to get an idea of a particular student's course schedule. For more details about completing an academic plan, make an appointment with an advisor.
To submit a proposed plan of study, use the Applied CS Program webform.
At first glance, you might not think biology is even remotely related to computer science. But in recent years, computer science has helped other scientists make enormous advances by giving them access to huge amounts of data.
Today, computer scientists develop ways to model and analyze biological data that can help scientists speed up their research or discover new insights into the secrets of life. And the Human Genome Project, for example, would not have been possible without having computers to analyze huge amounts of genetic data. Combining biology with computer science is called bioinformatics or computational biology.
Potential Job Opportunities
Bioinformatics scientist: develop algorithms, integration & analysis of biological data across multiple databases. Companies: Ceres Inc. Somalogic Inc. Ocean Ridge Biosciences, ACGT
Bioinformatician: design, develop, maintain data processing of biological data. Companies: UC Davis, University of Chicago, DNAnexus, Qiagen
Faculty
Courses
Core
- CS 434 (Machine Learning & Data Mining)
- CS 440 (Database Management Systems)
- CS 453 (Scientific Visualization) or CS 458 (Introduction to Information Visualization)
- BI 212 and BI 213 (Principles of Biology)
Electives
- BI 445 (Evolution)
- BI 370 (Ecology)
- BOT 331 (Plant Physiology)
- BOT 341 (Plant Ecology)
- BOT 425 (Flora of the Pacific Northwest)
- CS 446 (Biological Networks)
- ENT 420 (Insect Ecology)
- HSTS 415 (Theory of Evolution and Foundation of Modern Biology)
- MB 448 (Microbial Ecology)
- Z 345 (Introduction to Evolution)
- Z 351 (Marine Ecology)
- Z 361 (Invertebrate Biology)
- Z 365 (Biology of Insects)
- Z 371 (Vertebrate Biology)
- Z 423 (Environmental Physiology)
- Z 425 (Embryology and Development)
- Z 430 (Principles of Physiology)
- Z 431 (Physiology)
- Z 432 (Vertebrate Physiology)
To submit a proposed plan of study, use the Applied CS Program webform.
Simulation and Game Programming (SPG) requires a solid multidisciplinary background. In this CS applied option, you will take courses in computer graphics programming, math, physics, and new media. The combination of these experiences will let you do amazing things in SGP and in many other innovative areas as well.
Potential Job Opportunities
Engine programmer: design, develop, maintain the software that handles the physics, graphics, sound, and performance of modern games. Companies: Bungie, Epic, Dice, Blizzard, Pipeworks, Zynga, Gearbox, Bethesda.
Game server programmer: design, develop, maintain the backend of games that handles online multiplayer matchmaking, gameplay data, and user behavior. Statistics and data mining heavy. Companies: Bungie, Epic, Dice, Blizzard, Pipeworks, Zynga, Gearbox, Bethesda.
Faculty
Courses
Core
- MTH 341 (Linear Algebra)
- CS 450 (Intro to Computer Graphics)
Electives
- CS 419 (ST/Virtual & Augmented Reality)
- CS 457 (Computer Graphics Shaders)
- CS 458 (Introduction to Information Visualization)
- CS 475 (Intro to Parallel Programming)
- CS 491 (Intro to Game Programming)
- CS 492 (Mobile Software Development) – cannot be combined with CS 496
- CS 493 (Cloud Application Development) – cannot be combined with CS 496
- CS 496 (Mobile and Cloud Software Development) - no longer offered on campus
- PH 211 and PH 221* (General Physics with Calculus I)
- PH 212 and PH 222* (General Physics with Calculus II)
- CS 331 (Intro to Artificial Intelligence)
- CS 434 (Machine Learning & Data Mining)
- MTH 254 (Vector Calculus I)
*PH 221/222 not needed if corresponding PH 211/212 was taken before Fall 2017.
To submit a proposed plan of study, use the Applied CS Program webform.
Computer science and business are both highly desired, especially when mixed together. Many CS companies start small and these companies need employees that have the basics to help make a company grow successfully. Business is also desirable with CS because it can add management and communication skills to a technological degree. Students that choose this option are setting themselves up for a number of opportunities:
- Students gain the experience to create their own start-up or business.
- Students have the background necessary to work with other smaller companies.
- Students can work with a business advisor to be prepared for an MBA program.
Students must apply for and receive a minor in Business & Entrepreneurship. They should contact the College of Business for the latest requirements. In addition to completing the 32 credit minor, students need to take CS 440 Database Management Systems for the Business and Entrepreneurship Applied Program.
To submit a proposed plan of study, use the Applied CS Program webform.
Claudia Mini pursued the HCI applied option degree which combined her interest in psychology and computer science with her creative side. Read her story.
As we integrate technology in more facets of our lives, the interface between humans and computers grows both larger and smaller: Larger in the sense that we interact with more applications and devices; Smaller in that our uses become more personalized and intimate.
The human-computer interaction (HCI) applied option helps you to understand both sides of this interface: the computer through programming, information visualization, and core computer science courses; and the human through cognition and psychology courses. Only by understanding both sides can we maximize the potential of computing in human lives.
Potential job opportunities
User experience (UX) or interaction design: design and develop graphical user interfaces, interaction methods, workflows, and other front ends. Companies: Apple, Microsoft, Google, and any company that produces user-facing software.
Web designer: analyze, design, and develop interfaces for web sites and web applications, integrate and present information from multiple sources. Companies: Amazon, Expedia, Google, and any company that produces software for the web.
Faculty
- Julie A. Adams
- Margaret Burnett
- Danny Dig
- Martin Erwig
- Carlos Jensen
- Heather Knight
- Anita Sarma
- Christopher Scaffidi
- Eric Walkingshaw
Courses
Core
- CS 419 (HCI Research Methods) or CS 468 (Inclusive Design)
- CS 453 (Scientific Visualization) or CS 458 (Introduction to Information Visualization)
- CS 464 (Open Source Software – completed before Fall 2017)
or CS 496 (Mobile & Cloud Software Development - no longer offered on campus)
or CS 492 (Mobile Software Development) - PSY 340 (Cognition)
Possible Electives
- PSY 350 (Human Lifespan Development)
- PSY 360 (Social Psychology)
- PSY 370 (Personality)
- PSY 426 (Psychology of Gender)
- PSY 434 (Brain and Behavior Methods)
- PSY 440 (Cognition Research)
- PSY 442 (Perception)
- PSY 444 (Learning and Memory)
- PSY 454 (Cognitive Development)
- PSY 456 (Social Development)
- PSY 464 (Social Cognition)
- PSY 494 (Engineering Psychology)
To submit a proposed plan of study, use the Applied CS Program webform.
Security is the study of controlling access to information in the presence of adversarial behavior. Any system connected to the internet must deal with the potential of attacks. With a concentration in security, you will develop a proactive, defensive mindset and learn how to design systems that are resistant to compromise.
Potential Job Opportunities
Security operations center (SOC) analyst: monitor and detect security incidents, analyze and coordinate responses across groups
Security/information assurance engineer: identify security requirements for a system and design architectures, policies, and monitoring strategies that achieve them
System security administrator: monitor systems for security-related incidents, maintain system updates, enforce security policies
Penetration tester: perform mock attacks (with authorization) in an effort to identify and responsibly disclose possible security vulnerabilities
Faculty
Courses
Core
- CS 321 (Intro to Theory of Computation)
- CS 370 (Intro to Security)
- CS 373 (Defense Against the Dark Arts)
- CS 427 (Cryptography)
- CS 478 (Network Security)
Electives
- CS 312 (Linux System Administration)
- CS 434 (Machine Learning and Data Mining)
- CS 440 (Database Management Systems)
- CS 472 (Computer Architecture)
- CS 476 (Advanced Computer Networking)
- CS 493 (Cloud Application Development) – cannot be combined with CS 496
- CS 496 (Mobile & Cloud Software Development) - no longer offered on campus
- MTH 341 (Linear Algebra I)
- MTH 440 (Computational Number Theory)
- MTH 451 (Numerical Linear Algebra)
- MTH 452 (Numerical Solutions of Ordinary Differential Equations)
- MTH 453 (Numerical Solutions of Partial Differential Equations)
Computing has become pervasive, touching nearly every aspect of our lives. A minor in computer science can open up opportunities for employment in the software development industry, but also in many areas including healthcare, business, science, medicine, graphics, utilities and education. Courses will teach theory, problem-solving skills, and programming.
Students majoring in electrical and computer engineering (ECE) should select the ECE majors tab.
Computer Science Minor Requirements (36 credits total)
To earn the minor upon graduation, students must meet all of the following:
- Earn a C in each of their minor courses (all courses must be taken using the A-F grading scale)
- Have a minimum 2.25 GPA in all required minor coursework (36 credits)
Lower-Division Computer Science Minor Requirements (20 credits)
- CS 161 Introduction to Computer Science I (4)
- CS 162 Introduction to Computer Science II (4)
- CS 261 Data Structures (4)
- CS 271 Computer Architecture and Assembly Language (4)
- MTH 231 Elements of Discrete Mathematics (4)
or CS 225 Elements of Discrete Mathematics (4)
Students may declare a computer science minor after completing the lower-division required courses with a GPA of 2.25 or higher and after becoming eligible to take 300-level courses in their major. Please speak with an EECS advisor to declare the minor.
Upper-Division Computer Science Minor Requirements (16 credits)
- CS 362 Software Engineering II (4) REQUIRED
Recommended elective courses might include (but not limited to) (12 credits):
- CS 344 Operating Systems (4)
- CS 352 Introduction to Usability Engineering (4)
- CS 361 ^Software Engineering I (4)
- CS 440 Database Management Systems (4)
- CS 475 Introduction to Parallel Programming (4)
- CS 496 Mobile and Cloud Software Development (4)
Other upper-division courses are acceptable; please speak with an advisor about which courses might create the best path for your goals.
Courses that CANNOT be used for minor requirements:
- CS 391 *Social and Ethical Issues in Computer Science (3)
- CS 395 Interactive Multimedia (4)
- CS 401 Research (1–16)
- CS 405 Reading and Conference (1–16)
- CS 407 Seminar (1–16)
- CS 410 Occupational Internship (1–16)
- CS 461 Senior Software Engineering Project (3)
- CS 462 Senior Software Engineering Project (3)
- CS 463 Senior Software Engineering Project (2)
- CS 494 Web Development (4)
- CS 495 Interactive Multimedia Projects (4)
The minor in computer science can be easily added to an ECE major. If planned correctly, ECE students can obtain their CS minor with one extra CS course that does not go toward their ECE major.
Courses that all ECE students complete (28 credits)
- CS 161 Introduction to Computer Science I (4)
- CS 162 Introduction to Computer Science II (4)
- CS 261 Data Structures (4)
- ECE 271 AND ECE 272 Digital Logic Design (4)
- MTH 231 Elements of Discrete Mathematics (4)
- ECE 372 OR CS 372 Introduction to Computer Networks (4)
- ECE 375 Computer Organization and Assembly Language Programming (4)
Upper-division CS courses that count as ECE Restricted Electives (4 credits)
Required and does not count for the ECE Major (1 course)
- CS 362 Software Engineering II (4)