More precisely, a program in the Java language
is made of one or several text files.
In the case of the Java language, a compiler will translate
the text file(s) into a bytecode program,
which is an intermediate representation of the Java program.
This representation is independant
from the computer where the program has been compiled.
The bytecode program will then be interpreted
by a program called a virtual machine.
The virtual machine will translate the bytecode into instructions
the microprocessor will be able to execute.
Since the bytecode program is independant from the computer
where it has been created,
it can be executed on another computer.
In this course, you will learn to analyse a problem
and write a program in a high-level language.
This language will thus be the Java language. But we will endeavor to remain general
and teach you principles valid
for most programming languages.
For a given problem, you will first have to ponder
the sequence of instructions the computer will have to execute.
You will then write the Java program
corresponding to this sequence of instructions
and compile your program to generate a bytecode program.
It is possible for the compiling to fail
because your program does not respect the rules of the Java language.
You will then go back to your program and correct it.
Fortunately, the Java compiler will provide error messages,
which will guide you along this correction.
Once compiled, you will be able to test your program on the virtual machine.
At this point, it is possible that your program will not do what you expected
because you have erred somewhere in the initial sequence of instructions.
You will then go back to the analysis of the program you have done,