CS 353 - Spring 2018 - Final Exam/Project

CS 353 - Spring 2018 - Final Exam/Project Well, ladies and gentlemen, it’s all over … except for the Final Exam. As the class voted to have a take home project,

c/c++代写,java代写,python代写,matlab代写,作业代写,留学生作业代写

CS 353 - Spring 2018 - Final Exam/Project Well, ladies and gentlemen, it’s all over … except for the Final Exam. As the class voted to have a take home project, here it is! Recall that you MAY choose to work on this in groups of either 1 (alone) or 2 (one other). It’s actually rather simple … and yet only “doable” if you know the material covered on this topic: Error Correcting Codes. In this project, you will be doing actual image processing. I will send you a working .java file which loads an image file, decomposes the RGB pixes into distinct codewords, storing these codewords in a large array. Then, we introduce some number of errors into your codewords. The percentage of codewords in which a bit error is introduced is selected by the user. The bit chosen for the error ir random: clearly the errors are much more visible if they occur in the higher (more significant) bits! Then, we use Error Correction to correct single bit errors which may exist in the array of codewords. We repack both the Error-codewords and the Corrected-codewords back into pixels, into a Buffered Image, storing each in an image file. When finished, we should have three distinct image files to inspect: 1) the original image, 2) the original image with the bit errors, and 3) the original image with the bit errors corrected. Clearly, it’s possible to introduce more than a single bit error into a codeword, which a Hamming code cannot correct. But not as frequently as we introduce only a single error, which IS correctable. YOUR TASK in this project involves modifying the .java program I send you TWICE: Each time you will be using a different Error Correction Code of your own choosing. The program I send you will use the H2(3) Hamming code for error correction. However, recall that during the midterm exam, there was some disagreement over the “best” code with which to send/receive image files. So in this project, you are asked to pick TWO OTHER Error Correcting Codes, modify the H2(3) program to implement your new codes, and analyze how well each code seems to work. In your results, you should process at least TWO distinct images, each time choosing at least THREE values for “percentage of codewords with errors”. This is essentially a research project (ok, really a big lab where you actually receive a running program), so the choice of how you express and explain your findings is up to you. But this should be neat and thorough, and interesting. I want to be able to look at your results and be able to make claims such as ”Clearly the code XYZ is superior in the sense of …”, or “It appears that the code XYZ gets rid of most of the errors if the error percentage remains under rrr percent”. Each trial you run should include some words of analysis, including of course the specific error percentage parameter and comments on result quality, and include the actual error and correction images. You should also explain why you expected, or didn’t expect any outcomes that standout, and a brief analysis of 1 “why”. Beyond this, I leave the specifics of your analysis up to you and your own scientific and creative minds! Note: From a programming point of view, the most annoying aspects might be the set of bitwise operators: shift left, shift right, and, or, xor, etc. In image processing, and coding in general, masks are used to allow a process to only occur to a set of selected bits. You’ve seen this over the semester, but pay close attention as you modify the programs. Much of this process involves working with pixels and codewords at the BITWISE level. Mapping out pixels, bytes, and codewords, bitwise on paper, is often a VERY helpful practice. Feel free to ask questions as needed, and of course, have fun! 2

留学生作业代写,cs作业代写,cs代写,作业代写,北美cs作业代写,澳洲cs作业代写,加拿大cs作业代写,cs作业代写价格,靠谱cs作业代写,程序代写
WeChat