Computer Science

Computer Science focuses on computer-based problem solving - particularly through algorithms and their implementation in programming languages. From system analysis to mobile apps, as a Computer Science major at Western, you'll learn and develop solutions to challenging problems while gaining skills that can be applied in many different fields.

What Is the Computer Science about?

The CS program teaches the fundamentals of computation that are common to all branches of Computer Science.   Our students learn the basics of programming languages, algorithms, software engineering, web applications, and system development.  Throughout the curriculum we emphasize written and verbal skills, teamwork, and problem solving.   Graduates of our program are able to use computing in a wide variety of situations.  Students who choose to combine CS with other disciplines find that their computing skills make them better at whatever field they are interested in.  With a BS degree in Computer Science from Western you will be prepared for a wide range of interesting and well paid jobs.

Beyond the Classroom

Our program provides many opportunities for students to customize their education.  An internship or capstone project is required in the program, allowing students to get real-world experience as part of their education.   Our internships have covered a wide range of companies, including  Amazon, Cigna Health Systems, Konica/Minolta, Rocky Mountain Biological Lab, CRM Culture, and Innovative Technology Systems.  In addition to the opportunity to do a capstone project, our program encourages students to participate in independent studies and directed research projects throughout their time in our program.  We have a robotics group that has worked with a wide variety of robot platforms.  Our students have developed the 3-D game software used in our computer camp, built websites for local organizations, analyzed campus web traffic, created course scheduling software, and helped build kinetic sculpture with the art department.

After Graduation

Computing is essential to all aspects of our society.  Jobs in computing are high paying and plentiful.  There are many different career paths in Computer Science, including software engineering, web development, video game programming, information technology, mobile device programming, networking, data analytics, web-based marketing, database management, and embedded system programming.  Many jobs in CS can be done remotely, allowing graduates to work where they please.  Western has a strong network of CS alumni who help our students with internships and job placement.  The Association for Computing Machinery has much more career information.

Next Steps

If you're interested in Western's Computer Science Program, we invite you to take the next steps towards becoming a part of the Mountaineer family.

Share your interest with friends and family:
  1. Email this to your friends or family    Share on LinkedIn    Share on Google+    Twitter    Share this on Facebook

  2. Get more information about the program.
  3. Schedule a campus visit so you can meet professors, see the beautiful Gunnison Valley, and find out if Western is the perfect school for you.
  4. Start the online application process - apply online now.
  5. Find scholarships, grants, or financial aid that match your interests and situation.


FOR REQUIRED COURSES AND DEGREE PLANS, VISIT THE OFFICIAL UNIVERSITY CATALOG. This is a list of courses offered by Western State Colorado University. To ensure the courses you need are offered during the current semester, please visit the current university catalog at To determined the courses required for your major, check the "Majors and Minors" tab for your area of study.


An in-depth study of the essentials of word-processing, spreadsheets, and information management, using modern computers and software. Substantial student competence in these areas is required for further study at the University. Applications are presented from various fields.


For the complete beginner, an introduction to computer programming through an exploration of programs like basic arcade games. Consideration given to language syntax, I/O, data, selection and repetition, large data structures and subroutines, as well as problem solving and debugging. This course employs industry-standard software like Python.

 CS 150 - COMPUTERS IN SOCIETY (3 credits)

An introduction to the use of computing devices and their impact on society. Topics include: how computers work, the history of computing, philosophical issues in computing, the economics of software development, intellectual property issues, privacy and security, applications of computing, legal issues, the digital divide, the role of computing in government, and computer-assisted collaboration.


An introduction to the basics of the XHTML web page specification language, cascading style sheets (CSS) and the Plone Content Management System (CMS). Students learn to create attractive, professional web pages and websites using XHTML and CSS, including embedded graphics and multimedia. The student also learns to use a CMS for easier webpage implementation, including add-ons such as forums and shopping carts. This course is designed for students without a background in programming and may not be used to satisfy the requirements of the Computer Science Major or Minor.

 CS 190 - COMPUTER SCIENCE I (3 credits)

An introduction to software development. Students develop text, graphical user interface (GUI) and applet web graphical applications using object oriented techniques in Java. Emphasis is placed on good software engineering practices for problem analysis, program design, documentation, testing and debugging.

 CS 191 - COMPUTER SCIENCE II (3 credits)

A continuation of CS 190 taught in the Java programming language. Students develop stand alone GUI and console applications and applets of increasing sophistication. Topics include: arrays, objects and classes, encapsulation and inheritance, file management, dynamic data structures, searching, sorting, recursion, stacks and queues, with emphasis on abstraction and implementation and an introduction to algorithm analysis. Prerequisite: CS 190 with a minimum grade of C-.


An introduction to the practice and principles of relational database design, implementation and manipulation. Topics include: Structured Query Language (SQL), relational models, Entity-Relationship modeling, security, multi-user databases, transactions, Object Relational Mapping and database administration. Students will design and implement relational database applications of increasing complexity. Prerequisite: CS 190 with a minimum grade of C-; prerequisite or corequisite: CS 191.

 CS 235 - COMPUTER NETWORKS (3 credits)

An investigation of the transmission of data and information between computer systems. Topics include simple data communications, protocols, error control, local-area networks, wide-area networks such as the Internet packet-switching networks, and various networking models. Various data communication hardware and software are also examined. Prerequisites: CS 191 with a minimum grade of "C-"; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer university-level mathematics score of 75 or above.


A course studying modern web site design, focusing on embedded languages, the use of audio and visual plug-ins, web application servers, and the tools that aid development on a professional scale. Basic use of Structured Query Language is studied. Cross platform development, applications to e-commerce, Internet and Intranet are considered. At least one major project is required. Offered in alternate years, 2010-2011. Prerequisites: CS 191 with a minimum grade of “C-”; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer university-level mathematics score of 75 or above.

 CS 280 - DATA STRUCTURES (3 credits)

A survey of advanced data structures and algorithms. Topics include: linear lists, linked lists, arrays, tree, multi-linked lists, hashing, searching, sorting, recursion and analysis of the algorithms that use these structures. Taught in Java. Prerequisites: CS 191 with a minimum grade of C-; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer university-level mathematics score of 75 or above.

 CS 303 - MACHINE LEARNING (3 credits)

A study of computer systems that learn from experience. Classroom exercises include the building of systems that learn and adapt using real-world applications. Topics covered include decision trees, concept learning, neural networks, reinforcement learning, linear and non-linear models, clustering, validation, and feature selection. Prerequisites: CS 190 and MATH 213.


A focus on common environment and design tools used in the development and implementation of graphic user interfaces. Emphasis is placed on the automation of tasks and the customization of systems by programming constructs. Applications are developed for both a local environment and a broad-based use of the Internet. The implementation language is C++ or Visual Basic. May be repeated with a different implementation language. Prerequisite: CS 191 with a minimum grade of C-.

 CS 311 - EMBEDED SYSTEMS (3 credits)

A project-based introduction to embedded systems. Students build and program systems that include microcontrollers and sensors, actuators, networking, motors, and cameras. Various applications involve robotics, remote sensing, sound processing, and kinetic sculpture. Prerequisites: CS 190 and junior standing.


An investigation of the theory, usage, and implementation of programming languages. Emphasis is on the theoretical basis for programming languages and practical examples of their use. Basic language paradigms are developed: imperative, functional, objectoriented, and logic. Other topics include type systems and language translation. Languages studied include C, C++, Java, Lisp, Haskell, Prolog, and Python. Prerequisite: CS 280 with a minimum grade of “C-.”


A study of client-server applications designed around the World Wide Web. Students design and implement applications which provide access to centralized resources such as databases and mail servers from web browsers. Students utilize Perl, CGI, and SQL to construct applications such as an online shopping site, an enterprise document server, or a shared Intranet database. Security of data during transmission and storage is emphasized. Prerequisite: CS 250 with a minimum grade of “C-.”


The fundamental concepts of systems analysis and design are studied in the context of computerized information systems. Topics include high-level system construction tools, system design methodology, data representation languages such as XML, server-based system design, web services, system security, and system description languages such as UML. Also addressed is the human element in system design: working with users and domain experts to develop system requirements, and understanding the challenges of large scale system projects. Each student completes a number of systems design projects during the term. Prerequisite: CS 310 with a minimum grade of C-.

 CS 412 - SOFTWARE ENGINEERING (3 credits)

An introduction to the fundamental principles of software engineering. Formal soft- ware development techniques and high-level software tools are emphasized. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include encapsulation and reuse, design patterns, object-based design, software testing and quality, formal methods for software design, and project management. Students are expected to complete a significant project that employs techniques from the topics studied. Prerequisite: CS 410 with a minimum grade of "C-."


Students develop a comprehensive application project in the area of their specialization. Possible projects include software development, CAI program development, systems analysis consultation with area businesses, or development of a computer hardware/ software training program. A public presentation of the project is made before the CS faculty and students. Prerequisite: 24 credits of CS course work, including 12 upper- division credits.


Students participate in a supervised field experience with a cooperating firm in the computer science field. The sponsoring faculty member provides evaluations during periodic visitations. A formal paper is required of the student. Specific department requirements must be met to participate in this course. Prerequisite: 18 credits of Computer Science course work, including nine upper-division credits.

 MATH 140 - COLLEGE ALGEBRA GMA1 (3 credits)

An integration of the essential algebraic manipulations, solving equations and inequalities, polynomial functions, exponential and logarithmic functions, and techniques of graphing. Prerequisite: ACT math score of 21 or above; SAT math score of 510 or above; MATH 099; or Accuplacer Elementary Algebra test score of 106 or above; or co-requisite MATH 102 (SAI).

 MATH 141 - PRECALCULUS (4 credits)

Preparation for calculus by the study of functions of one variable over the real numbers. These are introduced in general and then applied to the usual elementary functions, namely polynomial and rational functions, exponential and logarithmic functions, and trigonometric functions. Inverse functions, polar coordinates and trigonometric identities are included. Prerequisite: ACT math score of 23 or above; SAT math score of 530 or above; MATH 140 with a minimum grade of 'C-'; or Accuplacer College-Level Mathematics test with a score of 65 or above.

 MATH 151 - CALCULUS I GMA1 (4 credits)

A study of differential calculus, including limits, continuous functions, Intermediate Value Theorem, tangents, linear approximation, inverse functions, implicit differentiation, extreme values and the Mean Value Theorem. This course also introduces Integral calculus including anti-derivatives, definite integrals, and the Fundamental Theorem of Calculus. Prerequisite: ACT math score of 27 or above; SAT math score of 610 or above; MATH 141 with a minimum grade of "C-"; or Accuplacer university-level mathematics test with a score of 95 or above. GT-MA1


A study of statistical techniques used to model and simulate stochastic processes. The core topics include linear and nonlinear multivariate models, generalized additive models, time series models with auto-correlated error, and mixed effects models. Emphasis is placed on computational techniques appropriate to large data sets and data visualization. Prerequisites: ECON 316, MATH 260, CS190. 


Scholarships associated with academic programs usually have a specific scholarship application form that can easily be obtained by contacting that academic program's office or visiting that academic program's web page. If you have any questions, please contact the Financial Aid office at 970.943.3085 or 800.876.5309.

 Watson, Stephen Memorial Scholarship In Computer Science

Computer Information Science Scholarship Available to:

Students majoring in Computer Information Science, who have completed a minimum of 12 credit hours at Western State Colorado University 3 of which can be applied towards their major.

The students must have at least a 3.0 GPA and plan on enrolling in at least 9 credits.

Scholarship Provided by:

Dr. John C. Peterson

Amount: $500

Scholarship Recipient Selected by:

Math and Computer Information Science Scholarship Committee

Application: Contact the Mathematics and Computer Information Science Department for application and deadline information. (970) 943-2015 - Hurst Hall 128

Find out more information about Western's Computer Information Science Program at

 Computer Science Departmental Scholarship

Computer Information Science Scholarship Available to:

Students majoring in Computer Science, who have completed a minimum of 12 credit hours at Western State Colorado University 3 of which can be applied towards their major. The students must have at least a 3.0 GPA and plan on enrolling in at least 9 credits.

Amount: $500

Scholarship Recipient Selected by:

Math and Computer Information Science Scholarship Committee

Application: Contact the Mathematics and Computer Information Science Department for application and deadline information. (970) 943-2015 - Hurst Hall 128

Find out more information about Western's Computer Information Science Program at

Faculty & Staff


Professor of Mathematics
B.A., DePauw University; M.Phil., University of Utah; Ph.D., University of Montana.
Phone: (970) 943-2802
Office Location: Hurst Hall 212
Lecturer in Math
Phone: 970.943.2127
Office Location: Hurst Hall 108
Professor of Computer Science
B.S., University of Denver; M.S., University of Colorado; Ph.D., University of Utah.
Phone: (970) 943-2392
Office Location: Hurst Hall 114
Chair of Computer Science and Mathematics
B.A., University of Colorado; B.S., M.S., Eastern Washington University; Ph.D., University of Texas-Austin.
Phone: (970) 943-2999
Office Location: Hurst Hall 214