Working at the leading edges of fundamental science to invent the technologies of the future.



Computer Scientists Create Reprogrammable Molecular Computing System


Erik Winfree, Professor of Computer Science, Computation and Neural Systems, and Bioengineering, and colleagues have designed DNA molecules that can carry out reprogrammable computations, for the first time creating so-called algorithmic self-assembly in which the same "hardware" can be configured to run different "software." Although DNA computers have the potential to perform more complex computations than the ones featured in the Nature paper, Professor Winfree cautions that one should not expect them to start replacing the standard silicon microchip computers. That is not the point of this research. "These are rudimentary computations, but they have the power to teach us more about how simple molecular processes like self-assembly can encode information and carry out algorithms. Biology is proof that chemistry is inherently information-based and can store information that can direct algorithmic behavior at the molecular level," he says. [Caltech story]

Levitating Objects with Light


Ognjen Ilic, postdoctoral scholar in Professor Harry Atwater’s laboratory, and colleagues have designed a way to levitate and propel objects using only light, by creating specific nanoscale patterning on the objects' surfaces. "We have come up with a method that could levitate macroscopic objects," says Professor Atwater, who is also the director of the Joint Center for Artificial Photosynthesis. "There is an audaciously interesting application to use this technique as a means for propulsion of a new generation of spacecraft. We're a long way from actually doing that, but we are in the process of testing out the principles." [Caltech story]

Teaching Coding in Elementary Schools


On Friday afternoons, Caltech computer science students visit public schools in Pasadena to help third-, fourth-, and fifth-graders learn to code. Their work is part of a recently introduced course in which Caltech undergrads study and practice strategies for teaching programming to children. “We start with basic concepts and, by the end, students have coded their own games in Scratch [a visual programming language developed for children],” says Caltech senior Anna Resnick, who helps lead the class as a teaching assistant. “A few have even told us they want to be programmers someday.” [Caltech story]