Computability and Language Theory

Winter 2021
Spring 2021
Class Size: 37
Credits per quarter
Variable Credit Options Available

Compare offerings and share your lists with others.

Taught by

computer science
mathematics, computer science

The goal of this program is for you to learn the intellectual concepts and skills that are part of advanced work in computer science.

This program will explore what computers can do, how we get them to do it, and what they can't do. It is designed for advanced computer science students and math students with an interest computer science. The program covers a selection of topics which could include formal computer languages, computability theory, functional programming, algorithms, database systems, numerical analysis, cloud computing, or programming language design and implementation. 

These topics are offered in four distinct threads. A thread on computing theory covers topics in formal languages and computability. The programming language thread explores topics in how algorithms are implemented as computer programs, for example, language implementation issues or programming languages paradigms: imperative, object oriented, functional, or logic programming. A thread in numerical analysis will cover topics such as: solving non-linear equations, polynomial interpolation, numerical differentiation, numerical integration, and spline interpolation. A thread in databases will cover topics such as: introduction to relational databases, data retrieval from tables, summary queries, database design and implementation, views, scripts, and if time: database security. We will explore these themes throughout the program by way of lectures, programming labs, workshops, and seminars.

Artificial Intelligence and Machine Learning will be offered as a separate but coordinated program in the spring.

To successfully participate in the program students need access to a computer and reliable internet service. Students should expect 16 hours of synchronous meeting time per week using Zoom and Canvas. Students will have access to alternatives to synchronous participation if conditions require – in particular, we may record the class lectures and made the available to all class participants. They can work with faculty to pursue these alternatives to earn related credit.

During the spring quarter the number of hours offered in this program will be 12, in a format similar to the one described above (we’ll be using Zoom, Canvas, and recorded live lectures).  Students who want 16 credits of upper division work can take Machine Learning along with this program, which will have three tracks. One track will be in cloud computing (using Microsoft Azure, Google Cloud Platform, or Amazon Web Services) covering topics such as: various cloud concepts, cloud services, security, privacy, and compliance.

This offering will prepare you for careers and advanced study in:

computer science, mathematics, information technology, education


Credits per quarter
Variable Credit Options Available

Variable Credit Options:

On a space-available basis 4-, 8-, or 12-credit enrollment options are possible for students planning to focus on only one, two or three threads of the program, such as students with a strong mathematical background but little programming experience or students with little mathematical background but strong programming experience. As with the 16-credit option, students joining the program in winter must have course work or experience equivalent to prior fall quarter work for each appropriate thread of study.

Fields of study: 

Students are expected to have completed Data Structures and Algorithms or the equivalent, including 1) writing, debugging and reading complex programs in an object-oriented language such as Java or C++,  2) computing the space and time complexity of moderately complex algorithms, and 3) implementing and using standard data structures, such as lists, stacks, queues, heaps, search trees, hash tables, and graphs.

In addition, some experience programming in Python is desirable.

Online learning:
  • Complete Online Learning - This offering delivers all of its instruction online.

Upper division science credit:

All parts of the program cover upper-division material. Upper-division credit will be awarded for successful completion of upper-division work.

Class Standing: Sophomore–Senior
Class Size: 37

Scheduled for: Day

Final schedule and room assignments:

First meeting:

Monday, January 4, 2021 - 10:00 am

Located in: Olympia

May be offered again in: