0% found this document useful (0 votes)
312 views11 pages

Grokking Computer Networking For Software Engineers - Learn Interactively

This document is an overview of an interactive online course about computer networking for software engineers. The course contains 115 lessons across 10 sections that cover topics like the OSI model, TCP/IP, sockets, routing, and more. It aims to help software engineers understand networking concepts needed to build applications that communicate over the internet or with remote servers. The course includes assessments, quizzes, and explanations presented through 480 illustrations.

Uploaded by

Vibhor Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
312 views11 pages

Grokking Computer Networking For Software Engineers - Learn Interactively

This document is an overview of an interactive online course about computer networking for software engineers. The course contains 115 lessons across 10 sections that cover topics like the OSI model, TCP/IP, sockets, routing, and more. It aims to help software engineers understand networking concepts needed to build applications that communicate over the internet or with remote servers. The course includes assessments, quizzes, and explanations presented through 480 illustrations.

Uploaded by

Vibhor Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

INTERACTIVE COURSE

Grokking Computer Networking for Software


Engineers
Beginner 115 Lessons 20h Certificate of Completion

Start Learning

This course includes:

1 Assessment 31 Playgrounds 83 Quizzes 480 Illustrations

Course Overview
The way applications are developed today requires software engineers to have a firm
understanding of client-server architecture and networking. If you’re planning to write web
applications, or apps that communicate with a remote server, then networking is an
essenti... Show More

Course Content Collapse All Sections

1 Getting Started
2 Lessons

Course Learning Outcomes

https://www.educative.io/courses/grokking-computer-networking 1/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

Learning Instruments

2 Getting to Know the Internet


4 Lessons

What is the Internet?

A Quick History of The Internet

Internet Standards Documents

Communication Over the Internet

3 Access Networks
4 Lessons

The Edge of The Internet: End Systems

What Are Access Networks?

Types of Access Networks: DSL

Types of Access Networks: Cable, FTTH, Dial-Up, and Satellite

4 Types of Computer Networks


4 Lessons

Types by Physical Medium: Guided Physical Media

Types by Physical Medium: Unguided Physical Media

Types by Geographical Distance

Types by Topology

5 Network Infrastructure: The OSI Model


3 Lessons

Layered Architectures & Protocol Stacks

The Open Systems Interconnection (OSI) Model

https://www.educative.io/courses/grokking-computer-networking 2/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

The TCP/IP Model

6 The Application Layer


20 Lessons

What Is the Application Layer?

Network Application Architectures

P2P vs. Client-Server

How Processes Communicate

HTTP: The Basics

HTTP: Request Messages

Exercise: Looking at a Real HTTP Request

HTTP: Response Messages

Exercise: Looking at a Real HTTP Response

Cookies

Exercise: View and Manage Your Cookies

Email: SMTP

Exercise: Checking a Domain’s Mail Server with nslookup

Email: POP & IMAP

Email: Message Format

DNS: Introduction

Exercise: Finding Name Servers

DNS: Records and Messages

Exercise: Looking At DNS Response Messages and Resource Records

BitTorrent

Hide lessons

https://www.educative.io/courses/grokking-computer-networking 3/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

7 The Transport Layer


25 Lessons

What Is the Transport Layer?

Multiplexing and Demultiplexing

Multiplexing & Demultiplexing in UDP

Introduction to Congestion Control

More on Principles of Congestion Control

Principles of Reliable Data Transfer

Reliable Data Transfer: Sliding Window

Reliable Data Transfer: Go-back-n

The User Datagram Protocol

UDP Checksum Calculation & Why UDP?

Exercise: Capturing UDP Packets

The Transmission Control Protocol

Key Features of the Transmission Control Protocol

TCP Segment Header

TCP Header Flags

TCP Headers: Window Size, Checksum & More

TCP Connection Establishment: Three-way Handshake

Other TCP Connection Establishment Methods

When Connection Establishment Fails: Syn Floods & Retransmission

TCP Connection Release

Efficient data transmission with TCP

TCP Window Scaling

Exercise: Measuring RTT with Ping

TCP Congestion Control: AIMD

https://www.educative.io/courses/grokking-computer-networking 4/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

TCP Congestion Control: Slow Start

Hide lessons

8 An Introduction to Socket Programming with Python


9 Lessons

The Basics

Setting up a UDP Socket

Writing a UDP Server

Writing a UDP Client Program

Running The UDP Server & Client Together

Improvements to UDP Programs: Avoiding Arbitrary Servers

Project: Write a UDP Chat App!

Solution: Write a UDP Chat App!

A TCP Client-Server Program

Hide lessons

9 Network Layer
27 Lessons

What Is the Network Layer?

Organization of the Network layer

The Control Plane: Static & Dynamic Routing

The Control Plane: Distance Vector - Routing Information Protocol

Programming Challenge: Routing Information Protocol

Solution Review: Routing Information Protocol

The Control Plane: Link State Routing

The Control Plane: Route Calculation - Dijkstra's

https://www.educative.io/courses/grokking-computer-networking 5/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

Programming Challenge: Implementing Dijkstra's

Solution Review: Implementing Dijkstra's

The Internet Protocol: Introduction to IPV4

The Internet Protocol: IPV4 Address Allocation

The Internet Protocol: IPV4 Packets

The Internet Protocol: IPV4 Packet Fragmentation & Reassembly

The Internet Control Message Protocol (ICMP)

Exercise: Sending ICMP Messages With Ping & Traceroute

Address Resolution Protocol (ARP)

Dynamic Host Configuration Protocol (DHCP)

IPv4 in Practice: The Life of a Packet

Why IPv6?

IPv6 Features

Middleboxes: Firewalls

Middleboxes: NATs

Introduction to Routing in IP: Intradomain & Interdomain

Intradomain Routing: OSPF

Interdomain Routing: Border Gateway Protocol

Border Gateway Protocol: Determining the Best Routes

Hide lessons

10 Link Layer
15 Lessons

What is The Data Link Layer?

Principles of The Data Link Layer: The Framing Problem

Principles of The Data Link Layer: Error Detection

https://www.educative.io/courses/grokking-computer-networking 6/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

Medium Access Control: Static Allocation

Medium Access Control: Stochastic Methods - ALOHA

Medium Access Control: Stochastic Methods - CSMA

Medium Access Control: Stochastic Methods - CSMA/CD

Medium Access Control: Stochastic Methods - Optimizing CSMA/CD

Introduction to Ethernet

Ethernet Frame Format

Physical Layers for Ethernet

Ethernet Switches

Programming Challenge: Spanning Tree Protocol

Solution Review: Spanning Tree Protocol

Virtual LANs

Hide lessons

11 Conclusion
2 Lessons

Networks Career Paths

Final Thoughts

Computer Networks Exam


Assessment

COURSE AUTHOR Show License and Attributions

Educative

https://www.educative.io/courses/grokking-computer-networking 7/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

How You'll Learn

Hands-on Coding Environments 2x Faster Than Videos


You don’t get better at swimming by watch‐ Videos are holding you back. The average video
ing others. Coding is no different. Practice as tutorial is spoken at 150 words per minute, while
you learn with live code environments inside you can read at 250. That‘s why our courses are
your browser. text-based.

No Set-up Required Progress You Can Show


Start learning immediately instead of fiddling Built-in assessments let you test your skills.
with SDKs and IDEs. It‘s all on the cloud. Completion certificates let you show them off.

Put Your Knowledge to Practice

Working With Containerlab


Intermediate 1h 10 Tasks

Recommended Courses

B E F O R E S TA R T I N G T H I S C O U R S E

Web Application and Software Architecture 101


Beginner 10h

Cracking the Google Associate Cloud Engineer Certification


Beginner 4h

A Guide to Vagrant and Virtual Machines


Beginner 30min

https://www.educative.io/courses/grokking-computer-networking 8/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

AFTER FINISHING THIS COURSE

Simplifying JavaScript: A Handy Guide for Software Engineers


Beginner 10h

The Good Parts of AWS: Cutting Through the Clutter


Beginner 6h

Information Representation in Computer Systems


Beginner 3h

T R U S T E D B Y 2 M I L L I O N D E V E L O P E R S W O R K I N G AT C O M PA N I E S
INCLUDING

Don’t take our word for it.


See what our developers have to say.

You guys are the gold standard of I've tried probably 5-7 different sites
crash-courses... Narrow enough that and Educative is easily the best. It
it doesn't need years of study or a perfectly blends explanation with
full blown book to get the gist, but interactivity ... On other sites like

https://www.educative.io/courses/grokking-computer-networking 9/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

broad enough that an afternoon of Codecademy, I often feel like they're


Googling doesn't cut it. asking me to do such a specific task
to build such a specific product that if
I were to move on to building my
own from scratch, I'd be lost. I don't
feel like that at all with Educative.
Bravo!”

Carlos Matias La Borde Eric Downs

Software Developer Musician/Entrepeneur

Learn in-demand tech skills in half the time

PRODUCTS PRICING LEGAL

Learning For Individuals Privacy Policy

CloudLabs New Free Trial Cookie Policy

Onboarding Terms of Service

Skill Assessments Business Terms of


Service
Projects
Data Processing
Agreement

CONTRIBUTE RESOURCES ABOUT US

Become an Author Blog Our Team

https://www.educative.io/courses/grokking-computer-networking 10/11
08/10/2023, 15:49 Grokking Computer Networking for Software Engineers - Learn Interactively

Become an Affiliate Sessions Careers Hiring

Answers Frequently Asked


Questions

Contact Us

Press

MORE

GitHub Students
Scholarship

Course Catalog

Early Access Courses

Earn Referral Credits

Copyright ©2023 Educative, Inc. All rights reserved.

https://www.educative.io/courses/grokking-computer-networking 11/11

You might also like