Syllabus - Advance Python Programming (CY 406)


CSE-Cyber Security/Cyber Security

Advance Python Programming (CY 406)

IV-Semester

UNIT 1

Review of python

Basic of python, Program structure, Data Types, Operators, control flow, function, module and package, classes and objects.

UNIT 2

Socket Programming Client-side programming using python

TCP and UDP based clients and servers. A look at high-level library modules that allow Python to connect to standard Internet and web-related services (e.g., HTTP, FTP, XML-RPC, etc.). urllib2 module: Python to interact with web servers.

UNIT 3

Internet Data Handling

Process common Internet data formats such as HTML, XML, and JSON. Provides detailed coverage of the ElementTree interface for parsing XML.

UNIT 4

Web Programming

Basics of web programming in Python. CGI scripting, the WSGI interface, and implementing custom HTTP servers.

UNIT 5

Advanced Networking

Topics related to more advanced aspects of network programming. Covers modules for writing custom TCP/UDP servers, concurrency, SSL, and an introduction to message passing.

UNIT 6

Thread Programming

Overview of concurrent programming with threads and advanced Python programming idioms, The threading library, Thread debugging ,Thread synchronization, Threads and queues, Python interpreter execution model and the global interpreter lock (GIL) , logging module, Context managers

UNIT 7

Message Passing and Data Serialization

Interprocess communication, message passing, and data serialization. :pickle and ctypes. Multiprocessing: process objects, pipes, queues, shared memory objects, and process pools.

UNIT 8

Distributed Computing

Core programming concepts such as actors, client/server computing, REST, remote procedure call, and distributed objects. Includes coverage of XML-RPC and use of the multiprocessing library to implement distributed objects.

UNIT 9

Advanced I/O handling

An examination of different I/O handling models including blocking I/O, nonblocking I/O, polling, signal-driven I/O, and asynchronous I/O.

Unit -10

Generators and Coroutines

A look at how to use generators and coroutines to implement a form of cooperative multitasking :tasklets, greenlets, coroutines, etc.

Practicals

Reference Books

  • Martin C. Brown, “Python: The Complete Reference”, McGraw-Hill publication, 2001

  • SakisKasampalisQuan Nguyen Dr Gabriele Lanaro Dr. Gabriele Lanaro, “Advanced Python Programming: Build high performance, concurrent, and multi-threaded apps with Python”, Packt publication, 2019

  • Micha Gorelick&lanOzsvaid, “High Performance Python”, O’Reilly publication ,2020