Basic and advanced Python - A Practical Approach - 8th , 9th March
& 17th to 19th March 2025 @ SRMIST
Day 1 (3 hours): Python Basics
1. VS Code Installation and Setup
Install VS Code editor for Python development
Install Python and configure the environment
Setting up extensions in VS Code for Python coding
2. Python Fundamentals
Print(): Displaying output using the print() function.
Variables: Understanding variable assignment and naming conventions.
Data Types: Overview of Python data types (int, float, string, boolean).
Type(): Checking the data type of variables using the type() function.
Typecasting: Converting between data types using functions like int(), float(), str(),
etc.
Operators: Arithmetic, comparison, logical, and assignment operators.
Input(): Accepting user input with the input() function.
Conditional Statements: Using if, elif, and else statements for decision-making.
Loops: Introduction to loops in Python: for and while loops.
3. Project: Basic Calculator
Implement a simple calculator application that performs basic arithmetic operations
(addition, subtraction, multiplication, division) using the concepts learned.
Day 2 (3 hours): Functions, Exception Handling, and File Handling
1. Functions
User-defined Functions: Creating and calling functions in Python
Function parameters and return values
Variable scope: Local and global variables
2. Exception Handling
Try, except blocks for error handling
Using else and finally clauses for additional flow control
3. Modules and Libraries
Understanding the importance of modules and libraries in Python
How to import and use built-in modules like math, random, etc.
4. File Handling
Reading from and writing to files in Python
Working with file objects: open(), read(), write(), close()
File modes (read, write, append)
5. OS Library
Introduction to the os module
Working with file paths, directories, and environment variables
Project/Exercise:
Create a program that reads from a file and processes the content (e.g., counting
words or lines in a file)
Implement basic file handling and exceptions in a program
Day 3 (6 hours): GUI Programming and Database Introduction
1. Introduction to GUI Frameworks
Introduction to Graphical User Interface (GUI) programming in Python
Overview of popular GUI libraries (Tkinter, PyQt, etc.)
Setting up Tkinter
2. Tkinter Library
Tkinter widgets: Labels, Buttons, Entry, Frame, etc.
Event handling in Tkinter (Button click, user input)
Organizing layout with grid and pack geometry managers
3. Introduction to SQLite
Understanding relational databases and SQLite
Connecting to SQLite database in Python using the sqlite3 module
Creating, reading, updating, and deleting records (CRUD operations) in SQLite
4. Hands-on Exercises:
GUI Calculator: Build a basic calculator using Tkinter with a simple graphical
interface.
To-Do List App: Create a To-Do List app where tasks can be added, deleted, and
marked as completed, integrated with an SQLite database to store tasks.
Day 4 (6 hours): Network Programming and Web Scraping
1. Introduction to Network Programming
Basics of computer networks and how Python interacts with them
Introduction to socket programming and client-server architecture
2. Socket Programming
Creating a basic socket server and client in Python
Sending and receiving data over a network using TCP/IP
Handling multiple clients (without threading module)
3. HTTP Requests and Web Scraping
Making HTTP requests using Python’s requests library
Introduction to web scraping with BeautifulSoup and requests
Parsing HTML and extracting data from web pages
4. Hands-on Exercises:
Chat Application: Build a basic chat application where clients can communicate
over a network using sockets.
Web Scraper: Create a Python script to scrape data from a website (e.g., headlines
from a news site or product prices from an e-commerce platform).
Day 5 (6 hours): Web Development with Flask & Real-Time Chatbot
1. Introduction to Web Services
Understanding what web services are and how they work
Introduction to REST architecture for building APIs
2. Web Framework: Flask
Basics of the Flask web framework
Creating and running a simple Flask app
Handling routes, HTTP methods (GET, POST), and templates
3. RESTful API Development
Creating REST APIs with Flask (GET, POST, PUT, DELETE methods)
Handling request data and sending responses in JSON format
Integrating SQLite with Flask to manage data storage
4. Final Project: Inventory App
Features: Build an inventory management app with the following functionalities:
o Add, search, and delete items in the inventory
o Export the inventory list as a CSV or Excel file
o Use SQLite to manage the data storage
5. Real-time Chatbot with GPT API
Introduction to Natural Language Processing (NLP) and real-time chatbots
Integrating OpenAI’s GPT API for a chatbot
Setup API calls to GPT and handle responses
(Note: API license is required for access to GPT API)
Project Completion:
Work on the final project: Build and deploy the Inventory app with SQLite and Flask.
Set up the real-time chatbot, integrating GPT API for intelligent responses.