Course Details
Topic 1.Networking Programming and Python
- Introduction to TCP/IP networks
- Python for network programming
Topic 2. HTTP and Working with Web
- Request and Response with urllib
- Response objects
- Status codes
- HTTP headers
- Customizing requests
- Content negotiation
- User agents
- Cookies
- Redirects
- HTTP/HTTPS methods
- Request library
Topic 3. Email
- Email technologies
- Sending emails with SMTP
- Sending emails securely with TLS
- Receiving emails by POP3 with poplib
- Receiving emails by IMAP with imaplib
- Sending email attachments
Topic 4: API
- XML
- JSON
- HTML scraping
Topic 5: Working with Remoting Systems
- Secure shell access using Python
- Transferring files through SFTP
- Transferring files through FTP
- Fetching simple network management protocol
- Reading light weight directory access protocol
- Sharing with SAMBA
Topic 6: IP and DNS
- Retrieving network configuration
- Manipulating IP addresses
- GeoIP lookup
- NTP clients
Module 7: Programming with Sockets
- Basics of sockets
- Working with TCP sockets
- Working with UDP sockets
- TCP port forwarding
- Non blocking socket I/O
- Securing socket with TLS/SSL
Topic 8: Client Server Applications
- Client and Server
- Echo protocol
- Simple echo server
- Concurrent I/O
- Multithreading and multiprocessing
- Multithreaded echo server
- Designing a chat server
- Chat protocol
- Persistent connection
- Multithreaded chat server & client
- Event based chat client
Course Info
Prerequisite
This is an intermediate level course. The following prerequisite is assumed
- Basic Python
- Basic Networking knowledge
Software Requirement
Please download and install the following software prior to the class
- Python 3.x https://www.python.org/downloads/
- Sublime Text 3 https://www.sublimetext.com/3
- Pycharm https://www.jetbrains.com/pycharm/download/
Job Roles
- Python Programmers who want to learn networking
- Network Engineers using Python
Trainers
Ken Yuen: Ken Yuen is a ACTA certified trainer. He has more than 10 years of experience working as an instructor, Application Development Engineer, Technical Consultant and Project Manager. He is an MOE-Registered Instructor teaching STEM programs for past 3 years such as Arduino, Micro:bits and robotics to schools and libraries based on the smart nation initiative roadmap.
He completed his Diploma in Electronic Engineering at Singapore Polytechnic and graduated with Bachelor of Electrical and Electronics Engineering from Nanyang Technological University and certified PMP (Project Management Professional).
Terence has more than 25 years of corporate IT experience. He has held senior management roles in the public and private sectors. He holds a Master of Science in Technology Management, a Bachelor of Science in Computer and Information Sciences, a Diploma in Family Education, and the Advanced Certificate in Training and Assessment (ACTA). Part of his spare time goes towards tutoring his children in their studies (while learning a thing or two along the way). He is also imparting to them the essential skills for thriving in a digital world.
Man Guo Chang: Man Guo Chang is a ACTA certified trainer. Man Guo Chang graduated from Nanyang Technological University, School of Electrical and Electronic Engineering, major in Computer Engineering.
He has more than 25 years of working experience in the Semiconductor field, specialized in IC Testing, Inline Electrical Testing, Product & Yield Engineering, Data Analysis, System Engineering, and Software Development.
Shahul Maricar: Shahul Maricar is a certified trainer. Shahul H. Maricar has been a content developer and webmaster, building educational websites and applications with HTML, CSS and JavaScript. He then served as an IT analyst, writing programs for automating custom workflows as well as data extraction and analysis in the healthcare field.
He is currently a freelance educator and is actively involved with development projects in game programming, computer-aided design and computer graphics.
Customer Reviews (14)
- will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - might recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - might recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - Improvement on the link between python and network programming is required Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment
Some codes provided is obsolete and should be updated to be run on Python 3 (Posted on 3/21/2021) - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - will recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - Will Recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - Will Recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment
Prepare another sample code with more detail function comment for revision. (Posted on 6/20/2019) - Will Recommend Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment - Will Recommnd Review by Course Participant/Trainee
-
1. Do you find the course meet your expectation? 2. Do you find the trainer knowledgeable in this subject? 3. How do you find the training environment