University of California San Diego
CSE Talks and Seminars

UC San Diego Opportunities





CSE 125: Software System Design and Implementation (Spring 2025)
Instructor: Geoffrey M. Voelker
The general CSE 125 course page is at:
https://cse125.ucsd.edu/
And an overview of the course is at:
https://cse125.ucsd.edu/2025/overview.html
Browsing the pages will give you a quick idea of what the course is
about and what is involved in taking the course.
The course is informally known as a games course, but the games aspect
is a means to a more fundamental goal: to experience the design and
implementation of a large, complex software system as a group. In
particular, in taking this course you will:
1. Have a software development experience that is closer to what you
will find in industry than with more traditional course projects.
2. Work in large teams (six) and on a project too large to be
completed by the heroics of one individual.
3. Build software using real-world tools instead of doing everything
from scratch.
4. Build software with the stringent demands of a high-performance,
real-time, distributed application.
5. Have some fun (really).
6. Work on a project that you can showcase.
Because many students find the application so compelling, your project
will be a distributed, real-time, 3D, multiplayer game. Over the 10
weeks of the quarter, you will decide what you want your project to
be, specify its requirements, create a design and implementation
schedule, and then implement it. I will meet with each group on a
weekly basis to discuss progress and give feedback.
In terms of platforms, we will work on Windows using OpenGL or DirectX.
Previously, groups have also successfully used open source libraries
for both Windows, Linux, and Mac. You do not, however, need prior
experience with any of these frameworks. Remember that your project is
a group effort, and only one part of the project deals with graphics.
In the past, on average two students (out of six) in each group had
prior experience with graphics programming.
This course is for more than just CSE majors. It is intended to
combine the talents of students with strong programming backgrounds
(CSE, ECE, and Math/CS) with students with strong creative talents in
digital arts and visualization (ICAM and CogSci). If you have any
questions about whether the course might be for you, send me email.
Due to the nature of the course, however, it has a limited enrollment
of around 30. And because of the necessity of forming strong groups
for the projects with students with sufficient experience, enrollment
in the course is by instructor permission only. Instructions for
applying to enroll in the course are at:
https://cse125.ucsd.edu/2025/overview.html#apply
The deadline for submitting an application is Friday, February 21. I
will send decisions via email by Monday, March 3. Note that
enrollment is on an individual basis, not on a group basis. In
particular, you do not need to form a group, or be part of a proposed
group, before applying and taking CSE 125. (Similarly, even if you do
happen to have a group in mind when applying, it is possible for some
people in a proposed group to be admitted and others not.)
Go ahead and register for classes as usual for spring quarter. If you
wind up taking CSE 125, you can always drop one and enroll in CSE 125.



