So what is this mind of ours: what are these atoms with consciousness? Last week's potatoes! They now can remember what was going on in my mind a year ago — a mind which has long ago been replaced.— Richard P. Feynman
My research group has been developing a parallel neural simulation framework, called BrainGrid, to enable researchers to develop large-scale and long-duration simulations of nervous system activity and development. "We build simulations to do more than what we can do in experiments on living things." In some cases, simulations allow scientists to run experiments that would otherwise not be possible or might not be technologically feasible to do any other way. Currently, we are in the process of developing an extension of BrainGrid — the Workbench — that will permit investigators to track simulation code, experiment configurations, and data produced. Once fully developed, this will allow them to be confident that their results are valid and easily identify when changing assumptions alter the results. We eat our own dog food: we use this framework to help understand how large numbers of neurons form functional networks during embryonic development.
This has involved modeling the growth and activity of biological neural networks grown in vitro. These dissociated cortical tissue preparations are viewed, on the one hand, as potential "neuro-electronic hybrid computers" and, on the other, as models for epilepsy. I hope that my work will explain why these networks show pathological bursting activity and how to stop this bursting and get them to behave like normal neural tissue.
My collaborators and I have also been investigating information transfer across the synapses that connect nerve cells. This synaptic coding process is the functional unit of nervous systems, and as such the computational unit of neural networks. Part of my recent work has focused on the interaction between stochastic events ("errors", e.g., synaptic transmission failure) and neuron dynamics and the implications of this for synaptic coding.
My methods have been based on the hypothesis that single neurons perform nontrivial operations, and that the coding of neural input to output can be understood if one views the neuron as a nonlinear dynamical system. This has involved very enjoyable collaborations with neuroscientists, mathematicians, and physicists.Back to Top
This class works as a combination of laboratory and tutorial, to help students investigate and understand some of the deeper and more obscure aspects of software development in C++. Covers language and development/execution environment differences, including data types, control structures, arrays, and I/O; addressing and memory management issues including pointers, references, functions, and their passing conventions; object-oriented design specifics related to structured data and classes.
Everything we are and do, from the simplest physical act to the most complex and subtle thought, is contained within the three pounds of grey matter we carry within our heads. After millennia of pondering and decades of scientific research, we've only just begun to unlock the nature of how nervous systems accomplish their myriad tasks. This course provides an overview of what we've learned about nervous system function and an understanding of how much we still don't know. Students evaluate the biophysical properties of nervous systems from the point of view of computation, and apply computational tools to simulate and analyze nervous system operation.
This course introduces students to rule-based programming in the context of declarative modeling of expert human knowledge. It has an additional focus on building expert systems applications as part of larger systems, including web-based and enterprise systems. Besides rule-based programming, expert systems operation, and knowledge engineering, topics will include aspects of Java that are useful for developing these systems, such as JavaBeans, serialization, applets, servlets, J2EE, JavaServer Pages, Tomcat, web services, and XML.
I grew up in Philadelphia, reading science fiction and dreaming of someday having a robot army to call my own. I've always been interested in the intersection of engineering and biology. As an undergrad at Washington University in St. Louis, I double-majored in Computer Science and Electrical Engineering. Between undergrad and graduate studies, I worked for Philips and Texas Instruments. In grad school, I had the opportunity to take neuroscience classes in the UCLA Medical School. I was taken with the idea of building simulations of living systems and how that could allow researchers to answer questions that could be posed in rigorously mathematical terms — questions that couldn't easily be answered by experiments on living organisms, but could be verified that way.
I have a lot of fun following my nose when it comes to research and working with students in both classroom and research settings. Around 2008, about the time I was promoted to full Professor, I was honored to be entrusted with leading UW Bothell's Computing and Software Systems Program and looking out for the well being of its faculty, staff, and students. More recently, I've been charged with supporting development of graduate programs in our School of STEM. Throughout, I've cultivated a keen sense of humor and social justice, formed during a childhood listening to George Carlin albums and watching Billy Jack movies.