Program Overview
Introduction to the Computer Science Program
The Computer Science program at Western Washington University is designed to provide students with a comprehensive education in the field of computer science. The program is composed of core classes that focus on the study of design and analysis techniques used to write software in various application domains, as well as details about the internal workings of computers and networks. Elective classes in areas such as AI, mobile device programming, robotics, graphics, bioinformatics, computer security, video game programming, and many others allow students to explore areas of individual interest.
Why Consider a Computer Science Major?
Computer Science is an exciting and socially impactful field that provides many challenging, rewarding, and lucrative career paths for graduates to pursue. As a computer scientist, you can make an impact on the advancement of medicine, clean energy, entertainment, communication for the disabled, climate research, and automotive technologies, to name a few. The discipline is not just about programming, but also about the ways we organize data, solve problems, discover applications, and build devices and associated software that are effective and easy to use.
Student Resources
- Department Website: Computer Science
- Department advising:
- CS Program Director: Yudong Liu
- CS Pre-Major Advisor: Mary Hall
- Transfer Advisor: Please contact the Main Office
- Degree Works: Current students should also log on to Degree Works to check student-specific program progress.
- Career Services Center: Connect major to a career
- Sample Careers:
- Computational Scientist
- Computer Engineer
- Data Scientist
- Database Administrator
- Game Programmer
- IT Consultant
- Network Engineer
- Project Manager
- Research Analyst
- Robotics Programmer
- Software Engineer
- Systems Administrator
- Systems Analyst
- Systems Engineer
- Technical Writer
- User Experience Designer
- Web Developer
Admission and Declaration Process
Admission to the Computer Science BS major is a two-phase process. Students are pre-majors until they have completed CSCI 141, CSCI 145, CSCI 241, CSCI 247, and CSCI 301, as well as MATH 124. Students may declare the CS Pre-major when they are enrolled in CSCI 145. Admission to the Computer Science BS major is based on multiple factors, including the student’s academic performance in CSCI 241, CSCI 247, and CSCI 301. Evidence that the student will have a positive impact on the department culture is also taken into account.
Grade Requirements
A grade of C- or better is required for a student’s major or minor courses, and supporting courses for majors and minors.
Program Requirements
The program requires 94 credits from computer science and mathematics, plus 12-15 credits in supporting science.
Major Core (54 credits)
- CSCI 141 - Computer Programming I (4 credits)
- CSCI 145 - Computer Programming and Linear Data Structures (4 credits)
- CSCI 241 - Data Structures (4 credits)
- CSCI 247 - Computer Systems I (5 credits)
- CSCI 301 - Formal Languages and Functional Programming (5 credits)
- CSCI 305 - Analysis of Algorithms and Data Structures I (4 credits)
- CSCI 330 - Database Systems (4 credits)
- CSCI 345 - Object Oriented Design (4 credits)
- CISS 346 - Secure Software Development (4 credits)
- CSCI 347 - Computer Systems II (4 credits)
- CSCI 367 - Computer Networks I (4 credits)
- CSCI 405 - Analysis of Algorithms and Data Structures II (4 credits)
- CSCI 447 - Operating Systems (4 credits)
Senior Project (6 credits)
- Complete CSCI 491/492/493 or 6 credits of CSCI 490
- CSCI 491 - Senior Project 1 (2 credits)
- CSCI 492 - Senior Project 2 (2 credits)
- CSCI 493 - Senior Project 3 (2 credits)
- or
- CSCI 490 - Senior Research (2 credits, must complete 6 credits)
Math (13-18 credits)
Calculus sequence
- Complete one of the following calculus course sequences:
- MATH 124 - Calculus and Analytic Geometry I (5 credits)
- and MATH 125 - Calculus and Analytic Geometry II (5 credits)
- or
- MATH 134 - Calculus I Honors (5 credits)
- and MATH 135 - Calculus II Honors (5 credits)
- or
- MATH 138 - Accelerated Calculus (5 credits)
Required courses
- MATH 204 - Elementary Linear Algebra (4 credits)
- MATH 341 - Probability and Statistical Inference (4 credits)
Science (12-15 credits)
- Students must complete one of the following science sequences:
Biology
- BIOL 204 - Introduction to Evolution, Ecology and Biodiversity w/lab (5 credits)
- BIOL 205 - Introduction to Cellular and Molecular Biology w/lab (5 credits)
- BIOL 206 - Introduction to Organismal Biology w/lab (5 credits)
Chemistry
- CHEM 161 - General Chemistry I (5 credits)
- CHEM 162 - General Chemistry II (5 credits)
- CHEM 163 - General Chemistry III (5 credits)
Geology
- GEOL 211 - Physical Geology (5 credits)
- GEOL 212 - Historical Geology (4 credits)
- Must complete one of the following courses:
- GEOL 308 - Earthquakes (4 credits)
- GEOL 309 - Volcanology (3 credits)
- GEOL 314 - Engineering Geology (4 credits)
- GEOL 315 - Minerals, Energy and Society (4 credits)
- GEOL 340 - Geological Oceanography (3 credits)
Physics
- PHYS 161 - Physics with Calculus I (5 credits)
- PHYS 162 - Physics with Calculus II (5 credits)
- PHYS 163 - Physics with Calculus III (5 credits)
Electives (16 credits)
- 16 credits chosen from the following, of which a maximum of 4 total credits can be taken from CSCI 400 or CSCI 496 projects:
- CISS 421 - Computer Forensics (4 credits)
- CSCI 321 - Game Programming (4 credits)
- CSCI 342 - Web Programming (4 credits)
- CSCI 343 - Programming Workshop (1 credit)
- CSCI 372 - Robotics: Applications of Artificial Intelligence (4 credits)
- CSCI 380 - Numerical Computations (4 credits)
- CSCI 397 temporary courses under advisement
- CSCI 400 - Directed Independent Study (1-15 credits)
- CSCI 401 - Automata and Formal Language Theory (4 credits)
- CSCI 402 - Artificial Intelligence (4 credits)
- CSCI 404 - Natural Language Processing (4 credits)
- or CSCI 573 - Computational Linguistics (4 credits)
- CSCI 410 - Programming Languages (4 credits)
- CSCI 412 - Mobile Application Development (4 credits)
- CSCI 415 - Parallel Computation (4 credits)
- or CSCI 515 - Parallel Computation (4 credits)
- CSCI 424 - Social Network Analysis (4 credits)
- CSCI 426 - Principles of Human-Centered Technology Design (4 credits)
- or CSCI 526 - Principles of Human-Centered Technology Design (4 credits)
- CSCI 430 - Database Theory (4 credits)
- CSCI 436 - Technology for Social Good (4 credits)
- or CSCI 536 - Technology for Social Good (4 credits)
- CSCI 440 - Virtual Worlds (4 credits)
- or CSCI 540 - Virtual Worlds (4 credits)
- CSCI 442 - Advanced Web Programming (4 credits)
- CSCI 450 - Compiler Theory and Design (4 credits)
- CSCI 461 - Computer Security (4 credits)
- CSCI 462 - OS Device Drivers (4 credits)
- CSCI 463 - Cyber Defense (1 credit)
- CSCI 467 - Computer Networks II (4 credits)
- CSCI 471 - Advanced Machine Learning (4 credits)
- or CSCI 571 - Advanced Machine Learning (4 credits)
- CSCI 474 - Bioinformatics (4 credits)
- CSCI 476 - Computer Vision (4 credits)
- or CSCI 576 - Computer Vision (4 credits)
- CSCI 477 - Data Mining (4 credits)
- or CSCI 577 - Data Mining (4 credits)
- CSCI 479 - Spoken Language Processing (4 credits)
- or CSCI 579 - Spoken Language Processing (4 credits)
- CSCI 480 - Computer Graphics (4 credits)
- or CSCI 580 - Computer Graphics (4 credits)
- CSCI 481 - Deep Learning (4 credits)
- or CSCI 581 - Deep Learning (4 credits)
- CSCI 482 - Computational Neuroscience (4 credits)
- or CSCI 582 - Computational Neuroscience (4 credits)
- CSCI 496 - Undergraduate Research (1-4 credits)
- CSCI 497 temporary courses under advisement
- CSCI 510 - Automata and Formal Language Theory (4 credits)
- CSCI 512 - Design and Implementation of Computer Programming Languages (4 credits)
- CSCI 520 - Advanced Compiler Design (4 credits)
- CSCI 525 - Advanced Topics in Operating Systems (4 credits)
- CSCI 530 - Advanced Database Theory (4 credits)
- CSCI 572 - Robotics (4 credits)
- CSCI 575 - Information Retrieval (4 credits)
- CSCI 578 - Cryptography (4 credits)
- CSCI 584 - Scientific Visualization (4 credits)
- CSCI 585 - Image Processing (4 credits)
- DATA 471 - Machine Learning (4 credits)
- or DATA 571 - Machine Learning (4 credits)
- M/CS 335 - Linear Optimization (4 credits)
- M/CS 375 - Numerical Computation (4 credits)
- M/CS 435 - Nonlinear Optimization (4 credits)
- M/CS 475 - Numerical Analysis (4 credits)
- M/CS 478 - Fundamentals of Cryptography (4 credits)
University Graduation Requirements
- General University Requirements
- Writing Proficiency Requirement (WP)
- 180 Minimum Total Credits
- 60 Minimum Upper Division Credits
- Residency Requirement
- Minimum Grade Requirements
- Final Quarter Requirement
Conclusion
The Computer Science program at Western Washington University provides students with a comprehensive education in the field of computer science, preparing them for a wide range of career opportunities. With a strong foundation in computer science principles, students can pursue their interests in areas such as AI, data science, cybersecurity, and more. The program's emphasis on hands-on learning, research, and collaboration with faculty and industry professionals ensures that graduates are well-equipped to succeed in their chosen careers.
