219162 Python特洛伊木馬程式設計

Design Trojan Horses with Python

  1. Course objectives: 本課程介紹傳遞檔案功能的技巧,以及竊取密碼的鍵盤記錄功能。整個木馬以Python寫成,適合已學習並對Python具有基本寫作能力的學生。
  2. Instructor office hours: Tuesday 19:10-21:00, TC-208
  3. Teaching approach: Lectures & Hands-On Exercises
  4. Grading Criteria: Homework (30%), Midterm Exam (30), Term Project (40%)
  5. Textbook: 北極星, "特洛伊木馬病毒程式設計:使用Python", 博碩出版, 2018-12-26.
  6. References:
    1. John M. Zelle, "Python Programming: An Introduction to Computer Science", Franklin Beedle & Associates Inc.; 3rd Edition (Aug 2016). ISBN:978-1-59028-2-755.
    2. Brandon Rhodes and John Goerzen, "Foundations of Python Network Programming", 3rd Edition, Apress 2014-10-20. ISBN-13: 978-1430258544
  7. Teaching Assistant tasks: Homework Evaluation, Presentation Rehearsals, Hands-On Assistance
  8. Remarks: Fundamental background of Python programming will be assumed
  9. 本課程可達成本系教育目標:
    1. 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
  10. 本課程可培養學生之核心能力(Core competency)如下列
    1. 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
    2. 具備使用英文閱讀資訊領域技術文件及學術論文的能力
    3. 具備團隊合作及獨立執行資訊工程領域學術研究的能力

Syllabus

  1. 2/20 Introduction
  2. 2/27 彈性放假
  3. 3/5 Sockets
  4. 3/12 Client/Server Model
  5. 3/19 Remote Procedure Call (RPC)
  6. 3/26 Sending Files
  7. 4/2 Protocol Design and Implementation
  8. 4/9 Tagging Files
  9. 4/16 Midterm Exam
  10. 4/23 Exception Handling
  11. 4/30 Scanning Directories
  12. 5/7 Multi-processing & Multi-threading
  13. 5/14 Message Queue
  14. 5/21 Compression and Encryption
  15. 5/28 Automatic File Update
  16. 6/4 Keylogger
  17. 6/11 Final Presentation (1)
  18. 6/18 Final Presentation (2)