Microfluidic devices are emerging as an attractive technology for automatically orchestrating complex biology protocols, with applications ranging from biomedical research to biological computing. The device technology in microfluidics has been advancing faster than Moore's Law, with the number of features (valves) per chip doubling every 4 months. However, current microfluidic chips remain very inflexible, designed and fabricated for a narrow application domain. We are developing new hardware and software abstractions to support fully programmable, general-purpose microfluidic chips. Our approach uses a digital design: fluidic samples are discretized into unit volumes, isolated from one another, and manipulated independently during operation. Biologists use a high-level programming language called BioStream to map their own unique experiment to our general-purpose chips. In this way, a biology experiment becomes a "program" that can be seamlessly mapped across successive generations of microfluidic chips. This talk will provide an overview of microfluidic technologies from a computer science perspective, highlighting areas in which computer science researchers can contribute to this field. It will also describe our recent work in developing new architectures, programming languages, and CAD tools for the microfluidic domain.