Msquare:
...// Which pins are connected to which LED
const int GreenLED = 8 ;
const int RedLED = 10 ;
This is to indirectly teach that meanigfull variable names are usefull. If I added a comment `"//Pin8 connect to greenLED"` it defeats half the reason for variable name. `int` choosen beacuse that is what the documentation says the pinMode, digitalWrite expect.
Thanks for the comments. Before I address the style considerations I want to comment on the above.
From wiring.h:
typedef uint8_t byte;
...
void pinMode(uint8_t, uint8_t);
void digitalWrite(uint8_t, uint8_t);
int digitalRead(uint8_t);
The documentation for pinMode doesn't specifically say it takes an int, it (rather unhelpfully) implies it with example code.
It actually takes a byte.