Computability and Language Theory

Winter 2021
Spring 2021
Olympia
Day
Sophomore - Senior
Class Size: 37
16 Credits per quarter
Variable credit options, see below
Log in to add this offering to your saved list.
Taught by

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 each quarter. We will explore these themes throughout the program by way of lectures, programming labs, workshops, and seminars.

In winter, 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 cloud computing will cover topics such as: could computing fundamental concepts, cloud computing architectural components, Microsoft Azure fundamentals, Compute Services, Storage Services, Networking Services, Cloud Network Security, Privacy, Compliance, and Data Protection Standards in Azure. 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.

In spring, a thread in numerical analysis will cover topics such as: solving non-linear equations, polynomial interpolation, numerical differentiation, numerical integration, and spline interpolation. There will also be threads in algorithms, in Web development (ASP .Net core MVC), and machine learning.

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 make them available to all class participants. Students can work with faculty to pursue these alternatives to earn related credit.

Registration

Prerequisites

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.

Transfer students are encouraged to contact the faculty for clarity on meeting the prerequisites. 

Winter 2021 Registration

Signature Required

This program has four threads of study with variable credit options. Full-time students will be accepted if they have course work or experience equivalent to fall quarter material (Data Structures and Algorithms). Students should email the faculty with a brief statement of how they have met the prerequisites. For variable credit options, students should check with the faculty about the requirements for individual components. In all cases, students should have completed the equivalent of Computer Science Foundations.

Course Reference Numbers

So - Sr (16): 20035
So - Sr (1 - 16): 20046
Spring 2021 Registration

Signature Required

This program has four threads of study with variable credit options. Full-time students will be accepted if they have course work or experience equivalent to the winter quarter material. Students should email the faculty with a brief statement of how they have met the prerequisites.

Course Reference Numbers

So - Sr (16): 30014
So - Sr (1 - 16): 30018

Academic details

Fields of Study
Preparatory For

computer science, mathematics, information technology, education

Credits
16
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 spring must have course work or experience equivalent to prior winter quarter work for each appropriate thread of study.

Maximum Enrollment
37
Class Standing
Sophomore
Junior
Senior
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.

Schedule

In Person or Remote
Remote (W)
Remote (S)
Time Offered
Day
Schedule Evergreen link
see Schedule Evergreen for detailed schedule

First Meeting

Remote/Online
Location
Olympia
May be offered again in
<p>2022-23</p>