Code and its Applications
– Code is a system of rules to convert information into another form for communication or storage.
– It can be used to extend the range of communication across space and time.
– The process of encoding converts information into symbols for communication or storage.
– Decoding is the reverse process, converting code symbols back into a form that the recipient understands.
– Coding enables communication in places where ordinary language is difficult or impossible.
– Brevity codes replace words with shorter words to convey the same information with fewer characters.
– Telegraph commercial codes encoded complete phrases into single mouths for rapid long-distance communication.
– Code words were chosen based on length, pronounceability, and perceived needs.
– Data coding techniques, such as Huffman coding, are used for data compression in computer-based algorithms.
– Character encodings represent textual data and can be grouped based on the number of bytes required to represent a single character.
– Character encodings represent textual data and are associated with specific character sets.
– They can be single-byte, multibyte, or variable-width encodings.
– ASCII is a well-known single-byte encoding still in use today.
– Multibyte encodings are used for character sets with more than 256 characters, like Chinese, Japanese, and Korean.
– Early multibyte encodings were fixed-length, while variable-width encodings allow for more efficient representation.
– Codes are used in various contexts, such as traffic lights, electrical resistors, and trashcans for specific types of garbage.
– Coupon codes are used in marketing for discounts or rebates when purchasing products online.
– Military environments use specific sounds with the cornet for different purposes.
– Communication systems for sensory impairments, like sign language and braille, are based on movement or tactile codes.
– Musical scores are a common way to encode music, and chess notation is used to record matches.

Variable-length Codes
– Variable-length codes encode each source character with a code word from a dictionary.
– Huffman coding is a well-known algorithm for deriving prefix codes.
– Prefix codes have the prefix property, where no valid code word is a prefix of another.
– Kraft’s inequality characterizes the possible sets of codeword lengths in a prefix code.
– Variable-length codes are useful when clear text characters have different probabilities.

Error-correcting Codes
– Error-correcting codes are used to represent data in a way resistant to errors in transmission or storage.
– They include redundancy with the stored or transmitted data.
– Examples of error-correcting codes include Hamming codes, Reed-Solomon, and Turbo codes.
– Error detecting codes can be optimized to detect burst errors or random errors.
– These codes enhance the reliability of data transmission and storage systems.

Genetic Code
– DNA contains genes that produce messenger RNA, which then produces proteins through a genetic code.
– Genetic code consists of triplets (codons) of nucleotides that can be translated into amino acids.
– A sequence of codons results in a corresponding sequence of amino acids that form a protein molecule.
– Stop codons signal the end of the sequence.
– The genetic code allows for the diversity of proteins in biological organisms.

– Codes were once commonly used in cryptography to ensure the confidentiality of communications.
– Ciphers are now more commonly used for encryption.
– Secret codes can range from serious (espionage) to trivial (romance, games) and can use various imaginative encodings.
– Pre-agreement on the meaning between sender and receiver is essential in secret codes.
– Codes have played a significant role in the history of cryptography.Sources: