This is a graduate course in the design and performance analysis of communication networks. We will introduce technologies related to 5G and 6G wireless networks. We will introduce mathematical techniques for network optimization. They include convex optimization, mixed integer programming, and deep reinforcement learning. We will cover various case studies related to resource allocation algorithm design for wireless networks.