University: Anbar
College:
Republic of Iraq Department: Computer network ccsystems
The Ministry of Higher Education Stage:
& Scientific Research Instructor name
Academic status:
Qualification:
Place of work: University of Anbar
Course Weekly Outline
Course Name: Network Programming
Course Instructor
E-mail
Title Network Programming
Course Coordinator
Course Objective
Course Description
Network Programming in Python: The Basic: A Detailed Guide
to Python 3 Network Programming and Management (English
Edition)
Textbook Python Network Programming Cookbook - Second Edition:
Practical solutions to overcome real-world networking
challenges 2nd Revised edition
Kathiravelu, P. and Sarker, M.F., 2017. Python Network
Programming Cookbook. Packt Publishing Ltd.
References
Term Laboratory Quizzes Project Final Exam
Course Assessments Tests
-
General Notes
University: Anbar
College:
Republic of Iraq Department: Computer network ccsystems
The Ministry of Higher Education Stage:
& Scientific Research Instructor name
Academic status:
Qualification:
Place of work: University of Anbar
Course Weekly Outline
Lab.
Week
Date Topics Covered Experiment Notes
Assignments
Introduction
• Brief history of the net
1 • Motivation and implication
• Network Programing Features and Scope
• An overview of Python networking
Network and Web Basics
• Network, hosts and addresses
• Network types
• Internet and World Wide Web
2 • Network Models and Layering
• OSI Reference Model
• Network protocols
• Network standards
Python Crash Course
• Introduction to Python
• Python data types
• Working with lists
3
• Dictionaries Input/Output
• Functions
• Classes and OOP
• Files and exceptions
Overview of Python Networking
4 • Python networking support
• Python networking libraries
Addressing, Naming and DNS
• Handling IPv4 addresses
5
• Handing domain names
• Handing IPv6 addresses
Socket Programming
• Socket concepts
6 • Sending/receiving data over a socket
• Buffer size and timeout
• Blocking/non-blocking mode
University: Anbar
College:
Republic of Iraq Department: Computer network ccsystems
The Ministry of Higher Education Stage:
& Scientific Research Instructor name
Academic status:
Qualification:
Place of work: University of Anbar
TCP Programming
• TCP concepts
7
• TCP protocol and message format
A simple TCP echo client-server application
UDP Programming
• UDP concepts
8 • UDP protocol and message format
A simple UDP echo client-server application
9 Midterm Exam
Python GUI Programming
• Python GUI frameworks
10
• Tkinter, wxPython, Kivy, PyQT
• GUI and networking in Python
Programming with HTTP for the Internet
• HTTP protocol
• Sending/receiving HTTP requests/responses
• Serving HTTP requests and
11
preparing/sending HTTP responses
• Handling forms
• Processing cookie information
Processing Emails
• Email protocols and handling
• SMTP(Simple Mail Transfer Protocol)
programming
• POP3(Post Office Protocol - Version 3)
12
programming
• IMAP(Internet Message Access Protocol)
programming
• Work with Google Gmail
Programming Across Machine Boundaries
• Telnet and remote access
13 • FTP and SFTP
• Transfering files with FTP
• Secure file transfer with SFTP
University: Anbar
College:
Republic of Iraq Department: Computer network ccsystems
The Ministry of Higher Education Stage:
& Scientific Research Instructor name
Academic status:
Qualification:
Place of work: University of Anbar
Data/Messages Exchange
• XML, JSON and CSV data formats
• Working with XML/JSON/CSV data in
Python
Multithreading and Multiprocessing
14
• Multithreading and multiprocessing
concepts
• Multithreading and multiprocessing in
Pythonc
• Multithread servers and clients
Event-driven Programming**
• What is event-driven programming?
15
• Event detection and handling
• Event-driven network programming
Web Services**
• Introducing Web services
• REST and SOAP
• Web services in Python
16 Web Applications**
• Web applications and frameworks
• Django, Web2py, Flask, Bottle
• Python Web development
•
Instructor Signature: Dean Signature: