Prerequisites for learning ns-3
Skills in certain programming languages and tools might be beneficial if you are planning to work with ns-3. A middle level understanding of C++ is the only essential requirement. A basic knowledge of socket programming with C++ is necessary for understanding ns-3, which I will cover in this series. Python based scripting is also supported in ns-3, so knowing the basics of Python will be a bonus. But remember, Python scripting is not essential in ns-3, so the lack of Python skills is not a barrier to learning ns-3. Two other tools used in conjunction with ns-3 are Doxygen and Waf. The former is a documentation generator tool. Knowing the basics of this tool will help you decode the ns-3 source files more easily. Waf is the build automation tool used by ns-3. A basic understanding of Waf is required for compiling ns-3 modules. I will discuss both these tools in the next issue. So, essentially, you can start this journey through ns-3 with me if you have middle level C++ skills, and a lot of patience.