Course in programming-languages/java Software Construction in Java (edx.org) Also available on classcentral.com. By Massachusetts Institute of Technology via edX