Student-Originated Software

Winter 2020
Spring 2020
Class Size: 50
Credits per quarter
Variable Credit Options Available

Compare offerings and share your lists with others.

Taught by

Wan Bae square
Computer Science
computer science, mathematics
Richard Weiss
mathematics, computer science

Large software systems have proven to be notoriously difficult to build, modify, and maintain despite the best efforts of many very capable people over the last 50 years. This is an upper-division program intended to help students gain the technical knowledge required to understand, analyze, modify, and build complex software systems. We will concentrate on learning the organization and complexity of large software systems that we do understand, and gaining practical experience in order to achieve a deeper understanding of the art, science, collaboration, and multidisciplinary skills required to work on computing solutions in real-world application domains. The technical topics will be selected from data structures, algorithm analysis, operating systems, networks, information security. Students will have an opportunity to engage in a substantial computing project through all the development phases: proposal, requirements, specification, design, and implementation. During the spring quarter, students will be expected to complete their projects, give a final presentation, and learn how to write a formal technical paper suitable for publication. There will also be opportunities for more focused work that aligns with individual students interests. This program is for advanced computer science students who satisfy the prerequisites. We also expect students to have the discipline, intellectual maturity, and self-motivation to complete homework at an advanced level, identify project topics, organize project teams and resources, and complete advanced project work independently.

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

computer science, software engineering, and technology use and development in an application area.


Credits per quarter
Variable Credit Options Available

Variable Credit Options:

8- or 12-credit options available upon a space-available basis. For more information, contact Wan Bae (

Fields of study: 

Students are expected to have completed Computer Science Foundations or equivalent, including discrete mathematics, computer architecture, and one year of computer programming.

Online learning:
  • Hybrid Online Learning - This offering delivers < 25% of its instruction online, rather than via face-to-face contact between you and your instructors.

Upper division science credit:

All 32 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.

Class Standing: Sophomore–Senior
Class Size: 50

Scheduled for: Day

Final schedule and room assignments:

First meeting:

Monday, January 6, 2020 - 10:00 am
Purce Hall 4 - Lecture

Located in: Olympia

2019-03-07description updated