Skip to content

Jamil226/AI-Bootcamp

Repository files navigation

Python Jupyter Visual Studio Code Postman Pandas NumPy Matplotlib Kaggle CSV

Google Colab Hugging Face

OpenCV Beautiful Soup YOLO GenAI Ollama Vertex AI Claude AI LLM LangChain LangGraph


AI Training Summer Trainings

Welcome to the AI Summer Bootcamp GitHub repository! This repo contains all module resources for the faculty training program delivered at COMSATS University Islamabad, Sahiwal Campus.

The course covers a wide range of AI topics, starting from Python fundamentals to advanced python concepts, data analysis with Pandas and NumPy, web scraping with BeautifulSoup (BS4), and computer vision using OpenCV and YOLOv8. It also includes modules on Generative AI (GenAI) overview, Ollama overview, LLMOps and fine-tuning with Hugging Face, LangChain & LangGraph, and Streamlit for building interactive AI dashboards.

This repository is structured to provide hands-on experience through code examples, assignments, and real-world applications.


Tools

Download Python

➡️ Click here to download Python

  • Official website: python.org
  • Choose the version that matches your operating system:
    • Windows
    • macOS
    • Linux
  • ✅ “Add Python to PATH”

Download Miniconda (Lightweight Anaconda)

➡️ Click here to download Miniconda

  • Miniconda is a minimal installer for Conda
  • Works on all platforms (Windows, macOS, Linux)

Download Visual Studio Code (Editor)

➡️ Click here to download VS Code

  • Lightweight, fast, and powerful code editor
  • Supports:
    • Python
    • Conda
    • Jupyter
  • Recommended Extensions:
    • Python
    • Jupyter

Module-0: Prerequisites

  • IDE Setup
  • Python Virtual Environment
  • VS Code Shortcuts

Module 01-a: Python Fundamentals

  • Python Basics
  • Variables, data types, String Formatting, Operators, User Input
  • Control structures: if-else, loops
  • Lists, Tuples, Sets, Dictionaries, Arrays
  • Assignments (Lists, Tuples, Sets, Dictionaries)
  • Functions with Functions' Examples
  • Lambda Functions, Map Functions, Filter Functions
  • Functions Assignment

Module 01-b: Python Advanced

  • Python Imports (Modules and Packages, Standard Library Overview)
  • Packages Assignment
  • File Handling (File Operations, File Paths)
  • File Handling Assignment
  • Exception Handling (Try, except, finally)
  • Exception Handling Assignment
  • Classes and Objects (OOPs)
  • Inheritance
  • Polymorphism
  • Encapsulation
  • Abstraction
  • Magic Methods
  • Operator Overloading
  • Custom Exceptions
  • OOPs Assignment

Module 02: Data Analysis

  • Dataset Analysis
    • Reading data from CSV files.
    • Overview of Dataset
    • Data Types and Structure
    • Descriptive Statistics
    • Correlation Analysis
    • Identifying Missing Values
    • Strategies for Handling Missing Data
    • Sorting DataFrames
    • Filtering Data Based on Conditions
    • Grouping Data
    • Aggregating Functions
    • Importance of Visualization
    • Visualization Techniques
  • Matplot Fundamentals
    • Line Chart
    • Pie Chart
    • Scatter Charts
    • Heatmaps
    • Bubble Charts
    • Histogram
  • Numpy Fundamentals
    • Installing and Importing NumPy
    • Creating NumPy Arrays
    • Comparing NumPy Arrays and Python Lists
    • Performance Comparison
    • Input Handling and Checking Variable Types
    • Converting the List to a NumPy Array
    • Weekly Temperature Analysis Using NumPy
    • Weekly Sales Data Analysis Using NumPy
    • Introduction to 2D Arrays
    • Grocery Store Inventory Analysis
  • Pandas Fundamentals
  • Requirements.txt File Explanation
  • Introduction to Kaggle Datasets
  • Downloading Datasets from Kaggle
  • Exploring and Visualizing Data
  • Basic Data Preprocessing
  • Applying Machine Learning Models on Kaggle Datasets
  • Conditional Filtering: Filtering data based on conditions.
  • Handling Missing Data: Managing and identifying missing data.
  • Sorting and Grouping: Techniques for organizing data.
  • Data Manipulation:
    • Renaming Columns
    • Adding New Columns
    • Summing and Averaging Column Values
  • Temperature Analysis for Sahiwal and Okara
    • Reading the Uploaded CSV File
    • Summary of Statistics for Numerical Columns in Dataset
    • Dataset Dimensions (Number of Rows and Columns)
    • Dataset Filtering
    • Data Visualization
    • Hottest Days
    • Average Temperature Line
    • Plot the Graph with the Highest Temperature Highlighted
    • Monthly Temperature Trends
    • Box Plot to Visualize Temperature Spread
    • Plotting the Hottest Days

Module 03: Computer Vision

  • OpenCV Overview
    • RGB to Grayscale
    • Guassian Blue
    • Canny Edge Detection
    • Object Detection through Template and Frame using CV2
  • YOLO Algorithm Overview
    • Object Localization
    • Training of a Neural Network
    • Why do we need YOLO?
    • Intersection over Union (IOU)
    • Introduction to YOLOv8
    • Roboflow Overview
    • Open Image Datasets
    • YOLOv8 Lab Tasks
  • YOLOv8 Lab
    • Object Detection from Image
    • Object Detection from Video
    • Object Detection from Camera
    • Object Segmentation
    • Confidence Score
    • Running Segmentation on Video

Module 04: Web Scrapping using BS4

  • Web Scrapping using BeatifulSoup
  • Basic Workflow of Web Scraping
  • How to Add a User-Agent Header
  • HTML Parse Tree
    • Accessing the Childs of the Tree
    • Fetching Data from Nested Childs
  • BeatifulSoup find_all() function
    • Extracting the Original Text from the HTML Elements and Selectors
    • Extracting the data from Elements and Selectors

Module 05: GenAI - Nuts and Bolts

  • Introduction to GenAI
    • Generative Models
    • Hallucinations
    • Model Garden by Google
    • Vertex AI Studio
  • Ollama Overview
    • Run Ollama Models on Local Machine
    • Run Ollama Models with Python GUIs
    • Ollama and Postman

Module 06: LLMOPs (Fine-Tuning with HuggingFace)

  • LLMs Theory (Helping book is also uploaded.)
  • LLMOps Fundamentals
  • Transformers Fundamentals
  • Introduction to Hugging Face
  • Using pre-trained models for text summarization
  • Implementing Text Summarization using Hugging Face Transformers
  • Fine-tuning models for better performance
  • Evaluating summarization results

Module 07-09: Langchain

  • Langchain APIs
  • Data Ingestion
  • Data Transformer
  • Embeddings
  • Vector Storage

Module 10: Streamlit

  • Introduction to Streamlit

    • What is Streamlit?
    • Key features and benefits
    • Comparison with other Python web frameworks
    • Real-world use cases
  • Getting Started with Streamlit

    • Installing Streamlit using pip
    • Running your first app with streamlit hello
    • Basic command-line usage
    • Understanding file structure and app execution
  • Streamlit Layouts

    • Using st.title, st.header, st.subheader, and st.text
    • Creating columns with st.columns
    • Using st.sidebar for controls or navigation
    • Displaying images, charts, and dataframes
    • Organizing layout with st.container and st.expander
  • Streamlit Widgets

    • Input widgets: st.text_input, st.number_input, st.slider, st.selectbox
    • Interaction controls: st.button, st.checkbox, st.radio
    • Handling user input and dynamic display
    • Forms and submission using st.form and st.form_submit_button

How to Use This Repository

  1. Clone this repository to your local machine:
    git clone https://github.com/Jamil226/AI-Training-Summe

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

For queries please email me at: jamil138.amin@gmail.com

Licenses

FOSS - Free and Open Source Licenses

MIT - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.