Student-Originated Software

Winter 2022
Spring 2022
Sophomore - Senior
Class Size: 50
12 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 how to build computer systems and how they can be broken. It is designed for advanced computer science students and anyone with a strong interest in computer science and how to apply it to other disciplines.

The program covers a selection of topics, which include Networking, Operating Systems, Web Applications, Network Security, Application Security, and Data Science. Some topics link together into threads. The Systems thread includes Networking, Cloud Computing, and Operating Systems. The Security thread covers Network Security and Application Security.

In the winter, topics will be Networking (4 credits), Cloud Computing (4 credits), and Operating Systems (4 credits).

In spring, topics will be Network Security (4 credits), Web Applications (4 credits), Application Security (2 credits), and Data Science (2 credits).

We will explore these topics via lectures, programming labs, workshops, homework exercises, and mini-projects. Application Security will be run as a seminar, with students presenting their work.

More advanced students may consider replacing topics with an optional one- or two-quarter project. Students interested in this option should discuss it with faculty prior to the start of the quarter.

Students needing another 4 credits of advanced computer science might consider the Comparative Programming Languages course.



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 faculty 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.

Winter 2022 Registration

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 (12): 20022
Spring 2022 Registration

Signature Required

Students hoping to join the program in spring quarter should contact the faculty member, Richard Weiss ( to discuss whether they have course work or experience equivalent to the winter quarter material.

Course Reference Numbers

So - Sr (12): 30381

Academic details

Fields of Study
Preparatory for studies and careers in

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

Variable Credit Options

8-credit option available upon a space-available basis. For more information, contact Richard Weiss (

Maximum Enrollment
Class Standing
Upper Division Science Credit

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


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

First Meeting



Date Revision
2021-10-27 This program is now 12-credits (was 16).