程序|Programming in Python (2024/5 Semester 2) Coursework 2 Materials

联系我们: 手动添加方式: 微信>添加朋友>企业微信联系人>13262280223 或者 QQ: 1483266981

Programming in Python (2024/5 Semester 2)
Coursework 2 Materials
Coursework 2 Description
This document details all requirements of Coursework 2.
Following issues in CW1: ensure you set aside time to read this document and the associated
guides. This is a necessary activity.
Other Important Points:
Individually written code needs to be merged across the group in a CSGitlab
(https://csgitlab.reading.ac.uk/)repository.
Construct Version 1 and 2 QR codes based on the rules outlined at
https://www.thonky.com/qr-code-tutorial/ (https://www.thonky.com/qr-code-tutorial/).
AI Tools may be used to support your work. Consider using these to understand errors,
write docstrings, or for debugging your code. Using AI-generated code is not advised as
this presently frequently leads to challenging debugging sessions in code that you may not
even understand in principle, leading to many lost hours.
The Documentation and Reflection elements are key to this work. Ensure that you
understand what is requested for these early in the process, as it will be helpful to write
these over time and very challenging to do well at the last minute.
Note:
Updated 2025.03.24_14:50 – Removed repeated text about README.md; does not
substantively affect the document/requirements.
Updated 2025.03.27_15:30 – Corrected example QR codes (see below)
Updated 2025.04.11_02:55 – Added PDF references to reflection writing guides (see below);
link in coursework description reported broken.
CS2PP_CW2.pdf
Referenced Works on Group Work
Hughes_2011.pdf
Salas_2005.pdf
Reflection Writing Guide
Source: https://www.uefap.org/writing-functions-50-reflecting/ (https://www.uefap.org/writing-functions-
50-reflecting/)
ReflectiveWritingUEFAP_extended.pdf
ReflectiveWritingUEFAP.pdf
Corrected Example QR Codes
The originally released coursework description contained example QR codes for the word
`known`. These were generated by a Python library called Segno. A student highlighted during a
practical session that the examples did not match that produced by Thonky’s QR Generator
(https://www.thonky.com/qrcode) in any iteration.
Investigating further, we seem to have identified an edge case that is being incorrectly handled by
Segno.
By standard rules (https://www.thonky.com/qr-code-tutorial/data-encoding#add-a-terminator-of-0s-if necessary:~:text=required%20bits%2C%20a-,terminator,-of%20up%20to), a terminator of up to 4 zeros
must be added if the bit string is short of the total number of required bits, and further zeros can be
added to make the bit string a multiple of 8.
By chance, the word `known`, including a 4-bit terminator of zeros, encodes to a bit string of length 56,
exactly a multiple of 8. From here, the encoding should move directly on to alternating padding bytes
and ECC information. However, Segno’s logic is configured incorrectly and always adds 8 zeros if a bit
string with a length of a multiple of 8 is encountered. This additional zero codeword interferes with the
remaining padding and ECC, resulting in a different final pattern that does not cause an error on
reading the QR.
Intermediate (Before Masking) QR of `known`:
This version contains format bits corresponding to Version 1, ECC-L, Mask 0, though Mask 0 has not yet
been applied.
Encoded data/ECC bits:
‘010000000101011010110110111001101111011101110110111000001110110000010001111011000001000111101
1000001000111101100000100011110110000010001111011000001000111101011100100000100100010100101001
110111001101100010001’

发表评论

了解 KJESSAY历史案例 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读