Bachelor of Computer Science

About

In the Bachelor of Computer Science program, you’ll learn about computer programming, algorithms, professional development, the local and global impact of computing. You’ll also study a variety of professional, ethical, legal, security, and social issues. In addition, you’ll develop your problem-solving skills and take courses in network programming, database management, and web and software development.

Curriculum & Requirements

Computer Science Major, Bachelor of Computer Science (BCS)

Our Bachelor of Computer Science program provides significant formal training in database and web programming, unique internship opportunities, and team development of information system projects. The program is designed to help prepare you to realize the potential of information systems. You can enjoy a career as a systems analyst, database administrator, web developer or software engineer.

Note: no course may be used for both a requirement and an elective.

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
CSCD 202COMPUTING ETHICS4
CSCD 210PROGRAMMING PRINCIPLES I5
CSCD 211PROGRAMMING PRINCIPLES II5
CSCD 212OBJECT ORIENTED PROGRAMMING WITH DESIGN PATTERNS5
CSCD 240C AND UNIX PROGRAMMING5
CSCD 300DATA STRUCTURES5
CSCD 320ALGORITHMS5
CSCD 327RELATIONAL DATABASE SYSTEMS4
CSCD 330COMPUTER NETWORKS4
CSCD 350SOFTWARE DEVELOPMENT PRINCIPLES4
CSCD 488SENIOR PROJECT5
Web Development–choose one of the following:
CSCD 378WEB APPLICATION DEVELOPMENT4
or CSCD 379 .NET WEB APPLICATION DEVELOPMENT
Security–choose one of the following:
CSCD 303COMPUTER AND INFORMATION SECURITY4
or CSCD 434 NETWORK SECURITY
or CSCD 437 SECURE CODING
Required Supporting Course
MATH 301DISCRETE MATHEMATICS5
Required Focus Group–choose from–Animation Focus Group, a minor, or a 20-credit cluster of classes.20
Note: the minor or cluster of classes must be approved in advance by the Computer Science Department.
Animation Focus Group
3D MODELING and ANIMATION I
3D MODELING AND ANIMATION II
3D MODELING AND ANIMATION III
DIGITAL FOUNDATIONS
Choose one Drawing Class
STUDIO ART I: SURFACE/IMAGE/PRACTICE
DRAWING
DRAWING FOR COMMUNICATION
Required Electives–choose six courses from the following, at least two at the 400 level24
Notes: No course may be used for an elective that is used to satisfy another major requirement. Upper division MATH or CSCD 95–99 courses may be used–prior department approval of topic content is required.
COMPUTER AND INFORMATION SECURITY
C++ PROGRAMMING
PRACTICAL PROBLEM SOLVING
3D MODELING AND ANIMATION II
3D MODELING AND ANIMATION III
OPERATING SYSTEMS
GUI PROGRAMMING
.NET PROGRAMMING
ANDROID MOBILE DEVELOPMENT
IOS MOBILE DEVELOPMENT
INTRODUCTORY COMPUTER GRAPHICS
WEB APPLICATION DEVELOPMENT
.NET WEB APPLICATION DEVELOPMENT
SCIENTIFIC PROGRAMMING
AUTOMATA AND COMPILERS
RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS
ADVANCED DATABASE MANAGEMENT SYSTEMS
DATA MINING
BIG DATA ANALYTICS
ADVANCED COMPUTER NETWORKS
NETWORK SECURITY
PRINCIPLES OF PROGRAMMING LANGUAGE
SECURE CODING
TOPICS IN COMPUTER SCIENCE (prior department approval of content required)
DISTRIBUTED MULTIPROCESSING
GPU COMPUTING
ADVANCED ARCHITECTURE AND ORGANIZATION
EMBEDDED SYSTEMS
EMBEDDED REAL-TIME CONTROL
PARALLEL AND CLOUD COMPUTING
3D COMPUTER GRAPHICS PRINCIPLES
ADVANCED 3D COMPUTER GRAPHICS
VIRTUAL REALITY AND DATA VISUALIZATION
INTELLIGENT SYSTEMS
MODELING AND SIMULATION
HUMAN COMPUTER INTERFACE
INTERNSHIP (up to two 4 credit internships are allowed)
DIRECTED STUDY (prior department approval of content required)
Required Senior Capstone
CSCD 490SENIOR CAPSTONE5
Total Credits113
 

Catalog Listing

Program Learning Outcomes

Students who successfully earn a BCS in Computer Science from EWU should be able to do the following:​​​

  • analyze a problem and identify and define the computing requirements appropriate to its solution;
  • analyze the local and global impact of computing on individuals, organizations, and society;
  • apply design and development principles in the construction of software systems of varying complexity;
  • apply knowledge of computing and mathematics appropriate to the discipline;
  • apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;
  • communicate effectively with a range of audiences;
  • demonstrate an understanding of professional, ethical, legal, security, and social issues and responsibilities;
  • design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs;
  • function effectively on teams to accomplish a common goal;
  • recognize the need for, and will have the ability to engage in, continuing professional development;
  • use current techniques, skills, and tools necessary for computing practice.
  • identify risk with regard to security, to participate in risk mitigation activities, and to provide application and information security.