CS Colloquium

Spring 2022

Presented by the Computer Science Department
Wednesdays 12:00 - 12:50pm, Online
All lectures are free and open to the public: Zoom Meeting ID 836 9425 7142

How Real-world Work Differs from School

Timothy Doughty ('13)
Sonoma Technologies Inc.


A student-led Q&A session about the differences between working in the real world and school work from one person's perspective.

Bias and the Web

Ricardo Baeza-Yates (ACM Distinguished Speaker)
Director of Research
Institute for Experiential AI of Northeastern University


The Web is the most powerful communication medium and the largest public data repository that humankind has created. Its content ranges from great reference sources such as Wikipedia to ugly fake news. Indeed, social (digital) media is just an amplifying mirror of ourselves. Hence, the main challenge of search engines and other websites that rely on web data is to assess the quality of such data. However, as all people has their own biases, web content as well as our web interactions are tainted with many biases. Data bias includes redundancy and spam, while interaction bias includes activity and presentation bias. In addition, sometimes algorithms add bias, particularly in the context of search and recommendation systems. As bias generates bias, we stress the importance of debiasing data as well as using the context and other techniques such as explore & exploit, to break the filter bubble. The main goal of this talk is to make people aware of the different biases that affect all of us on the Web. Awareness is the first step to be able to fight and reduce the vicious cycle of bias.

Cybersecurity for Human Rights

Cooper Quintin
Electronic Frontier Foundation


Computer Science can be a high paying field but it doesn't have to be! In this talk Cooper Quintin, Senior Staff Technologist at the Electronic Frontier Foundation, will examine the career of a public interest technologist. This talk will explore the ways one can use their computer science skills to make the world a better place. The talk will finish with career options available to hackers besides working for the military industrial complex or big tech. Cooper will also share stories from his time as a public interest technologist.

Closing the Digital Divide

Calvin Sandeen
Broadband Department Analyst
Sonoma County Economic Development Board


The Digital Divide is a gap in access to broadband that affects economic development throughout many industries, including education, public safety, healthcare, agriculture, government, and many more. Calvin Sandeen is a broadband analyst at the Sonoma County Economic Development Board exploring a new initiative that involves local government playing a major role to close the digital divide. He will discuss the status of broadband throughout California and provide an outlook on the future direction of the telecommunications industry.

System Resilience: Amplify Failures, Detect, or Both?

Ganesh Gopalakrishnan (ACM Distinguished Speaker)
University of Utah


As we cram billion of transistors into a chip, and build computers with thousands of such chips, the probability of system state bits transiently getting corrupted due to system noise and high energy particle strikes goes up. Such "soft errors" factors are exacerbated by manufacturing variability that is higher in smaller lithographies.

Many types of software-based error detectors have been proposed to detect these soft errors and trigger recomputation from state checkpoints.  Unfortunately, most of these detection schemes introduce unacceptable computational overheads and also have unacceptably high false positive rates.

In one line of work, we have ameliorated this situation by focusing on applications such as stencils.  In this domain, we guarantee near 100% detection based on rigorous floating-point error analysis based on affine arithmetic.  We also reduce overheads by covering multiple steps of the stencil application per detector deployment.

The main take-away message is that system resilience solutions developed with attention to higher accuracy and lower overheads may prove to be the inevitable safety net based on which designers attempt to reduce energy consumption in this period of ending Moore's law.

Robots in CS1: Overview, Bluetooth, Tone Generation, and Testing with eSpeak

Henry Walker
Professor Emeritus of Computer Science and Mathematics
Grinnell College


As the Computer Science Curriculum continues to evolve at Sonoma State University, a new approach for CS 115, Programming I, is being offered for one section in Spring 2022. Continuing long-standing themes, fundamental concepts (e.g., from the University Catalog) continue, including imperative problem solving, variables and expressions, conditional statements, iteration, simple I/O, program organization, program style and maintainability, and structure programming. However, four elements are rather different from recent offerings of the course:

  • Programs utilize the C programming language (e.g., neither Python nor C++).
  • The control of robots serves as an on-going application theme.
  • With the use of C, considerable attention is devoted to low-level elements of computing (e.g., the run-time stack, addressing, and data representation).
  • The course follows a lab-based pedagogy, in which lectures and labs will be integrated---students work collaboratively on a new lab almost every day (about 40 labs for the semester).

As background, this course has evolved with development by the speaker with several student teams since Summer 2011, and the approach has been used in introductory courses at Grinnell College, the University of the South, Williams College, and the University of Puget Sound.

This talk with begin with an overview of the course and a demonstration of some robot capabilities.  The presentation will continue with a discussion of selected technical elements, including basics of Bluetooth communication, tone generation with both blocking and non-blocking commands, and the use of a speech synthesizer as part of program testing.


Todd Ziesing
Terrace Consulting, Inc.


The presentation will be split into several pieces - all focused on Enterprise Technology application(s) for a fictitious company.  The first part of the presentation will set the context of what we do - analyze, design, develop and implement Enterprise Technology to enable eCommerce, Supply Chain, ERP and Business Intelligence.  This will be a high-level overview to establish context.  After that we're going to present a pro-forma project focused on B2B Supply Chain enablement for a fictitious logistics company.  We'll discuss the need to design and develop a custom solution as there was no "out of the box" solution suitable to the problem set.  After that we'll discuss the analysis phase of the project (gathering requirements), the design phase (technical design / enterprise architecture), the execution of the project (Agile Sprint Plan), the deployment of the solution and the implementation of CICD to enable continuous updating and improvement.  All this will be presented mostly via graphics with a minimum of text so the concepts will be simpler to grasp.

Improving code quality through Test-Driven Development

Daniel Holz ('16)


Test-Driven Development (TDD) is a software development technique that relies on test cases to be written prior to implementation code. In this talk I will discuss in detail how TDD is practiced, the impact it has on the design and maintainability of software, and share my experiences developing enterprise-scale software both with and without TDD.

Automotive ECS Development, Verification & Validation: Recent Trends & Challenges

S. Ramesh
Senior Tech Fellow
General Motors Research and Development Division


Electronics, Control and Software (ECS) assets have taken a central place in today’s vehicles.  They have been ever increasing in content and exploding in complexity thanks to the demands of advanced driver assist systems, and highly automated driving features. In the recent times, there have been multiple evolutions that are underway in the development of ECS assets: (i) Introduction of AI/ML Components for feature implementations, (ii) Shift from traditional domain controllers to more centralized architecture, (iii) Adoption of agile software development, and Continuous Improvement/Continuous Deployment (CI/CD), (iv) from static to adaptive SW architectures. This talk will focus on the recent challenges to the development, verification & validation of ECS systems and how the industry is responding to these with solutions that include: (a) guidelines & standardization of AI/ML Component Development and V&V, (b) new safety processes for dealing with functional insufficiency, (c) system level modeling and analysis and (d) scenario-based verification.

Performance Matters

Emery Berger
University of Massachusetts Amherst


Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended, programmers have to work hard to get high performance for their applications. But why is performance hard to deliver?

I will first explain why current approaches to evaluating and optimizing performance don't work, especially on modern hardware and for modern applications. I then present two systems that address these challenges. Stabilizer is a tool that enables statistically sound performance evaluation, making it possible to understand the impact of optimizations and conclude things like the fact that the -O2 and -O3 optimization levels are indistinguishable from noise (sadly true).

Since compiler optimizations have run out of steam, we need better profiling support, especially for modern concurrent, multi-threaded applications. Coz is a new causal profiler that lets programmers optimize for throughput or latency, and which pinpoints and accurately predicts the impact of optimizations. Coz's approach unlocks previously unknown optimization opportunities. Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!). Coz now ships as part of standard Linux distros (apt install coz-profiler).

The Quest for the Largest Known Prime Number

Landon Curt Noll
Retired from Cicso Systems


More than just a mathematical curiosity, the quest to discover a new largest known prime requires the development of advanced computational techniques and the development of fault resilient software.  These computational techniques benefit a wide variety of applications from seismic analysis to large scale fluid dynamics.  The fault resilient methodologies benefit a wide range of application such as cryptography and deep space probe design.

The search for a new largest known prime has been ongoing for centuries.  In 1952, primality testing entered the realm of digital computers.  Computers have been used to construct proofs of primality for these enormous primes.  We have come a long way since the 1970s when the speaker, Landon Noll, as a student at Cal State East Bay (then CSUH), discovered a 6533-digit prime.  Today’s largest known prime is almost 25 million digits long!  Those seeking to break the record for the largest known prime have pushed the bounds of computing.

The calculations required to test extremely large numbers for primality must be fault resilient.  One must overcome compiler and assembler errors, errors introduced by the kernel, and hardware errors such as memory errors and CPU calculation errors.  The reason for such extreme programming is that the length of the primality search often exceeds the mean time to error of the calculating system.  The motivation for such extreme care lies in the fact that a slow and correct answer is infinitely preferable to a fast but incorrect answer. The world record goes neither to the fastest coder nor to the person with the fastest hardware but rather to the first result that is proven to be correct.

Knowledge of advanced mathematics is NOT required for this talk.

Spring 2022 Short Presentations Of Student Research


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

    Spring 2022 Short Presentations Of Student Research


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