Re: Learning to program :)
There's a lot more to it than just upping your code onto the mp3 player. Most companies do not allow changes to be made that easy to their products. Hacking something (like putting linux on a handheld game device, google 'Dingux', linux for China Chip's Dingoo Game device) entails hard work.
After plugging the device in, you need to look at the code that is actually being passed back and forth between the device and the computer. By studying this, you can figure out what needs to be done to talk to the device. You then write a bit of code that can talk to the device and read/change data stored in it's memory. Using this interface, you pull out the menuing program and anything else you want to alter, decompile it, alter it, recompile it, and put it back on the device. If you rewrite it from scratch without studying the original, you can run into problems, even "Brick" (A term for breaking the code in it so that it no longer works, is becomes, in essence, just a brick) your device. Some companies even use an "In-House" proprietary programming language, and without being employed by them, you have little or no hope of hacking their device.
I'm new to JAVA, but have been programming in one language or another for 25 years. I wouldn't even attempt such a task.
What exactly is the brand/model of MP3 that you want to alter?