develop Java-based programming projects in a UNIX or Linux-based environment, topics of object-oriented design, program design, and GUI development