Computer Science


The following is a list of courses offered in this program at Western. The official University Catalog contains more detailed and specific information about degree requirements for this major.


A comprehensive study of the essentials of software used by professionals, emphasizing applications of spreadsheets to fundamental data organization, presentation, analysis and decision making applications.


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 such as 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 creating web pages and sites with XHTML and CSS as well as using site building software and commercial plugin capabilities. This course is designed for students without a background in computer science.

 CS 190 - COMPUTER SCIENCE I (3 credits)

An introduction to software development. Students develop applications using modern programming languages and techniques. Emphasis is placed on good software engineering practices for problem analysis, program design, documentation, testing and debugging. The course uses an industry standard programming language.

 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 principles and practice of relational database design, implementation and manipulation. Topics include Structured Query Language (SQL), relational models, elementary database design as well as database management with a programming language such as Java.

Prerequisite: CS 190 with a minimum grade of “C-”.

 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 web site design, focusing on HTML5 and CSS for page structure and style, the embedded JavaScript language for interactivity, and a web application server language for database access. The student learns to implement the essentials of a interactive, database driven website.

Prerequisite: CS 191; Corequisite: CS 195.

 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 project-based course focusing on medium-sized projects in a given programming language using tools and environments appropriate to the selected language. Students gain proficiency in the language by doing projects from a variety of subjects such as artificial intelligence, graphics, machine learning, compilers, and Human-Computer Interaction. This course contains individual and group work. May be repeated with a different implementation language.

Prerequisite: CS 191 with a minimum grade of “C-.”

 CS 311 - EMBEDDED 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, object oriented, 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 interactive applications which provide access to centralized resources such as databases and mail servers from web browsers. Students utilize JavaScript and server-based technologies to construct web-based programs that communicate with servers. Technologies such as Ajax, XML, JSON, and commonly used JavaScript libraries are included.

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. 

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.


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. To find scholarships based on year of study (e.g. - Freshmen Scholarships), please see the navigation to the left.

 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

 Western Presidential Scholars Award

The Western Presidential Scholars Award is a full tuition scholarship available to Valedictorians of Colorado high schools (residents only) aimed at increasing the number of high achieving students attending Western State Colorado University.  The scholarship is renewable for eight consecutive semesters (four years) and will cover full in-state tuition charges after the COF stipend is applied.  The Western Presidential Scholars Award would replace any other merit scholarship that may have already been awarded to the student.  The Western Presidential Scholars Award is a competitive scholarship (application is required) as there are a limited number of awards available each year.  Below are some details you should know:

Minimum Criteria

  •          3.80 cumulative High School GPA 
  •          25 ACT score/1200 SAT combined score
  •          Be ranked #1 on high school transcript or certified as ‘valedictorian’ by high school official

Application Process

To apply students must submit a letter of application, one letter of recommendation, and provide verification of Valedictorian status.  Completed applications must be received by April 1st of each year.

Renewal Criteria

  •          Must enroll in and successfully complete 12 credits each semester (24 credits each year)
  •          Must maintain a 3.0 GPA at Western 

Faculty & Staff


Andrew G. Keck
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
Erik Kjosness
Lecturer in Math
Phone: 970.943.2127
Office Location: Hurst Hall 108
Daniel L. Schuster
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