83 8 Create Your Own Encoding Codehs — Answers
83 8: Create Your Own Encoding — A Step-by-Step Editorial
Encoding is everywhere: in secret messages, data compression, and the hidden rules that let computers talk. This editorial walks you through designing your own encoding system—clear, creative, and practical—so you can build a custom cipher or data-encoding scheme for learning, games, or class projects like CodeHS assignments.
Part 2: Create the Decoder
Q2: Do I need to handle uppercase letters?
A: Yes, the test cases often include uppercase. Use .toLowerCase() inside encode() to normalize.
CodeHS-friendly classroom exercise
Objective: Implement a simple encoder and decoder, then analyze compression. 83 8 create your own encoding codehs answers
- Provide starter mapping (5-bit fixed) and reverse lookup.
- Tasks:
- Implement encode(text) and decode(bits).
- Allow unknown characters to be encoded as a special token.
- Measure encoded length for sample paragraphs and compare to ASCII (8 bits per char).
- Bonus: create a frequency table from input and design a better variable-length code.
Rubric (suggested)
- Correctness of encode/decode: 60%
- Error handling & tests: 20%
- Compression analysis (comparison to ASCII): 10%
- Bonus (variable-length improvement): 10%
Part 4: Decoding Function
def decode_message(binary_string): # Assuming a fixed bit length of 5 (based on our dictionary) bit_length = 5 text_output = "" 83 8: Create Your Own Encoding — A
# Loop through the string in chunks of 5
for i in range(0, len(binary_string), bit_length):
chunk = binary_string[i : i + bit_length]
if chunk in my_decoder:
text_output += my_decoder[chunk]
else:
text_output += "?"
return text_output
3. Write the Decode Function
Inverse operation:
def decode(encoded_message):
decoded = []
for ch in encoded_message:
new_code = ord(ch) - 3
if new_code < 32:
new_code = new_code + 95
decoded.append(chr(new_code))
return ''.join(decoded)
Create Your Own Encoding: A Beginner’s Guide (CodeHS Style)
Encoding information—turning plain text into another form—is a foundational idea in computer science. Whether you’re learning on CodeHS, building a classroom activity, or just curious, creating your own encoding is a fun way to practice logic, mapping, and debugging. This post walks through a simple, step-by-step approach to designing a custom encoding, explains common choices, and includes ready-to-run examples and classroom prompts. Provide starter mapping (5-bit fixed) and reverse lookup
2. The Logic Behind the Solution
Before writing the code, you must design the encoding scheme.
- Bit Length: To represent the 26 letters of the alphabet, you need at least 5 bits ($2^5 = 32$ possible combinations). If you include spaces and punctuation, 5 bits is usually sufficient for a basic assignment.
- Mapping: You must decide if 'A' =
00001, 'B' =00010, etc., or use a random mapping.
