0% found this document useful (0 votes)
20 views4 pages

Project v0.5 290923

The CS201 Data Structures and Algorithms project requires students to work in groups to implement a tree-based compression algorithm on a given image dataset, focusing on both lossy and lossless techniques with a 25% loss threshold. Students must conduct experiments, analyze trade-offs, and present their findings in a 10-minute video. The project accounts for 20% of the overall course grade, with specific grading criteria for test case quality, video presentation, and project uniqueness.

Uploaded by

ivantanweihan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views4 pages

Project v0.5 290923

The CS201 Data Structures and Algorithms project requires students to work in groups to implement a tree-based compression algorithm on a given image dataset, focusing on both lossy and lossless techniques with a 25% loss threshold. Students must conduct experiments, analyze trade-offs, and present their findings in a 10-minute video. The project accounts for 20% of the overall course grade, with specific grading criteria for test case quality, video presentation, and project uniqueness.

Uploaded by

ivantanweihan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SMU Classifica,on: Restricted

CS201 Data Structures and Algorithms


AY2023/24 Term 1
Project Descrip-on
In this project, students work in their project groups to solve an algorithmic problem from a
given image dataset involving:
• Using appropriate data structures/algorithm to solve a problem
• Running experiments and discussing the experimental outcomes
• Analyzing the trade-offs of compression/loss/Eme efficiencies
• PresenEng the findings as a video presentaEon

Timeline
• Week 7: Release of project requirements (version 0.5)
• Week 8 (Recess Week): Release of project requirements (v0.9) and Source Code
• Week 9: ConfirmaEon of project requirements
• Week 12, Friday, 6pm: Project report via 10-min video (youtube link), source codes + output
file

All project clarifica-ons should be made in Piazza.

Background
We have learnt a couple of tree structures for data representaEons in the course. In this
project, students are required to apply tree structure(s) on data compression which plays a
vital role in modern compuEng, enabling efficient data handling, transmission, and storage
across various applicaEons and industries. For example, Huffman coding is a widely used
method for lossless data compression, and it involves creaEng a binary tree called the Huffman
coding tree. The main idea behind Huffman coding is to represent more frequent characters
with shorter codes and less frequent characters with longer codes. Despite the effecEveness,
Huffman coding cannot achieve high compression raEos for certain types of data (e.g.,
mulEmedia data). AddiEonally, there are also lossy compression techniques. In fact, the tree
itself can be compressed.
SMU Classifica,on: Restricted

CS201 Data Structures and Algorithms


AY2023/24 Term 1
Requirements
Students are required to explore tree-based compression techniques and submit ONE
lossy/lossless implementaEon. In this project, the loss threshold is set as 25%.
Students are also required to experiment with possible changes to the chosen implementaEon
and discuss these in the video presenta-on. These changes can be regarding alternaEve data
structures, changes/modificaEons to the actual algorithm, configuraEons or parameters etc.
For each change, students are required to present the hypothesis, the change, result of the
change and the analysis/trade-offs of the result. Students are encouraged to present these in
the video.
Students will be able to test their implementaEon with a given Java ApplicaEon. The
implementaEon's final performance will be tested on a dataset containing a different set
number of images using these criteria.

Grading Criteria (project will account for 20% of the overall grade for the course)
• Test Cases Quality Score (45%): performance on the test image dataset based on:
– Compressed Size (25%)
– Running Time (10%)

– Loss (10%)

• Video PresentaEon (40%): ExplanaEon of your selected algorithm, clarity of presentaEon,


experimentaEon, results, analyses
• X-factor (15%): What makes the project outstanding. You are welcome to jusEfy your X-
factors in the final video.
• Note that even though this is a group project, we will be conducEng peer evaluaEon to get
feedback from the respecEve group members that will influence the class parEcipaEon
components.

Source Codes (Actual Code and test images will be released in Week 8)
SMU Classifica,on: Restricted

CS201 Data Structures and Algorithms


AY2023/24 Term 1
• In the provided source code, you are given a few Java files, most of which do not require
any changes. Do understand the codes provided. The main method is in App.java.
• You can only modify UElity.java. Do not modify any other .java files or create your
own .java files to ensure that we will be able to run your codes ajer your submission.
You will only submit UElity.java
• Amend the implementaEon of the Compress() and Decompress() method in UElity.java.
• You are also allowed to create your own private helper methods and akributes in
UElity.java should you need to
• The images will be given in a 3d int array format.
• Your Compress() funcEon should take in this 3d array and return ONE file only. Your
Decompress funcEon would then take in this file and return a 3d array.
• If use any online resources, please state them and give credit.
• You are not allowed to import any extrnal libraries, only Java Standard libraries.
• A brief descripEon of the key files is included in the image below.
SMU Classifica,on: Restricted

CS201 Data Structures and Algorithms


AY2023/24 Term 1

Deliverables
Upload all deliverables by Week 12, Friday, 3rd November, 6pm noon.
Youtube
Project report via video (max 10 min). Begin with the group name and members. Describe the
problem. Describe the implementaEon and the key analysis of experimental results. Discuss
the learning highlights, jusEfy the x factors (what makes it special) and close with potenEal
extensions. Please record your video at normal playback speed.
Upload the video to YouTube as an unlisted link, and provide the link via
hkps://forms.office.com/r/cXzU871Mr9

eLearn
(A) Project Source Codes
(i) Submit UElity.java for the source code
MulEple submissions are allowed but only the most recent submission will be kept in the
system as the final submission.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy