Advanced Computing and Machine Learning

Winter Open
Class Standing
Richard Weiss

The goal of this program is for you to learn the concepts and skills that are part of advanced work in computer science.  This program will explore both theory and practice. It is designed for advanced computer science and mathematics students and anyone with a strong interest in computer science and how to apply it to other disciplines.

This program will explore current themes in computer science. The program covers a selection of topics from machine learning, database systems and data analytics, Web applications, Web security, and functional programming. These topics are offered in several distinct 4-credit threads each quarter. We will explore these threads through lectures, programming labs, workshops, and seminars.

In winter, a thread on Machine  Learning (4 credits) will explore topics in the rapidly changing field of machine learning as they relate to modern AI and data. The topics will include decision trees, support vector machines, neural networks, and regression. A thread in Web Programming (4 credits) will cover topics such as: routing, models, views, controllers, entity framework. The thread  Functional Programming (4 credits) will cover advanced topics in functional programming using Haskell. Students who would like to take 16 credits of upper division computer science in winter can also take the course Network Security. 

In spring a thread in Reinforcement Learning (4 credits) will cover the theory and application of Monte Carlo methods, dynamic programming and temporal difference learning.  A thread in functional data structures (4 credits) will cover lazy evaluation, type classes, and monads in Haskell, as well as the implementation of data structures in a functional language such as Haskell, including binary heaps, leftist heaps, binomial heaps, red-black trees, lazy queues, and decques. 

This full-time daytime program will have some components taught on the Olympia campus and some components taught remotely. Students who are interested in participating fully remotely should contact the faculty to discuss that option.


Students are expected to have coursework in discrete math, computer architecture, data structures, and one year of computer programming. These prerequisites are covered by completion of Computer Science Foundations and Data Structures and Algorithms, or equivalent courses elsewhere. Please contact Richard Weiss ( if you have some but not all of the prerequisites to see if there are parts of the program you can take, or if you are unsure if you meet the prerequisites.

Course Reference Numbers
So - Sr (12): 20181
So - Sr (1 - 12): 20184
Signature Required

Students should email the faculty member, Richard Weiss ( ) with a brief statement describing how they have met the prerequisites.

Course Reference Numbers
So - Sr (1 - 12): 30005
(8): 30358

Academic Details

Computer Science, including software development, Web development, data science, and IT.


variable credit options are available upon a space-available basis. For more information, contact Richard Weiss ( ).


All 12 credits of the work in this program are designed to be upper-division math/science. Students who successfully complete the program requirements will earn upper-division credit in computer science.


Hybrid (W)
Hybrid (S)

See definition of Hybrid, Remote, and In-Person instruction

Schedule Details
Evans Hall 2612 - Windows / Linux Lab