CPSC 231 Introduction to Computer Science: Huffman Coding

$20 Bonus + 25% OFF

Securing Higher Grades Costing Your Pocket?
Book Your Assignment at The Lowest Price
Now!

Students Who Viewed This Also Studied

CPSC 231 Introduction to Computer Science for Computer Science Majors I

Question:

Assignment Title: Huffman Coding

Collaboration

Discussing the assignment requirements with others is a reasonable thing to do, and an excellent way to learn. However, the work you hand-in must ultimately be your work. This is essential for you to benefit from the learning experience, and for the instructors and TAs to grade you fairly. Handing in work that is not your original work, but is represented as such, is plagiarism and academic misconduct. Penalties for academic misconduct are outlined in the university calendar.

Here are some tips to avoid plagiarism in your programming assignments.

  1. Cite all sources of code that you hand-in that are not your original work. You can put the citation into comments in your program. For example, if you find and use code found on a web site, include a comment that says, for example:

# the following code is from https://www.quackit.com/python/tutorial/python_hello_world.cfm.

Use the complete URL so that the marker can check the source.

  1. Citing sources avoids accusations of plagiarism and penalties for academic misconduct. However, you may still get a low grade if you submit code that is not primarily developed by yourself. Cited material should never be used to complete core assignment specifications. You can and should verify and code you are concerned with your instructor/TA before submission.
  1. Discuss and share ideas with other programmers as much as you like, but make sure that when you write your code that it is your own. A good rule of thumb is to wait 20 minutes after talking with somebody before writing your code. If you exchange code with another student, write code while discussing it with a fellow student, or copy code from another person’s screen, then this code is not yours.
  2. Collaborative coding is strictly prohibited.Your assignment submission must be strictly your code. Discussing anything beyond assignment requirements and ideas is a strictly forbidden form of collaboration. This includes sharing code, discussing code itself, or modelling code after another student’s algorithm. You can not use (even with citation) another student’s code.
  1. Making your code available, even passively, for others to copy, or potentially copy, is also plagiarism.
  1. We will be looking for plagiarism in all code submissions, possibly using automated software designed for the task. For example, see Measures of Software Similarity (MOSS – https://theory.stanford.edu/~aiken/moss/).
  1. Remember, if you are having trouble with an assignment, it is always better to go to your TA and/or instructor to get help than it is to plagiarize. A common penalty is an F on a plagiarized assignment.

Goal

Writing a program with classes object and recursion.

Technology

Python 3

Submission Instructions

You must submit your assignment electronically. Use the Assignment 4 dropbox in D2L for the electronic submission. You can submit multiple times over the top of a previous submission. Do not wait until the last minute to attempt to submit. You are responsible if you attempt this and time runs out. Your assignment must be completed in Python 3 and be executable with Python version 3.6.8+. You should not import any python libraries to create the Huffman trees or determine a Huffman code.

Description

In this assignment you are given a partially complete program designed to take an ASCII file and compress it. Compression is when you take information that occupies a certain quantity of space and through an algorithmic method reduce it to occupy less space by ‘encoding’ it. To be useful, this process should contain a method to ‘decode’ the data back from the compressed form to be read.

Compression is used across electronic media from simple text compression to image compression like jpg and video compression like mp4. In this assignment you will be complete two Python classes to finish the compression program. Instructions in the assignment will lead you through each of the classes to complete parts of each so that the program operates correctly at the end. Similar to how assignment 2 required you to complete functions to make that program complete, this assignment will have you complete objects and their internal methods (object functions) to make it work. This is a common software engineering challenge where a ‘class’ must be completed according to the specifications given to you.

You will be creating a solution to achieve Huffman Coding. Huffman Coding is optimal when encoding ASCII symbols one at a time. Optimal here is defined as the resulting text is reduced from the original byte quantity to the smallest byte quantity possible. Later courses in Computer Science discuss the math that supports this, however for this assignment we will follow a simple greedy algorithm that gives us a Huffman Code without needing to know why it is correct or optimal.

You do not have to deal with command line arguments, opening files, exceptions, in this assignment. The challenges will be completing two python files each that contain object methods used by the main program. When completing these files you must implement the Huffman Tree and Encoding Table with your own code and are not allowed to import libraries to accomplish this.

CPSC 231 Introduction to Computer Science for Computer Science Majors I

Answer in Detail


Solved by qualified expert

Get Access to This Answer

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

25 More Pages to Come in This Document. Get access to the complete answer.

‘Write my dissertation cheap for me’ is a common search phrase among students in Australia, the answer of which lies at MyAssignmenthelp.com. We are the number one online dissertation help provider, having assisted thousands of students in getting an A grade on their paper. We select all of our dissertation writer and experts carefully so that students always get the best quality dissertations from us.

More CPSC231 CPSC 231 Introduction to Computer Science for Computer Science Majors I: Questions & Answers

VVM Assembler

1.    Write a program in VVM Assembler which will divide two numbers, i.e. divide number A by number B. lf B>A or B=0 or B is negative number, then the program should prompt for another input which is less than A (B

View Answer

ICS 110 Information and Computer Science

Task:
Build an LED_DIGIT class that, given a single  non-negative integer digit(0,1,2 and so on), builds a STRING “LED” representation of that digit. Define a toString() method in your class that returns the String representation. Then write a program that reads a digit from the user and displ …

View Answer

Business Management

We are doing a MBA project where we are planning to develop an app. As we have not developed the app and we are just having an idea of the app. We have just done the 1st round of customer discovery, we have tested 3 hypotheses. So for this assignment we want 3 new hypotheses to test, but remember we …

View Answer

CITS5502 Software Processes

The attached sheet contains data adapted from an actual test process. The process had two stages:finding defects and fixing defects. The table represents the rate of finding defects by onecompetent tester working 25 hours per week over a twentyweekperiod and 300 detects werediscovered in that time. …

View Answer

Content Removal Request

If you are the original writer of this content and no longer wish to have your work published on Myassignmenthelp.com then please raise the
content removal request.

Choose Our Best Expert to Help You

Cameron Herring

I have completed MSc Criminology and Criminal Psychology online masters degree from the University of Essex. I have also done post-graduate degree in Clinical & Health Psychology (MSc), University of Edinburgh

180 – Completed Orders

Hire Me

Still in Two Minds? The Proof is in Numbers!

33845 Genuine Reviews With a Rating of 4.9/5.

Statistics

Programming: 1 Page, Deadline:
26 days

A good solution has been provided and I am satisfied with the solution provided.

User ID: 7***32 Zimbabwe

Finance

Home Work: 8 Pages, Deadline:
19 days

Got the assignment ahead of time and it is very good with attention to detail with all the calculations as asked earlier.

User ID: 8***20 India

It Write Up

Assignment: 20 Pages, Deadline:
3 days

Excellent Job, got excellent grades and passed in the assignment highly recommend. Best solution out there

User ID: 6***94 Mauritius

It Write Up

Essay: 0.8 Pages, Deadline:
1 day

I am one of the regular customer and I am happy with experts which helps me to clear my study. I am satisfied with solutions and thank you for helping …

User ID: 2***87 Bexley, Australia

Accounting

Home Work: 1 Page, Deadline:
8 days

thank you you guys, even though i dont have high marks, but im happy with your effort on that. really appreciate for that

User ID: 6***24 Australia

Management

Assignment: 2.4 Pages, Deadline:
4 days

thank you expert and your team. u guys really helpful for my assignment . really appreciate your effort

User ID: 6***24 Australia

Assignment

Assignment: 10 Pages, Deadline:
15 days

A good solution , in time and well made , recommended this website with all pleasure

User ID: 3***64 Birmingham, Great Britain

Management

Assignment: 24 Pages, Deadline:
4 days

Very well done. Thank You for the last minute assistance and great research work performed.

User ID: 5***45 Lagos, Nigeria

Statistics

Programming: 9.2 Pages, Deadline:
4 days

Very satisfied . Will require your service again for my next assignments .Thank you.

User ID: 8***97 Albania

Maths

Essay: 2 Pages, Deadline:
5 days

Received all the points. Perfect A on the assignment. This company and tutors always come through

User ID: 1***42 Opelika, United States

Statistics

Programming: 1 Page, Deadline:
26 days

A good solution has been provided and I am satisfied with the solution provided.

User ID: 7***32 Zimbabwe

Finance

Home Work: 8 Pages, Deadline:
19 days

Got the assignment ahead of time and it is very good with attention to detail with all the calculations as asked earlier.

User ID: 8***20 India

It Write Up

Assignment: 20 Pages, Deadline:
3 days

Excellent Job, got excellent grades and passed in the assignment highly recommend. Best solution out there

User ID: 6***94 Mauritius

It Write Up

Essay: 0.8 Pages, Deadline:
1 day

I am one of the regular customer and I am happy with experts which helps me to clear my study. I am satisfied with solutions and thank you for helping …

User ID: 2***87 Bexley, Australia

Accounting

Home Work: 1 Page, Deadline:
8 days

thank you you guys, even though i dont have high marks, but im happy with your effort on that. really appreciate for that

User ID: 6***24 Australia

Management

Assignment: 2.4 Pages, Deadline:
4 days

thank you expert and your team. u guys really helpful for my assignment . really appreciate your effort

User ID: 6***24 Australia

Assignment

Assignment: 10 Pages, Deadline:
15 days

A good solution , in time and well made , recommended this website with all pleasure

User ID: 3***64 Birmingham, Great Britain

Management

Assignment: 24 Pages, Deadline:
4 days

Very well done. Thank You for the last minute assistance and great research work performed.

User ID: 5***45 Lagos, Nigeria

Statistics

Programming: 9.2 Pages, Deadline:
4 days

Very satisfied . Will require your service again for my next assignments .Thank you.

User ID: 8***97 Albania

Maths

Essay: 2 Pages, Deadline:
5 days

Received all the points. Perfect A on the assignment. This company and tutors always come through

User ID: 1***42 Opelika, United States

Have any Query?
Reference no: EM132069492

WhatsApp
Hello! Need help with your assignments? We are here

GRAB 25% OFF YOUR ORDERS TODAY

X