• 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.

6,818 enrolled on this course

A PC character and a server character connected by a cable. They both are giving a "thumbs up". They are surrounded by items representing the course, including sockets, devices, messages and a pixellated cartoon of the Mona Lisa.
  • Duration

    3 weeks
  • Weekly study

    2 hours
  • Accreditation

    AvailableMore info
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.

What topics will you cover?

  • The lifecycle and use of sockets in network programming
  • Popular networking models; the TCP/IP layers and client-server programs
  • The use of both TCP and UDP in Python programs
  • What protocols are, and how they are used.
  • How to detect and correct errors in transmission
  • Methods for testing applications

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.

Learning on this course

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 the National Centre for Computing Education (NCCE). Funded by the Department for Education and partners, we aim to change the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

If you are a teacher in England you can get free upgraded access to this course, and use it towards NCCE certification. To do this, you must join the course through the Teach Computing website

Endorsers and supporters

supported by

Google logo

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • 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.