Stephen R. Tate    (Steve)
Professor Emeritus
E-mail: srtate@uncg.edu
Google Scholar: Stephen R. Tate

About

I have been working in computer science since the 1980s, and am now semi-retired (still teaching occassionally). I have decades of experience and expertise in computer security, cryptography, and algorithm design and analysis, and I have published peer-reviewed research papers in top venues in all of these areas. I have also directed a significant amount of effort toward effective computer science education, with around 35 years of practical teaching experience and published papers.

My most recent full-time faculty role was at UNC Greensboro, where I joined in 2007 as the Founding Department Head for the Department of Computer Science. At that time, the computer science programs (bachelor's and master's) were splitting from the former Department of Mathematical Sciences. I served as Department Head until 2019, managing huge growth in the department, and led the creation of UNCG's Computer Science Ph.D. program. I retired from UNCG in 2025, and taught a summer course at the University of California at Berkeley (CS70) after that.

I earned bachelor's degrees in Computer Science, Electrical Engineering, and Mathematics from Vanderbilt University in 1986, and a Ph.D. in Computer Science from Duke University in 1991.

More about Steve

Teaching Overview

My teaching has primarily focused on computer security and core theory, algorithms, and data structures topics, although I have taught classes covering a wide range of other topics as well. In my final semester at UNC Greensboro (Spring 2025), I taught:

Since retiring from full-time work, I am available for teaching on a part-time basis, and in Summer 2025 I taught at the University of California at Berkeley:

Teaching also covers student mentoring, and I have supervised a number of Ph.D. students, M.S. students, and undergraduate Honors students.

More about Steve's Teaching

Research Overview

I started doing computer science research in the 1980s, working on problems in complexity and algorithms, with applications in arithmetic and algebraic circuits as well as robotics. After graduate school, I did a postdoc funded by NASA, working on data compression algorithms. My work in algorithms (and in particular online and dynamic algorithms) continued during the 1990s, and around 2000 I shifted into cryptography and security work after that. While I'm not as active in research as I was in the past, I'm still interested in security, with a particular interest in software security.

More about Steve's Research