You can write some sophisticated complex programs on the Arduino, using C++. Forcing you to write in hex is a bit crazy, IMHO, because no-one writes like that these days. It's not a useful skill to acquire. Assembler, perhaps.
It would be like having a writing competition, but make you tap out the essay with a pencil taped to your nose. It's adding a ridiculous extra level of complexity that doesn't prove anything.
Also, after reading your comment, I think I may have given the wrong impression. I am programming AVRs using C code written in WinAVR. I'm not allowed to use arduino code in the sense that I am not allowed to use functions like digitalWrite() and delay() which are intended to make coding on the arduino easier.
This is the code I attempted to upload:
#include <avr/io.h>
void main(void)
{
DDRB = 0b00000001;
PORTB = 0b00000001;
while (1)
{
}
}