My name is Andrew Berns, and I am an assistant professor in the Department of Computer Science at the University of Northern Iowa. I received my PhD in December of 2012 from the University of Iowa. Prior to my graduate education, I received my BS in Computer Science from the University of Northern Iowa in 2005 and was employed for several years as a software engineer.
My courses for Fall 2018 are listed below.
You can find additional information on my teaching, including past courses, on my teaching page.
My research interests are in fault-tolerant distributed computing. The need for fault-tolerance in distributed systems has become acute recently due to the rapid increase in the number and mobility of computing devices, the ubiquity of network connections, and the increase of transient failures that alter the system in an arbitrary fashion. For instance, sensor networks can consist of thousands of nodes operating in hostile environments where node failures, network disconnections, and topological changes are expected behavior. A useful property for these systems, then, is the ability to automatically recover from faults. Examples of these properties include self-healing, self-organizing, and self-stabilizing. My research focuses on the study of these properties, collectively referred to as self-* properties.
My recent work is on a fault-tolerant paradigm called self-stabilizing overlay networks. An overlay network is a network where communication occurs over logical links, where each logical link is realized by one or more physical links. Self-stabilizing overlay networks guarantee the correct overlay network topology is built regardless of the initial state. Currently, I am working on novel applications for self-stabilizing overlay networks with Dr. Sukumar Ghosh. You may view my publications to get a better sense of my interests and work.
You can find additional information on my research, including my publications, on my research page.