Bachelor of Science in Computer Science

About

In the Bachelor of Science in Computer Science Program, you’ll learn about algorithms, performance analysis, networks, computer architectures, information systems and software engineering. You can choose to concentrate in database programming, network security, operating systems, or computational informatics.

Our graduates go on to work as software developers, software engineers, game programmers, database programmers and more.

Curriculum & Requirements Academic Plan

Cybersecurity Minor for NCAE-C Prerequisite Map

What You'll Learn

The following information comes from the official EWU catalog, which outlines all degree requirements and serves as the guide to earning a degree. Courses are designed to provide a well-rounded and versatile degree, covering a wide range of subject areas.

Computer Science Major, Bachelor of Science (BS)

The Bachelor of Science in Computer Science program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

The traditional computer science degree provides extensive preparation in both the theoretical and practical aspects of computer science. It prepares students for a variety of careers in computing or for additional study at the graduate level. In this program, students study both general purpose programming and programming for specialized purposes and environments. In addition, students learn about algorithms, performance analysis, networks, computer architectures, information systems, and software engineering. Students also work on a realistic project in a team environment. The program includes a variety of advanced courses that allow students to tailor their degree to their specific interests.

Exam Requirement: All Computer Science majors are required to pass the Advanced Programming Exam prior to taking courses for which it is a prerequisite. Passing the exam is required for graduation and no exam waivers will be granted for degree completion.

Note: no course may be used as both a requirement and an elective in a student's program.

Grade Requirements: As a computer science student, you are expected to maintain an overall university GPA ≥2.3. Each computer science course must be completed with a minimum grade ≥C+. All supporting courses required by the department must be completed with a minimum grade ≥C.

Required Computer Science Courses
CYBR 101CYBERSECURITY FUNDAMENTALS5
CSCD 202COMPUTING ETHICS4
CSCD 210PROGRAMMING PRINCIPLES I5
CSCD 211PROGRAMMING PRINCIPLES II5
CSCD 212OBJECT ORIENTED PROGRAMMING WITH DESIGN PATTERNS5
CSCD 240C AND UNIX PROGRAMMING5
CSCD 260ARCHITECTURE AND ORGANIZATION4
or EENG 260 MICROCONTROLLER SYSTEMS
CSCD 300DATA STRUCTURES5
CSCD 320ALGORITHMS5
CSCD 327RELATIONAL DATABASE SYSTEMS4
CSCD 330COMPUTER NETWORKS4
CSCD 340OPERATING SYSTEMS5
CSCD 350SOFTWARE DEVELOPMENT PRINCIPLES4
CSCD 420COMPILERS4
Required Supporting Courses
EENG 160DIGITAL CIRCUITS5
MATH/HONS 161CALCULUS I5
MATH 162CALCULUS II5
MATH 231LINEAR ALGEBRA5
MATH 301DISCRETE MATHEMATICS5
MATH 380ELEMENTARY PROBABILITY AND STATISTICS5
Required Laboratory Science Sequence–choose one sequence from the following 10-15
Biology
BIOLOGY I
BIOLOGY II
BIOLOGICAL INVESTIGATION
Chemistry
GENERAL CHEMISTRY I
and GENERAL CHEMISTRY LABORATORY I
and GENERAL CHEMISTRY II
and GENERAL CHEMISTRY LABORATORY II
Geosciences
DISCOVERING GEOLOGY
THE EARTH'S CLIMATE AND WEATHER
Physics
GENERAL PHYSICS I
GENERAL PHYSICS II
MECHANICS LABORATORY
HEAT AND OPTICS LABORATORY
Required Electives–choose six courses; at least four courses must be 400-level24
Note: many of these elective courses have prerequisites.
Note: other courses may be used with prior approval of the department.
COMPUTER AND INFORMATION SECURITY
C++ PROGRAMMING
PRACTICAL PROBLEM SOLVING
GUI PROGRAMMING
.NET PROGRAMMING
ANDROID MOBILE DEVELOPMENT
IOS MOBILE DEVELOPMENT
INTRODUCTORY COMPUTER GRAPHICS
WEB APPLICATION DEVELOPMENT
.NET WEB APPLICATION DEVELOPMENT
EXPERIMENTAL COURSE (prior departmental approval of topic content is required)
SEMINAR (prior departmental approval of topic content is required)
DIRECTED STUDY (prior departmental approval of topic content is required)
SCIENTIFIC PROGRAMMING
RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS
ADVANCED DATABASE MANAGEMENT SYSTEMS
DATA MINING
BIG DATA ANALYTICS
ADVANCED NETWORKING CONCEPTS
NETWORK SECURITY
PRINCIPLES OF PROGRAMMING LANGUAGE
SECURE CODING
TOPICS IN COMPUTER SCIENCE (prior departmental approval of topic content is required)
DISTRIBUTED MULTIPROCESSING
GPU COMPUTING
ADVANCED ARCHITECTURE AND ORGANIZATION
COMPUTING SYSTEMS: ORGANIZATION AND DESIGN
EMBEDDED SYSTEMS
EMBEDDED SYSTEMS DESIGN
EMBEDDED REAL-TIME CONTROL
REAL TIME EMBEDDED SYSTEMS
PARALLEL AND CLOUD COMPUTING
3D COMPUTER GRAPHICS PRINCIPLES
ADVANCED 3D COMPUTER GRAPHICS
VIRTUAL REALITY WITH COMPUTER GRAPHICS AND GAME ENGINES
INTELLIGENT SYSTEMS
MODELING AND SIMULATION
MACHINE LEARNING
DEEP LEARNING
HUMAN COMPUTER INTERFACE
INTERNSHIP (variable credit–up to two 4 credit internships are allowed)
EXPERIMENTAL COURSE (variable credit–prior departmental approval of topic content is required)
SEMINAR (variable credit–may be repeated)
DIRECTED STUDY (variable credit–prior departmental approval of topic content is required)
CYBERSECURITY POLICIES, PRIVACY AND LAWS
APPLIED CYBER DEFENSE
APPLIED CYBER OPERATIONS
DIGITAL FORENSICS AND CYBERCRIME
Required Senior Capstone Series
CSCD 488SENIOR PROJECT5
CSCD 490SENIOR CAPSTONE5
Total Credits138-143

The following plan of study is for a student with zero credits. Individual students may have different factors such as: credit through transfer work, Advanced Placement, Running Start, or any other type of college-level coursework that requires an individual plan.

Courses may be offered in different terms and not all courses are offered every term, checking the academic schedule is paramount in keeping an individual plan current. There may be some courses that have required prerequisites not listed in the plan, review the course descriptions for information. Students should connect with an advisor to ensure they are on track to graduate.

All Undergraduate students are required to meet the Undergraduate Degree Requirements.

First Year
Fall QuarterCreditsWinter QuarterCreditsSpring QuarterCredits
EENG 1605CYBR 101 (Social Science BACR 1)5CSCD 202 (Humanities & Arts BACR 1)4
ENGL 1015MATH 1615ENGL 2015
Natural Science BACR 1 (Laboratory Science Sequence)15Natural Science BACR 2 (Laboratory Science Sequence)15Social Science BACR 215
 15 15 14
Second Year
Fall QuarterCreditsWinter QuarterCreditsSpring QuarterCredits
CSCD 2105CSCD 2115CSCD 2125
MATH 3805CSCD 2405CSCD 3005
Humanities & Arts BACR 215MATH 1625MATH 3015
 15 15 15
Third Year
Fall QuarterCreditsWinter QuarterCreditsSpring QuarterCredits
CSCD 260 or EENG 2604CSCD 3205CSCD 3274
CSCD 3034CSCD 4204CSCD 3405
CSCD 3304MATH 2315Computer Science Elective24
Global Studies - graduation requirement15Computer Science Elective24Elective - certificate, minor, or general elective4
 17 18 17
Fourth Year
Fall QuarterCreditsWinter QuarterCreditsSpring QuarterCredits
CSCD 3504CSCD 4885CSCD 490 (Senior Capstone - graduation requirement)5
CSCD 3784Computer Science Elective24Computer Science Elective24
Computer Science Elective24Computer Science Elective24Diversity - graduation requirement15
 12 13 14
Total Credits 180
1

University Graduation Requirements (UGR) and Breadth Area Course Requirements (BACR) courses may be less than 5 credits and additional credits may be required to reach the required 180 total credits needed to graduate.  Students should connect with an advisor to ensure they are on track to graduate.

2

Required Electives–choose six courses from the approved list; at least four courses must be 400-level. Many of the elective courses have prerequisites. Other courses may be used with prior approval of the department.

Cybersecurity Minor

The minor provides the skills necessary to meet an increasing demand for cybersecurity professionals.

Grade Requirements: As a computer science student, you are expected to maintain an overall university GPA ≥2.3. Each computer science course must be completed with a minimum grade ≥C+. All supporting courses required by the department must be completed with a minimum grade ≥C. Note: The required security course from the BSCS cannot be counted as part of the minor. You must complete all three security courses for the BSCS with the Cyber minor.

Required Courses
CSCD 210 PROGRAMMING PRINCIPLES I 5
CSCD 240 C AND UNIX PROGRAMMING 5
CSCD 260 ARCHITECTURE AND ORGANIZATION 4
CSCD 330 COMPUTER NETWORKS 4
EENG 160 DIGITAL CIRCUITS 4
Elective Courses–choose two courses from the following 8
Note: The required security course from the BSCS cannot be counted as part of the minor. You must complete all three security courses for the PoS  BSCS with the Cyber minor.
COMPUTER AND INFORMATION SECURITY
NETWORK SECURITY
SECURE CODING
Total Credits 30

Program Learning Outcomes

Upon completion of graduation requirements, Bachelor of Science in Computer Science students will:

  • analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline, utilizing techniques, skills, and tools necessary for computing practice.
  • communicate effectively in a variety of professional contexts.
  • recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles, including local and global impacts of computing solutions on individuals, organizations, and society.
  • function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • apply computer science theory and software development fundamentals to produce computing-based solutions.
  • identify risk with regard to security, to participate in risk mitigation activities, and to provide application and information security