algorithms pt 1. Princeton University. skills: Java