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