self study java, through cs61b (http://www.cs.berkeley.edu/~jrs/61b/)