a text listing of commands in a high level programming language to be compiled, interpreted or assembled into an executable computer program.
text listing of commands to be compiled / assembled into executable program
a program in a high-level language before being compiled and has a .java extension