Files
internal-docs/knowledges/pre_requirements.md
2025-12-24 19:31:55 +08:00

1.7 KiB

Required Knowledges for project

Please note: You can always ask LLM for help.

Important: We assume you have understanding of Linux(bash, ssh, etc), Git, and teamwork basics(eg. how to send issues, PR(pull request))

Because of the nature of this project, knowledge requirements are divided into two parts, network and ML/DL.

As year 3+ students, you should at least have good understanding of courses AI foundations, Network security technology and Computer networks.

Here, requirement means you have used that language in a multi-file project which loc(lines of code) > 100

For languages like c/c++, you should have experience on at least one build systems(make, cmake, xmake, etc)

For programming, Python is a must and a low level language(eg.c, c++, rust, zig, etc) will help a lot.

So the minimum requirement for programming is: Python + a GC language other than Python(eg.JS/TS, Java, GO, C#, Lua etc)

Optional: low level language, experience on network programming

Network

  1. OSI 7 layer model: You should know:
  • major protocols from L2 to L4, including packet schema, routing, De/construction.

  • Connection definition/tracing. Eg. "how to trace a TCP/UDP connection"

  1. Behaviors and common Algos: You should know:
  • Boardcast mechanism

  • Common routing algos

  • send/send_to, recv/recv_from or their equivalents on modern OS kernel

  1. Security: You should know:
  • Common behaviors of firewall

  • Few packets attacks(like tcp rst, replay, etc)

ML/DL

WIP(Work in Process)

To be finished by Mingzhe Yang and Hongyu Yan

Take a glance on GAN and Diffusion.