Fundamentals of Communications and Networking