Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Raspberry Pi Foundation

Networking with Python: Socket Programming for Communication

Raspberry Pi Foundation via FutureLearn

This course may be unavailable.

Overview

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.

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.

Syllabus

  • Sockets
    • Introduction to the course
    • Networks and sockets
    • Sockets and Python
    • Handling two-way messaging
    • End of week one
  • Dealing with lossy communications
    • Unreliable and reliable communication
    • Python and UDP
    • Testing and simulating errors
    • End of week two
  • Designing and coding protocols
    • Welcome to week three
    • Protocols
    • Design a networked quiz
    • Coding your quiz
    • Quiz royale
    • End of the course

Taught by

Martin O'Hanlon

Reviews

4.7 rating at FutureLearn based on 28 ratings

Start your review of Networking with Python: Socket Programming for Communication

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.