Rouse Company Foundation Student Services Building

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.

Credits

2

Prerequisite

CMSY 156

Hours Weekly

2

Course Objectives

  1. Demonstrate an understanding of Python network programming concepts and techniques.
  2. Implement Python code to connect network and become familiar with socket programming.
  3. Demonstrate the ability to create tests and debug Python code.
  4. Examine regular expressions in Python, as well as map, filter, and lambda functions.
  5. Integrate Python libraries, especially internet data handling, with emphasis on library modules used to process common internet data formats such as HTML, XML, and JSON.

Course Objectives

  1. Demonstrate an understanding of Python network programming concepts and techniques.

    Learning Activity Artifact

    • Other (please fill out box below)
    • Project

    Procedure for Assessing Student Learning

    • Other (please fill out box below)
    • Programming Project

    Program Goal(s)

    Degree: Cybersecurity - A.A. Degree (Transfer)

    Identify appropriate network security tools and technologies to establish and configure a secure computer network.

  2. Implement Python code to connect network and become familiar with socket programming.

    Learning Activity Artifact

    • Other (please fill out box below)
    • Project

    Procedure for Assessing Student Learning

    • Other (please fill out box below)
    • Programming Project

    Program Goal(s)

    Degree: Cybersecurity - A.A. Degree (Transfer)

    Identify appropriate network security tools and technologies to establish and configure a secure computer network.

  3. Demonstrate the ability to create tests and debug Python code.

    Learning Activity Artifact

    • Other (please fill out box below)
    • Project

    Procedure for Assessing Student Learning

    • Other (please fill out box below)
    • Programming Project

    Program Goal(s)

    Degree: Cyber Forensics Technology - A.A. Degree (Transfer)

    Demonstrate the ability to install, configure, and troubleshoot and apply security configurations to various network devices.

  4. Examine regular expressions in Python, as well as map, filter, and lambda functions.

    Learning Activity Artifact

    • Other (please fill out box below)
    • Project

    Procedure for Assessing Student Learning

    • Other (please fill out box below)
    • Programming Project

    Program Goal(s)

    Degree: Cybersecurity - A.A. Degree (Transfer)

    Utilize software tools, devices, and procedures to determine if current systems meet the security policy requirements and problem-solve network vulnerabilities and cyber-attacks to harden network infrastructure.

  5. Integrate Python libraries, especially internet data handling, with emphasis on library modules used to process common internet data formats such as HTML, XML, and JSON.

    This objective is a course Goal Only

    Learning Activity Artifact

    • Other (please fill out box below)
    • Project

    Procedure for Assessing Student Learning

    • Other (please fill out box below)
    • Programming Project