Networking with Python: Socket Programming for Communication (FutureLearn)

Networking with Python: Socket Programming for Communication (FutureLearn)

Discover how you can create networked applications in Python by using sockets. Supported by Google. 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.

Class Deals by MOOC List - Click here and see FutureLearn's Active Discounts, Deals, and Promo Codes.

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.

Syllabus

Week 1: Sockets
Week 2: Dealing with lossy communications
Week 3: Designing and coding protocols

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.

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

Related Courses

Data Visualisation with Python: Bokeh and Advanced Layouts (FutureLearn) FutureLearn
FutureLearn

Data Visualisation with Python: Bokeh and Advanced Layouts (FutureLearn)

Elevate your data visualisation skills and better communicate your data insights with the data visualisation package, Bokeh. Learn how to use Bokeh in Python. On the first week of the course, you’ll explore the key functions of Bokeh and how it can be used to create interactive visualisations and dashboards.

May 30th 2022
4 Weeks
Software Development: Understanding Python (FutureLearn) FutureLearn
FutureLearn

Software Development: Understanding Python (FutureLearn)

Get an introduction to software development and learn the basics of Python. If you want to start a career in software development, it’s important to build your programming skills. This course focuses on one of the most popular programming languages – Python – which is widely used in scientific and numeric computing.

Self Paced
4 Weeks
Data Visualisation with Python: Seaborn and Scatter Plots (FutureLearn) FutureLearn
FutureLearn

Data Visualisation with Python: Seaborn and Scatter Plots (FutureLearn)

Discover how to create visualisations and show understanding of data visualisation theory with the Python programming language. Explore the best data visualisation tools to become a programming expert. This course will teach you how to bring big data sets to life through data visualisation using the powerful Python programming language.

May 30th 2022
4 Weeks
Programming Pedagogy in Secondary Schools: Inspiring Computing Teaching (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Programming Pedagogy in Secondary Schools: Inspiring Computing Teaching (FutureLearn)

Examine a range of pedagogical approaches suitable for teaching computing in Key Stage 3 (Grade 6–8 in the USA). Transform your teaching by developing your pedagogical approach. In the first two weeks of this course, you’ll be introduced to a range of pedagogical approaches suitable for Key Stage 3. You’ll look at a range of pedagogies aimed at developing your students’ computational thinking skills, from unplugged approaches to PRIMM, and more. You’ll also investigate worked examples and targeted tasks such as Parson’s Problems.

Mar 6th 2023
3 Weeks
Intermediate Python (FutureLearn) FutureLearn
University of California, Irvine

Intermediate Python (FutureLearn)

Develop your programming skills and learn the dynamic semantics of Python as an object-oriented programming language. Build your Python programming skills. On this six-week course from the University of California, Irvine, you’ll gain basic computer science knowledge to help you become more efficient with Python programming, focusing on the data-science applications of programming concepts.

Nov 29th 2021
5-12 Weeks
Teaching Computing Systems and Networks to 5- to 11-year-olds (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Teaching Computing Systems and Networks to 5- to 11-year-olds (FutureLearn)

Increase your knowledge of "computing systems & networks" and plan how you will teach young children about this topic. Help young children understand the Computing Systems and Networks around them. On this three-week course you’ll explore how you can build up young learners’ knowledge in an age-appropriate manner. You’ll start by thinking about how you can to help your learners recognise information technology - and how computers process an input to give an output.

Jan 2nd 2023
3 Weeks
Introduction to Programming with Scratch (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Introduction to Programming with Scratch (FutureLearn)

Discover the fundamentals of programming using the block-based programming language Scratch. Learn how to program your own animations and games. Scratch is a powerful, visual programming language that provides a great introduction to the world of programming. By snapping blocks together, you can create amazing animations and games. Over this four-week course, you’ll learn how to navigate the Scratch programming environment, create your own programs, and share your creations.

Feb 14th 2022
4 Weeks
Introduction to VR Programming, Design, and Unity (FutureLearn) FutureLearn
VR Voom

Introduction to VR Programming, Design, and Unity (FutureLearn)

Step into the world of VR game development, learn the basics of programming language, and even create your own 2D game. Learn how to design, program, and create your very own VR games. The gaming industry has grown exponentially, outperforming both movies and sports combined in 2020. And VR is the newest, exciting innovation taking the industry by storm.

Jun 27th 2022
5-12 Weeks
Scratch to Python: Moving from Block- to Text-based Programming (FutureLearn) FutureLearn
Raspberry Pi Foundation

Scratch to Python: Moving from Block- to Text-based Programming (FutureLearn)

Learn how to apply the thinking and programming skills you've learnt in Scratch to text-based programming languages like Python. Discover how you can transition from block to text-based programming. Block-based programming languages like Scratch make it simple to learn and teach programming. But once you and your students have mastered it, it’s time to move on to a text-based programming language such as Python. This online course will show you how.

Mar 6th 2023
4 Weeks
Start a CoderDojo (FutureLearn) FutureLearn
Raspberry Pi Foundation

Start a CoderDojo (FutureLearn)

Get support and advice on how to grow your confidence in coding and start a CoderDojo for young people in your area. In today’s world, technology is everywhere, so it’s never been more important to know how to code. It’s easier to learn these skills early on in life, which is why coding is a great subject for young people to learn.

May 30th 2022
3 Weeks
Teaching Physical Computing to 5-11 year olds (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Teaching Physical Computing to 5-11 year olds (FutureLearn)

Teach your young learners how to create electronic circuits, then learn to control them using block-based programming languages. Learn how to create physical computing projects using a Crumble or micro:bit. Physical computing is the process of designing, building, and programming systems that use physical components such as buttons, lights, and motors.

Mar 6th 2023
3 Weeks