Bird
Raised Fist0
Intro to Computingfundamentals~10 mins

Data compression basics in Intro to Computing - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign the variable that stores the original data size.

Intro to Computing
original_size = [1]
Drag options to blanks, or click blank then click option'
Alen(data)
Bcompression_ratio
Cdecompressed_data
Dcompressed_data
Attempts:
3 left
💡 Hint
Common Mistakes
Using the compressed data variable instead of the original data.
Confusing compression ratio with data size.
2fill in blank
medium

Complete the code to calculate the compression ratio correctly.

Intro to Computing
compression_ratio = [1] / original_size
Drag options to blanks, or click blank then click option'
Acompressed_size
Boriginal_size
Cdecompressed_size
Ddata_length
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing original size by compressed size instead of the other way.
Using decompressed size which is not defined.
3fill in blank
hard

Fix the error in the code to decompress data using the correct method.

Intro to Computing
decompressed_data = compressed_data.[1]()
Drag options to blanks, or click blank then click option'
Acompress
Bdecompress
Cencode
Ddecode
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'compress' which compresses data again.
Using 'encode' or 'decode' which are for text encoding.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps each word to its compressed length if the length is less than 5.

Intro to Computing
{word: len(word)[1] for word in words if len(word) [2] 5}
Drag options to blanks, or click blank then click option'
A**2
B>
C<
D+1
Attempts:
3 left
💡 Hint
Common Mistakes
Using '+' instead of '**' for squaring.
Using '>' instead of '<' in the condition.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps the uppercase word to its length if the length is greater than 3.

Intro to Computing
result = {{ [1]: [2] for word in words if len(word) [3] 3 }}
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
C>
Dword.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase instead of uppercase for keys.
Using '<' instead of '>' in the condition.

Practice

(1/5)
1. What is the main purpose of data compression?
easy
A. To make files smaller so they use less space
B. To make files larger for better quality
C. To change file formats randomly
D. To delete important parts of a file

Solution

  1. Step 1: Understand the goal of compression

    Compression reduces file size by encoding data more efficiently.
  2. Step 2: Compare options to the goal

    Only To make files smaller so they use less space correctly states making files smaller to save space.
  3. Final Answer:

    To make files smaller so they use less space -> Option A
  4. Quick Check:

    Compression = smaller files [OK]
Hint: Compression means smaller files to save space [OK]
Common Mistakes:
  • Thinking compression increases file size
  • Confusing compression with file format change
  • Believing compression deletes data
2. Which of the following is a correct description of lossless compression?
easy
A. It removes some data permanently to reduce size
B. It compresses data without losing any original information
C. It changes file format to a different type
D. It only works on images, not text

Solution

  1. Step 1: Define lossless compression

    Lossless compression reduces size but keeps all original data intact.
  2. Step 2: Match definitions to options

    It compresses data without losing any original information correctly describes lossless compression as no data loss.
  3. Final Answer:

    It compresses data without losing any original information -> Option B
  4. Quick Check:

    Lossless = no data lost [OK]
Hint: Lossless means no data is lost during compression [OK]
Common Mistakes:
  • Confusing lossless with lossy compression
  • Thinking lossless deletes data
  • Believing lossless only works on images
3. Consider this simple compression example: The string "AAAABBBCCDAA" is compressed by replacing repeated letters with the letter and count (e.g., A4 for AAAA). What is the compressed form?
medium
A. A4B3C2D1A2
B. 4A3B2C1D2A
C. AAAABBBCCDAA
D. ABCD

Solution

  1. Step 1: Identify repeated letters and counts

    "AAAABBBCCDAA" has A repeated 4 times, B 3 times, C 2 times, D 1 time, A 2 times.
  2. Step 2: Write compressed form as letter + count

    Following the pattern, compressed string is A4B3C2D1A2.
  3. Final Answer:

    A4B3C2D1A2 -> Option A
  4. Quick Check:

    Repeated letters + counts = A4B3C2D1A2 [OK]
Hint: Count repeats and write letter then number [OK]
Common Mistakes:
  • Writing count before letter
  • Not counting single letters
  • Leaving string uncompressed
4. A compression program replaces repeated words with a code but forgets to store the code mapping. What problem will occur when decompressing?
medium
A. The program will run faster
B. The file size will increase instead of decrease
C. The original data cannot be restored correctly
D. The compressed file will be empty

Solution

  1. Step 1: Understand the role of code mapping

    Code mapping links codes to original data for decompression.
  2. Step 2: Identify impact of missing mapping

    Without mapping, decompression cannot restore original data correctly.
  3. Final Answer:

    The original data cannot be restored correctly -> Option C
  4. Quick Check:

    Missing mapping = wrong decompression [OK]
Hint: Mapping needed to restore original data [OK]
Common Mistakes:
  • Thinking file size increases due to missing mapping
  • Assuming program runs faster without mapping
  • Believing compressed file becomes empty
5. You have a text file with many repeated phrases. Which compression method is best to reduce its size without losing any information?
hard
A. Lossy compression that removes repeated phrases
B. Deleting repeated phrases manually
C. Changing the file format to a different type
D. Lossless compression that replaces repeated phrases with codes

Solution

  1. Step 1: Identify need for no data loss

    The question requires no information loss, so lossy methods are unsuitable.
  2. Step 2: Choose method that compresses repeated phrases without loss

    Lossless compression replaces repeated phrases with codes, preserving data.
  3. Step 3: Eliminate other options

    Changing format or deleting phrases manually does not guarantee compression or data safety.
  4. Final Answer:

    Lossless compression that replaces repeated phrases with codes -> Option D
  5. Quick Check:

    No data loss + repeated phrases = lossless compression [OK]
Hint: Use lossless for repeated data without losing info [OK]
Common Mistakes:
  • Choosing lossy compression when data loss is not allowed
  • Thinking changing file format compresses data
  • Deleting data manually instead of compressing