Skip to content
UdemyPythonPaid courseIntermediate levelCertificate

The Art of Doing: Python Network Applications with Sockets! (Udemy.com)

Create an online multiplayer game, AOL style chat room, and more! Learn the socket, threading, json, Pygame modules!

Created by: Michael Eramo

Last updated August 2022

icon
What you will learn

  • Networking Fundaments such as IP and port addresses, IPV4, TCP, and UDP protocols.
  • How to set up your own home network with static IP addresses and port forwarding so anyone can connect to your programs over the internet.
  • How to use the socket module to create a basic two way chat in the terminal.
  • How to use the threading module to create a basic chat room in the terminal.
  • How to use tkinter module to make a GUI chat room like the old AOL chat rooms.
  • How to use the Json module to create an advanced GUI chat room with and admin window.
  • How to use the Pygame module to make your own online multiplayer game.

How it compares

Against the other 388 rated Udemy courses in Python on CourseDuck:

  • Rating4.8 out of 5higher than 95% of them
  • Reviews139#343 of 389 by number of reviews
  • Length14.5 hourslonger than 65% of them
  • Last updatedAugust 2022earlier than 58% of them

icon
Course Description

Have you ever wanted to build your own online multiplayer game that you and your friends could play?  How about wanting to build your own chat room like the golden AOL chat rooms from the 1990's that you and your friends could "hang out" it.  Want to learn the underlying principles of how programs like these work - how they can communicate and send data back and forth from one computer to the next over the internet?  If the answer is yes, then please consider taking this course!

I know in my own journey with Python and computer science, once I got past the basics...the fundamentals...the whole "this is a for loop.  Can you print the first 100 even numbers?" type exercises, the doors really opened up.  There was only one problem:  the doors opened up to a HUGE space, with very little guidance.  Python is great because you can do so much with it, especially when you start to bring in new modules and libraries that give added functionality.  While there are ample beginner resources out there willing to hold your hand and guide you through the learning, I felt there were significantly less targeting this intermediate audience...The audience that has learned the basics and are now looking for something more...

In this course, I decided to focus my intermediate projects around networking applications; I wanted to write programs that could talk to each other online, both across my local area network and across the internet as a whole.  With this in mind, I asked myself what are some fun and engaging projects students would enjoy learning with and what external modules and libraries should we know to accomplish these projects.   In this course we will complete the following:


  • A two-way terminal based chat introducing the socket module

  • A terminal based chat room introducing the threading module

  • A GUI chat room introducing the Tkinter module

  • How to configure your router to allow communication from an external network

  • An advanced GUI chat room with admin window introducing the json/pickle modules

  • An online multiplayer game introducing the Pygame module


Each project builds on the knowledge gained during the previous projects.  In our culminating project, when we attempt to create our own online multiplayer game, we will be generating IPV4/TCP sockets to connect computers to a server running on a machine with a static IP and port forwarding enabled, creating various threads to run processes concurrently on our machines, we'll use json to serialize python objects such as our game state and game players, and have a full interactive GUI interface using Pygame.

By the end of this course you will have multiple projects you can share with friends or family, have them run a client script from their house, connect to your server script, and show off all you learned. 

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Michael Eramo

Hello, my name is Michael Eramo.  I am a life long learner, a self-taught programmer, and an experienced educator.  I hold official Bachelor's degrees in Music, Education, and Physics, as well as a Masters degree in Mathematics.  I also hold a certificate in Software Development from Microsoft. 

I have years of experience as a high school Physics teacher, Computer Science Teacher, and college Mathematics teacher.  I am part of the New York State Master Teacher Program  a network of more than 800 outstanding public school teachers throughout the state who share a passion for their own STEM learning and for collaborating with colleagues to inspire the next generation of STEM leaders.

I am passionate about learning new things and teaching what I know to those around me in a way that is engaging, meaningful, and with purpose. 

icon
More courses by Michael Eramo

$79.99

$74.99

$10.99

$64.99

icon
More Python courses

$22.99

$17.99

Free

Free

$19.99

Free

icon
Reviews

4.8

139 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Tom Cull on 11/26/2025

The presentation builds well from lesson to lesson. The explanations and exercises are simple but powerful. I was able to quickly extend what I learned to a real project. Clearly, this course was thoughtful constructed but still has a freshness to its flow. Practical and less theoretical as I had hoped. Thank you.

By Hossein Molhem on 1/24/2025

In my oponin, this is greate course and Michael has excellent potential for teaching. I recommend it to everyone. If you are looking to learn more cpmplex concepts, Michael can explain them in an easily understanable way. I really enjoeyed the course "The Art of Doing: Python Network Applications with Sockets".

By Chris Olarti on 6/4/2024

Great to see the progression of how sockets can be utilized from a command line chat, to a gui chat, then creating a game. This looks to be a great template to build other games.

By Perri Reis on 4/5/2024

Another excellent course, the way Michael delivers the classes it not only engaging but it is also informative and practical, I am glad I found his courses.

By Grace Pal on 8/30/2023

Overall, I think this is a really good course. So much so, I just purchased another one with the 40 challenges in python. The only complaint I have is about the MAC-INcompatibility in several projects. I still haven't figured out how to add icons, and still haven't been able to add that border in the output chat area. I know digging is part of programming, but it does get exhausting after a while - especially if after all that digging, I'm still in the hole. For now, I've decided not to get too stuck. To timebox the frustration and circle back if there's enough motivation in the future. I hope someday he could provide more support for the MAC environment. Thanks.

By Ashutosh Daschaudhury on 5/28/2023

This is a very nice and engaging course. Difficult concepts are explained really well so that even a beginner can understand.

By James Chepin on 2/1/2023

Goes beyond networking. Useful GUI and threading information. Projects are designed so they demonstrate all aspects of the material.

By Rich Lewis on 9/17/2022

The Chat Room project is a great way to incorporate sockets, threading, and Tkinter. The code is well-organized; especially the use of classes in the advanced part of the project. This course is exactly what I was looking for to improve my skills in these areas. I would recommend this course for anyone wanting to create client-server applications in Python.

By Jaskaran Singh on 9/13/2022

This course by Michael is outstanding. He builds the foundations in the first few lectures and gradually increases the complexity. I didn't feel the later lectures getting monotonous or such, the content is always engaging! Don't think twice, go for it! Got to learn a lot from the lectures.

By Mehmet Ali Ertörer on 9/6/2022

Amazing course! Very detailed and explains everything thoroughly and clearly. I had background knowledge on TCP/IP model and Subnet Masking but you don't need to have a strong foundation because Micheal explains all the needed material. Even if you are a beginner in Python, you can very well benefit from this course. The only suggestion I would make to Micheal is that he should try to explain some concepts on different Operating Systems, other than that, amazing course. Hope to see Micheal again in the future!

Showing all 10 reviews on CourseDuck

Read all 139 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100