Course Learning Outcomes

Welcome to the Course

Welcome to Network Fundamentals! In this course, you’ll get an in-depth overview of the key concepts of computer networks. Here are a few key components that will help you get the most out of this course!

What Will I Be Able to Do by the End of the Course?

  • Develop socket programs in Python.
  • Trace networks metadata through the command line.
  • Learn about tools that help debug network problems.
  • Understand how applications such as browsers and mobile apps work from the perspective of the network.
  • View and understand browser interactions with websites.

The Components

An Introduction to the Basics

The course starts off by introducing some key concepts and networks lingo that will be used throughout the rest of the course.

The Layered Architecture

Computer networks are organized into conceptual layers. This makes learning concepts easier and is a standard teaching method in most books and courses.

You will learn about each layer in a separate chapter. Each chapter will start off by laying down the theoretical foundations and then will give some hands-on experience with bash shell or python playgrounds that you can run commands in.

Socket Programming Basics

A chapter of this course teaches python socket programming through basic server and client programs in python. It builds up to the programs line-by-line; each line is explained in detail before the next one is added on.


Let’s dive right in!