Soft Skill

Getting Started


Before you become a skillful hacker, you must be a well-rounded computer scientist in the first place. Without sufficient foundations, you are not going to go far in hacking.

How to Define "Sufficient"?

You should be able to do every assignment in the following undergraduate level courses:

  1. Programming (C/C++ and Python)

  2. Computer Architecture (CSAPP)

  3. Algorithm (Algorithm Design)

  4. Operating Systems (Computer Systems: Three Easy Pieces)

  5. Computer Networking (Computer Networking: A Top-Down Approach)

  6. Database (Designing Data-Intensive Applications)

  7. Programming Languages (UW Coursera Programming Languages Part A, B, C)

  8. Compilers (The Dragon Book)