CoE161 2S2223 Programming Activity 2

From Microlab Classes
Jump to navigation Jump to search

Instructions for Part 1: Individual Work

Submission guidelines:

  • For every programming exercise, you are to submit your .ipynb file into your respective submission bin.
  • To download your .ipynb file, first in your Google Colab page go to File > Download > Download .ipynb file.
  • Don't forget to rename your .ipynb file with the following format "class_lastname_firstname_studentnumber.ipynb".


Hidden Messages

From the discussions, we were taught the simple algorithm of Huffman coding. Review that section again to make sure you get this exercise right.

The objectives are:

  • Task 1 - Extract the frequencies of the permuted text given to you.
  • Task 2 - Create the Huffman coding function.
  • Task 3 - Decode the hidden messages then answer the questions that follow.

You can checkout the exercise in this link.

Instructions for Part 2: Group Work

In this group activity, you are tasked to characterize your code and compare it with your group mates.

  • Task 1 - Given your Huffman coding function, calculate the total lines of code executed by your function. How many lines are conditional statements?
  • Task 2 - Are there any opportunities for parallelism in your code? E.g. are there any operations that can be done simultaneously without any data hazards?
  • Task 3 - How many lines of code would be executed if the number of possible characters was increased by 2X? 4X? 8X? 16X?
  • Task 4 - Create a short (10-minute) group presentation showing your results. Did you get similar results?