• raspberry pi
  • National Centre for Computing Education logo

Networking with Python: Socket Programming for Communication

Discover how you can create networked applications in Python by using sockets. Supported by Google.

5,659 enrolled on this course

Networking with Python: Socket Programming for Communication
The CPD Certification Service

This course has been certified by the CPD Certification Service as conforming to continuing professional development principles. Find out more.

Build your practical network application skills and understanding

On this course from the Raspberry Pi Foundation, you’ll learn how to create programs that communicate over the internet.

You’ll explore the principles that industry professionals use when programming for networks, and learn how sockets are used to abstract the complexities of the internet.

In the final week, you’ll design and create your own protocol for a networked quiz that you’ll program using Python. This final challenge will help you to consolidate and apply your learning from the course.

Download video: standard or HD

Skip to 0 minutes and 2 seconds How can you communicate using the power of the internet? What is a protocol? How does data travel across a computer network? This free course will teach you how to program sockets using Python, how to transmit different types of data between a client and server and how to create your own protocols. You’ll also take part in practical activities to program a server and client for a quiz game to play over a network. This three week course also contains peer led discussions, trainer interaction, and feedback on your knowledge as you progress. You can learn whenever and wherever you want.

Skip to 0 minutes and 37 seconds So whether you’re a teacher with students of your own or simply want to boost your programming skills, this course will help you design and create network applications. Sign up now rpf.io/sockets.


  • Week 1


    • Introduction to the course

      Find out what you’ll be doing over the next three weeks and meet your course facilitators and fellow learners.

    • Networks and sockets

      Welcome to the world of network programming. You will investigate the layered model and client/server relationships and be introduced to sockets.

    • Sockets and Python

      How can you create and use sockets in your Python programs?

    • Handling two-way messaging

      Use Python and sockets to create a two-way messaging system with which you can send messages across the internet.

    • End of week one

      Review your learning from the week.

  • Week 2

    Dealing with lossy communications

    • Unreliable and reliable communication

      Meet a new protocol — UDP — and find out the differences between unreliable and reliable communication.

    • Python and UDP

      Unreliable communication can be used to send a lot of data very quickly. Create a UDP socket in Python and discover how they work.

    • Testing and simulating errors

      Proper testing is important to iron out the bugs in your programs. Testing techniques such as simulation can help you make sure your code is as bug-free as possible.

    • End of week two

      Test your understanding of network principles and review the week.

  • Week 3

    Designing and coding protocols

    • Welcome to week three

      Find out what you’ll learn in this final week, and take a moment to reflect on your learning so far.

    • Protocols

      In order to program networked applications, you need to understand the rules of networks - protocols! Learn how protocols work and how to create your own.

    • Design a networked quiz

      Start work on an amazing networked quiz machine to show off your new skills. The first step is to design the machine and the protocol it will use.

    • Coding your quiz

      Take the plans and designs you have made for your networked quiz and turn them into Python code.

    • Quiz royale

      Your quiz has taken shape, and it is now time to add your own touches to the project. You are going to make the quiz your own, playing the part of quiz master.

    • End of the course

      Wrap up the course and see where you can go next.

Who is this accredited by?

The CPD Certification Service
The CPD Certification Service:

The CPD Certification Service was established in 1996 and is the leading independent CPD accreditation institution operating across industry sectors to complement the CPD policies of professional and academic bodies.

When would you like to start?

Start straight away and learn at your own pace. If the course hasn’t started yet you’ll see the future date listed below.

Learning on this course

If you'd like to take part while our educators are leading the course, they'll be joining the discussions, in the comments, between these dates:

  • 6 Dec 2021 - 24 Dec 2021

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Describe the layers of the TCP/IP model
  • Produce Python programs using sockets
  • Demonstrate a knowledge of the life cycle of a socket
  • Compare reliable and unreliable communication
  • Develop a protocol of your own
  • Produce programs that use both TCP and UDP
  • Investigate the causes of network errors
  • Describe methods of correcting errors

Who is the course for?

This course is designed for teachers who deliver lessons on network principles in the classroom, at GCSE level or equivalent.

To take part in this course, you will need experience in the following areas of programming:

  • Using functions, including parameters and returns
  • Using multiple data types
  • Debugging Python programs

It may also be beneficial to have some experience with classes and methods.

Who will you learn with?

Hey, my name is Mac. I am a Learning Manager at The Raspberry Pi Foundation. I love teaching and digital making, especially when I get to do them both at the same time.

I love technology and creating projects and learning resources for Raspberry Pi. As a child I wanted to be either a computer scientist, astronaut or snowboard instructor.

Who developed the course?

Raspberry Pi Foundation

The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world.

National Centre for Computing Education

This course is part of our professional development teacher programme for the National Centre for Computing Education (NCCE). Our nationally-recognised certificates cater for all levels of teaching.

Funded by the Department for Education and supporting partners, we aim to transform the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

Endorsers and supporters

supported by

Google logo

Ways to learn

Upgrade this course


Choose the best way to learn for you!



Billed at $189.99 for a year

Learners who upgrade are 5x as likely to complete the course!*Endless possibilities!
Access to this courseticktick
Access to ALL eligible short courses with additional benefits, for a yearcrosstick
Discuss your learning in commentsticktick
Certificate when you're eligiblePrinted and digitalDigital only
Join and Upgrade

Ways to learn

Upgrade this course for extra benefits, or buy Unlimited to access this course and hundreds of other short courses for a year. Or, join this course with free basic access, limited to 5 weeks (excludes certificates).

Upgrade this course


Learners who upgrade are 5x as likely to complete the course!*

  • Access to this course
  • Discuss your learning in comments
  • Printed and digital certificate when you’re eligible



Billed at $189.99 for a year

Endless possibilities!

  • Access to this course
  • Access to ALL eligible short courses with additional benefits, for a year
  • Discuss your learning in comments
  • Digital certificate when you're eligible

Basic access


Try before you buy

  • Limited access to course content for 5 weeks

Find out more about certificates, Upgrades or Unlimited.

Sale price available until 6 December 2021 at 23:59 (UTC). T&Cs apply.

Join this course for free with basic access. Access to this course only limited to 5 weeks. Excludes certificates.

*FutureLearn considers a short course complete when a learner has engaged with 90% of the content. For enrolments to short courses with the possibility of Upgrade in the year of 2020, enrolments with an Upgrade are completed 5.31 times as often as enrolments with basic access

*FutureLearn considers a short course complete when a learner has engaged with 90% of the content. For enrolments to short courses with the possibility of Upgrade in the year of 2020, enrolments with an Upgrade are completed 5.31 times as often as enrolments with basic access

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps, but you can complete them as quickly or slowly as you like
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

Do you know someone who'd love this course? Tell them about it...

You can use the hashtag #RPiLearn to talk about this course on social media.