A programmer and writer, he teaches computer programming at all levels, from assembly to object-oriented. His research topics include evolutionary algorithms, particularly genetic programming. He earned a PhD in electrical engineering from the University of Ljubljana.