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. To begin, students will get a fundamental overview of key networking concepts such as IP addresses, port addresses, TCP and UDP communication, LAN, WAN, and more.
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. To begin, many of our projects will focus on "chatting" with other computers with the end goal of building a fully functioning AOL style chat room using the socket, threading, json, and Tkinter libraries!
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.
Still not sure the course is for you? Head on over to my Udemy page to see more about the course, course reviews, and free preview videos.