Course Level
CS1
Knowledge Unit
Fundamental Data Structures
Collection Item Type
Assignment
Synopsis

In this assignment students work either individually or in pairs to implement the Huffman Compression. Before beginning to code, students must write a software design document that plans the functions that they will use. The program itself must prompt the user for a file and then compress the file using Huffman Compression. In addition to reviewing trees and dictionaries, this assignment requires students to carefully design and test their code. It is particularly useful for students who are new to trees and need additional practice designing large programs that involve more complex data structures.

Recommendations

Make the Context even more Meaningful and Relevant by connecting the concepts to a real-world scenario that doesn't include a high-tech company. Encourage students to use the Pair Programming learning strategy to facilitate concept understanding and exploration.

Engagement Highlights

Provides a fictitious backstory about a company looking to implement a specific compression algorithm (Huffman) to Employ Meaningful and Relevant Content. Incorporates Student Choice by permitting the implementation of additional features for extra-credit.

Materials and Links

Computer Science Details

Programming Language
Python

Material Format and Licensing Information

Creative Commons License
CC BY-NC