CS Colloquium

Fall 2022

Presented by the Computer Science Department
Tuesdays 12:00 - 12:50pm, Cooperage 2
All lectures are free and open to the public

Live Ask Me Anything with Professional Programmer and Businessperson

Cameron Tully-Smith
Senior Software Engineer


An SSU CS alum (who returned to get his MBA) that grew up programming, Cameron Tully-Smith has worked in a wide range of roles spanning early-stage startups to the largest multinationals in multiple industries.  In addition to writing great software, he is passionate about empowering people, being on great teams and coming up with unconventional solutions.  Come by and ask him anything you want, from what it's really like to work in various roles in the industry to what comes up in many interviews (from the hiring manager as well as the interviewee perspectives) and anything else you'd like.  He enjoys unusual, well thought out questions as well as spur of the moment discussions.  Outside of CS, his latest hacking includes taking Wilderness First Aid training and running ultramarathons which has so far resulted in his qualifying for the Western States Endurance Run (100 mile race) and running a 24-hour race.

The Snap! (Build Your Own Blocks) Programming Environment

Dan Garcia
University of California, Berkeley


Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of "Scratch" (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows users to Build Your Own Blocks. It features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students. This talk (usually offered as a workshop) will introduce the language, and walk users from their first "mobile app" authorable in 90 seconds through the vast array of incredible features the language has to offer.

Beyond Restart: Checkpointing for the Exascale Era

Rebecca Hartman-Baker
User Engagement Group Leader
National Energy Research Scientific Computing Center


The National Energy Research Scientific Computing Center (NERSC) is the mission high-performance computing center for the United States Department of Energy Office of Science (DOE-SC). NERSC operates cutting-edge, large-scale supercomputers for users performing simulations and data analysis in science areas of interest to DOE-SC. Experimental data analysis, in which data from large scientific instruments such as telescopes or light sources is computationally analyzed, is a growing portion of the compute workload at NERSC. Many of these scientific instruments increasingly require real-time or fast computing turnaround. NERSC's challenge is to support this urgent workload within its existing operations. Checkpoint/restart (C/R) can enable this new workload pattern and address other operational challenges, such as resiliency. In this presentation, we describe our efforts to create a robust offering of checkpointing approaches and to simplify and incentivize their use, in order to optimize the user experience, minimize wasted cycles, and maximize compute-system utilization.

Distance functions on computable graphs

Jennifer Chubb
Associate Professor
University of San Francisco


An infinite graph---one made of nodes and edges---is computable if there is an algorithm that can decide whether or not a given pair of nodes is connected by an edge.  So, for example, the internet is a computable graph which is, for all intents and purposes, infinite.  Now, given two nodes on a connected, computable graph, a natural question to ask is, What is the length of the shortest path between them, i.e., the distance between the nodes?  Of course, for a connected graph we can always find such a path and determine its length, but the question of finding a shortest path is harder, and is not in general something we can compute for infinite computable graphs.

In this talk, we will see what it means for something to be non-computable via a classic example called the halting problem.   Next we will see that it's possible to encode non-computable information into even very simple, computable mathematical objects.  Finally, we will see how non-computable information can be encoded into the distance function, the function which outputs the shortest distance between two nodes of a given graph.  So, the answer to What is the shortest path between two nodes?  Well, we may never know for sure.

This work is joint with Wesley Calvert and Russell Miller.

Deep Learning for Medical Imaging

Geetha Chauhan
AI Practice Head / CTO


The talk covers use cases, special challenges and solutions for Deep Learning for Medical Image Analysis. You will learn about:

  • Use cases for Deep Learning in Medical Image Analysis
  • Different DNN architectures used for Medical Image Analysis
  • Special purpose compute / accelerators for Deep Learning (in the Cloud / On-prem)
  • How to parallelize your models for faster training of models and serving for inferenceing.
  • Optimization techniques to get the best performance from your cluster (like Kubernetes/ Apache Mesos / Spark)
  • How to build an efficient Data Pipeline for Medical Image Analysis using Deep Learning
  • Resources to jump start your journey - like public data sets, common models used in Medical Image Analysis


Barry Rountree
Lawrence Livermore National Laboratory


Unifying principles of higher order networks

Mustafa Hajij
Assistant Professor
University of San Francisco


Over the past decade, deep learning has been remarkably successful at solving a massive set of problems on data types including images and sequential data.  This success drove the extension of deep learning to other discrete domains such as sets, point clouds, graphs, 3D shapes, and discrete manifolds. While many of the extended schemes have successfully tackled notable challenges in each particular domain, the plethora of fragmented frameworks have created or resurfaced many long-standing problems in deep learning such as explainability, expressiveness and generalizability. Moreover, theoretical development proven over one discrete domain does not naturally apply to the other domains.  Finally, the lack of a cohesive mathematical framework has created many ad hoc and inorganic implementations and ultimately limited the set of practitioners that can potentially benefit from deep learning technologies. In this talk I will talk about a generalized higher-order domain called combinatorial complex (CC) and utilize it to build a new class of attention-based neural networks called higher-order attention networks (HOANs). CCs generalize many discrete domains that are of practical importance such as point clouds, 3D shapes, (hyper)graphs, simplicial complexes, and cell complexes. The topological structure of a CC encodes arbitrary higher-order interactions among elements of the CC. By exploiting the rich combinatorial and topological structure of CCs, HOANs define a new class of higher-order message passing attention-based networks that unify existing higher-order models based on hypergraphs and cell complexes. I will demonstrate the reducibility of any CC to a special graph called the Hasse graph, which allows the characterization of certain aspects of HOANs and other higher order models in terms of graph-based models. Finally, the predictive capacity of HOANs will be demonstrated in shape analysis and in graph learning, competing against state-of-the-art task-specific neural networks.


Hao Yue
Associate Professor
Dept of Computer Science, San Francisco State University


Managing Memory Smartly

Jason Lowe-Power
Assistant Professor
University of California, Davis


Managing the data movement is a major bottleneck in many computing systems. Today, there is an explosion in data set sizes. For instance, terabytes of active memory are required for training machine learning models. Unfortunately, at the same time there has been relatively little growth in the capacities of memory devices. These trends are leading to increasingly heterogeneous memory systems with a small amount of high-performance memory and high-capacity memories with lower performance. In this talk, I will explain why hardware-managed data movement techniques perform poorly in these heterogeneous systems, and I will describe a software-based technique, AutoTM, which outperforms a hardware DRAM cache. Further, I will discuss our ongoing work developing a "data management ISA" to enable software-directed and hardware-accelerated heterogeneous memory management.

Bio: Jason Lowe-Power is an Assistant Professor at University of California, Davis where he leads the Davis Computer Architecture Research Lab (DArchR). His research interests include optimizing data movement in heterogeneous systems, hardware support for security, and simulation infrastructure. Professor Lowe-Power is also the Chair of the Project Management Committee for the gem5 open-source simulation infrastructure. He received his PhD in 2017 from the University of Wisconsin, Madison, and received an NSF CAREER Award and a Google Research Scholar Award.


Jennifer Waldo
Ochs Labs, Sebastopol, CA



Theresa Migler
Dept. of Computer Science, Cal Poly State University, San Luis Obispo


Build Your Own Game Engine

Scott Gordon
Dept. of Computer Science, Sacramento State University


Video games today are built using engines such as Unity, Unreal, Lumberyard, CryEngine, and dozens of others.  The engine handles the basic tasks common to all games: 3D real-time rendering, object and scene-graph management, lighting, cameras, animation, etc.  Perhaps you've used an engine to make your own game, but have you ever thought of building your own engine?  It's a fun and challenging project that appeals to aspiring hard-core coders.  Dr. Scott Gordon is a professor at Sacramento State University, where students in his Game Architecture course build video games atop his own game engine "TAGE".  But a few of his most ambitious students opt instead to first build their own engine from scratch.  In this talk, Dr. Gordon describes how game engines are organized, and how to build your own.


Sudhir Shresta
Dept. of Engineering Science, Sonoma State University


Fall 2022 Short Presentations Of Student Research


Short presentations of research carried out by Sonoma State Computer Science Students.

Fall 2022 Short Presentations Of Student Research


Short presentations of research carried out by Sonoma State Computer Science Students.