CMSY 257 — Advanced Python Programming
This is an advanced course in Python programming where students focus on Python network programming. Python is a programming language used increasingly in industry, scientific research, computer forensics, cybersecurity, scripting, game programming, networking, and web applications. Students will learn how to access the basic socket support in the underlying operating system to implement clients and servers for both connection-oriented and connectionless protocols. Students will also learn the advanced elements of regular expressions in Python, and explore how Python is working with databases, files, Unicode, and text encoding. Students will also learn Python socket module and socket methods. Students will write programs that are testable and maintainable using good programming style and examine how to test and debug Python codes. By the end of the course, students will be familiar with basics of networking: internet architecture, IP addresses, Python TCP connections, ports, and sockets.
Prerequisites: CMSY 156