Alt code
Encoding
Alt codes allow you to enter characters by their code point (Computer do not store text as graphics, but in numerical format). Characters are stored on your computer as numbers; each letter or symbol is represented by a number. To make sure that text looks the same on all computers, there is a standard called Unicode that defines which numbers are mapped to which characters. Due to the number of alphabets in the world, Unicode defines tens of thousands of characters.
Early limitations
Most English characters are located in the first 128 characters. Everything you see on your keyboard is mashed in there. Uppercase, lowercase, numbers, symbols, and control keys. Originally, it seems, there were only 7 bits available per letter. Then there were 8, and the next 128 characters were used for accents and such. Finally, we got 16, and even 32. For more information, see UTF-8.
Usage
Anyway, back to the subject: when you hold down an alt key and type a number on the right hand side of the keyboard, a character appears. Make sure Num Lock is turned on, or your efforts will be fruitless. Note that this only works with a selection of Microsoft software. A variant of alt codes are alt-X codes. Unlike alt codes, which require a decimal code point, Alt-X codes work with hexadecimal numbers. After you type in the hexadecimal value for a character, press Alt and the X key simultaneously to convert the code into a character, and vice versa. Cardbox Software has created a Utility that supposedly enables alt codes across all applications.
Modern input methods
Entering characters with a utility like Quick Key is much preferable to memorizing alt codes, although Quick Key also excels as an alt code reference. Proprietary alternatives include PopChar and FrKeys.
For heavy usage that justifies relearning key positions, a new Keyboard Layout is recommended.