Grokking Computer Networking for Software Engineers

This course introduces computer networks to software engineers, discussing the layers and related protocols in detail, useful for writing client-server programs

Beginner

115 Lessons

20h

Certificate of Completion

This course introduces computer networks to software engineers, discussing the layers and related protocols in detail, useful for writing client-server programs

AI-POWERED

Code Feedback
Explanations
Prompt

AI-POWERED

Code Feedback
Explanations

This course includes

24 AI Prompts
19 AI Feedbacks
1 Assessment
31 Playgrounds
83 Quizzes

This course includes

24 AI Prompts
19 AI Feedbacks
1 Assessment
31 Playgrounds
83 Quizzes

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 essential skill. With this in mind, it’s clear that what you do as a software engineer will be deeply rooted in networking. This course will teach you the fundamentals of networks, socket programming in Python, command-line tools and the main protocols...Show More

TAKEAWAY SKILLS

Computer Networking

Prepare For Interview

Internet/access Networks

Course Content

1.

Getting Started

This chapter introduces the key topics covered in this course and the learning instruments used throughout the course like code widgets, fun facts, and quizzes
2.

Getting to Know the Internet

The chapter introduces the internet and discusses its history, standards, and various communication protocols used to effectively communicate over the internet
3.

Access Networks

This chapter introduces the end system, the access network, and their differences, along with the different type of access networks available for the end users
4.

Types of Computer Networks

This chapter differentiates the network by physical medium, geographical distance, and topology and discusses the pros and cons of each type of computer network
5.

Network Infrastructure: The OSI Model

This chapter introduces the layered architecture and protocol stack, the layers in the OSI and TCP/IP models, and the differences between these two models
6.

The Application Layer

20 Lessons

This chapter introduces the application layer, network application architectures, DNS, and application layer protocols, such as HTTP, SMTP, POP, and IMAP
7.

The Transport Layer

25 Lessons

This chapter introduces the transport layer, the transport layer protocols, TCP and UDP, and the details about how these protocols effectively transport packets
8.

An Introduction to Socket Programming with Python

9 Lessons

The chapter introduces socket programming in Python, covering both client and server-side, and leading to a UDP chat application and TCP client-server program
9.

Network Layer

27 Lessons

The chapter introduces the network layer, routing mechanism, and network protocols such as IPv4, IPv6, ICMP, ARP, and DHCP used for efficient data transmission
10.

Link Layer

15 Lessons

This chapter introduces the data link layer and discusses its key concepts, such as error detection, static allocation, ALOHA, CSMA, and physical formats
11.

Conclusion

2 Lessons

The course wraps up with insights on computer networking career paths for software engineers and invites participant feedback to enhance learning experiences

Computer Networks Exam

Assessment

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor