辅导CSE205留学生、讲解Python
- 首页 >> Python编程CSE205 Introduction to Networking Project 1
1
CSE205 Introduction to Networking
Project 1
Large file transmission
Contribution to Overall Marks 10%
Submission Deadline Fri. 25th Oct. 2019, 23:59
How the work should be submitted?
• SOFT COPY ONLY!
• You must submit your work through ICE so that markers can run your codes during
marking.
• Make sure your name (Last name SURNAME, eg. San ZHANG) and your student
ID on the cover page of your report.
Project requirements
This project aims at using some basic concepts of Python programming and network
programming using Python (socket) to achieve a practical application. In the daily work
and study, large file transmission is important and frequently used. Generally, we use
QQ or Apply Airdrop to delivery very large files. I am sure you are interested in what
happened inside. Let’s try to develop our own large file transmission application!
First of all, you are encouraged to exploit UDP for this task as it is simple, fast and
straightforward.
There are some other requirements and challenges:
• A pair of apps including sender and receiver should be developed;
• The transmitted file size should be over 100 MB;
• Only os, socket, struct, hashlib, math, tqdm modules can be used for this project;
• File check should be required after transmission;
• You should define the file transmission protocol;
• You can discuss and make a shared protocol between your classmates. However,
DO NOT copy codes directly. If you select to use a shared protocol, please indicate
who are your partners. The codes using the same protocol will be tested together.
OR, you can define a private protocol only for you. As one of the most important
spirit of networking is sharing, you are encouraged to make a shared protocol. But,
please REMEMBER, this project is an individual task, only the protocol can be
shared;
• You can try any function you want to enhance your app (optional).
CSE205 Introduction to Networking Project 1
2
What should be submitted?
• A development report (no more than 8 pages, single column, PDF format)
including:
- Introduction: project requirement (in your own language), background,
literature review (try to find some papers or development reports of similar
apps), what you did…
- Methodology: proposed ideas, protocols (using FSM or mind map), program
flow chats
- Implementation: steps of implementation, what difficulties you met and how
to solve them.
- Testing and results: testing plan and testing results (screenshot, curves…)
- Conclusion: what you did? Do you have a future plan to improve it?
- Reference [IEEE format]
• A pair of Python codes;
• Please compress the report and codes to a ZIP file (not rar, not Kuaiya and not any
other formats please), the file name should be:
CSE205_P1_Last name_SURNAME.zip (eg. CSE205_P1_San_ZHANG.zip).
• You are encouraged to use LaTeX to finish your report. The template is
https://github.com/feimax/latex_template_for_xjtlu_eee . If you are still using MS
word, please refer to the PDF file in the LaTeX template.