A Redesigned Undergraduate Data Communication and Networking Course Incorporating Theory and Practice