Abstract:Incorporating advanced programming concepts into an introductory programming course can provide motivation, yet care must be taken to avoid overwhelming students. We describe our experiences teaching network programming in a CS1 course using Python. The simplicity of the built-in libraries allows a fair amount of networking to be introduced in a week-long module of the course. In this short time, students write both multi-threaded clients and servers.