Live: Online
Rs 12,500/- PKR
This course provides an engaging introduction to programming, data science, and AI through Python and PyTorch. Students will explore fundamental programming concepts, visualize data, work on real-world mini projects, and delve into object detection and chatbot development using industry-standard tools. The hands-on nature of the course encourages creativity, experimentation, and collaboration, preparing students for deeper learning in AI and machine learning.
Writing Python programs using variables, conditionals, loops, and functions.
Creating and manipulating tensors with PyTorch for simulations and experiments.
Building simulations like dice games using randomness and modular code.
Visualizing data with Matplotlib and Seaborn, including pie charts and bar graphs.
Understanding object detection and applying pretrained models on real-world images.
Exploring use cases of AI in everyday life—like detecting books or traffic signs.
Building and customizing your own chatbot with transformer models like GPT-2.
Gaining insights into Retrieval-Augmented Generation (RAG) and how AI can access external knowledge to improve responses.
Developing a solid foundation in programming, data visualization, AI applications, and ethical tech usage.
“Introducing AI With Python”
September’2025-November’2025
Here you can view and download your certificates
Introduced Python data types including integers, floats, strings, booleans, and characters.
Explained string operations: slicing, concatenation, repetition, and immutability.
Demonstrated built-in string functions, formatted strings, and multiline strings.
Showed type conversions between int, float, and string with examples.
Covered lists: creation, indexing, traversal, appending, deleting, and nested lists.
Explained tuple operations, immutability, traversal, and copying lists vs tuples.
Introduced problem-solving with loops: separating even/odd numbers from a list.
Demonstrated set operations: remove duplicates, sorting, union, intersection, subtraction, and cross product.
Removeing duplicates from list and sorts it
Finding union of two lists (unique + sorted)
Finding elements in H not in D (H − D)
Generating all ordered pairs (Cartesian product)
Checking if a number is prime
Checking if a number is composite
Returning absolute value of a number
Separateing negatives and positives
Converting a number into its binary representation
Filter fruits containing “a”, sort, reverse
List comprehension with length filter
Prime check with list comprehension (non-primes)
Measure execution time with loops vs comprehension
Sorting lists (original vs sorted copy)
Sort words alphabetically, reverse, or by length
Sort words with custom keys (like first 2 letters)
Functions: define, call, pass params, default values
Functions with return values (single & multiple)
Type hints, assertions for type safety
Segregate uppercase and lowercase letters
Process numbers, skip negatives (pass)
Yield vs return (generators vs normal functions)
Row-wise maximum in 2D array
Mixed types in lists, single type in NumPy arrays.
Array creation using np.array(), np.zeros(), np.ones(), np.arange().
Shape with .shape, reshape arrays using .reshape().
Indexing and slicing with [ ] and : operators.
Math operations + - * / ** work elementwise on arrays.
Broadcasting auto-expands smaller arrays to match larger ones.
Discount calculation using vectorized array operations.
Random numbers with np.random.randint(low, high, size).
Statistics with np.sum(), np.mean(), np.max(), np.min().
Boolean masking with conditions and np.where() for filtering/replacing.
np.arange, transformed values, reshaped into a 10×10 matrix, and flattened back into 1D.max, mean, row-wise averages, column-wise sums, and accessed a specific reading using indexing.np.int64.np.mean.arr % 2 == 0, arr % 5 == 0) and np.where() to replace values..sum(axis=0/1).np.sort(), reverse using [::-1].[::-1] (reverse), [:3] (first 3), ::2 (even index), 1::2 (odd index)..copy()) are independent.arr[arr > 3] filters directly, np.where() gives indexes.np.concatenate, np.hstack, np.vstack, np.dstack for combining arrays.enumerate() modifies arrays/lists in place while looping.np.array_split(arr, n, axis) for horizontal or vertical slicing.
Simulated a candy shop with lists, sorting, filtering, counting, and a guessing game.
Created candies and prices lists.
Filtered candies containing letter “a”.
Sorted candies by closeness to price 4.
Separated even and odd prices.
Created candy multiplier using lambda.
Made 2D candy basket and zigzag traverse.
Made “Guess the Candy Price” game.
Created Student class with name, age, and grade.
Printed student info using __str__().
Made MyClass with class and instance attributes.
Changed and printed class attribute from instance.
Created Person class that prints all attributes dynamically.
Added extra attributes like dob, grade, address.
Built ShoppingCart with add_item() and show_cart().
Added fruits and displayed full cart.
Defined Point class storing coordinates as tuple.
Displayed point location using display().
Created Car class with color, model, and state flag.
Added subject marks using add_mark().
Calculated total and percentage in show_percentage().
Imported Path, NumPy, and PIL for image handling.
Built DataLoader to load images from folder.
Used matplotlib to show all loaded images.
Loaded and displayed all cat and dog pictures.
Extracted and showed Red, Green, and Blue channels separately using NumPy slicing.
Loaded the image and converted it into a NumPy array to get its shape.
Extracted and displayed Red, Green, and Green + Blue channel images.
Flipped the image vertically and horizontally using NumPy slicing.
Created a negative image by subtracting pixel values from 255.
Swapped the color channels (Red, Blue, Green) to form a new color combination.
Displayed all results using Matplotlib subplots for visual comparison.
matplotlib.pyplot for displaying images, and how tensor functions like torch.zeros, torch.ones, and torch.full help initialize image backgrounds.Understanding how images are stored as NumPy arrays (pixels, channels, shapes).
Loading images from a folder using a custom DataLoader class.
Displaying original and processed images side-by-side using Matplotlib.
Converting RGB images to grayscale using weighted pixel values.
Applying Sobel X and Sobel Y filters for edge detection.
Implementing image sharpening using a convolution kernel.
Smoothing images using an average (blurring) filter.
Performing basic operations like invert, threshold, flip horizontally and vertically.
Using scipy.signal.convolve2d() to build custom image filters.
Visualizing the effects of filters to understand their impact on images.
Created a blank image using torch.zeros(100,100) to simulate a computer’s view.
Defined a custom function magic_FilterApplier to apply 3×3 filters manually.
Implemented convolution by sliding the filter across the image and summing element-wise products.
Normalized the output to highlight strong responses (edges/features).
Applied a General Sobel filter ([-1 -1 -1; -1 8 -1; -1 -1 -1]) for overall edge detection..
Applied an Average filter → performs blurring / smoothing.
Applied a Sharpen filter → enhances edges and object outlines.
Demonstrated how different filters highlight different image features — foundation of object detection.
Checked how a DataLoader class loads and convert images to RGB arrays.
Defined a Filter class with functions for inversion, thresholding, flipping, smoothing, sharpening, and edge detection.
Implemented visualization function to display original and processed images side by side.
Loaded an image from the folder and performed pixel-wise operations (invert, threshold).
Applied geometric transformations and smoothing/sharpening filters.
Performed edge detection using Sobel X and Sobel Y filters on the grayscale image.
Mounted Google Drive and displayed an introductory GIF explaining types of image classification.
Loaded and displayed an example image titled “Types of Image Classification” using Matplotlib.
Loaded the MNIST dataset using datasets.load_dataset("ylecun/mnist").
Visualized multiple samples from the training and test datasets with their digit labels.
Created a function to display pixel intensity values of individual MNIST images.
Visualized one sample image showing pixel intensity distribution (bright = high intensity).
Analyzed and plotted the distribution of digit labels in the MNIST training set.
Visualized how neural networks process images using GIF animations and conceptual diagrams.
Demonstrated pixel intensity visualization to understand grayscale image representation.
Showed how data batching works in PyTorch with sample MNIST images from DataLoader.
Explained model architecture and transfer learning using pretrained ResNet-18.
Compared normalized vs unnormalized images before training for better understanding.
Created DataLoaders for training/testing.
Explained neural network basics with visual examples perceptron, CNNs, and convolution operations.
Loaded a pretrained ResNet-18 model, modified its final layer for 10-class MNIST classification, and trained it using Adam optimizer.
Evaluated the trained model on the test set and displayed accuracy results.
Loaded and displayed images using Pillow for processing.
Performed resizing, cropping, rotating, flipping, and grayscale conversion.
Adjusted brightness and applies blur filters to images.
Used OWLv2 for zero-shot object detection based on text prompts.
Draws bounding boxes and labels on detected objects in images.
Runs OWLv2 detection on video frames using OpenCV.
Saved annotated videos with detected objects highlighted.
Used DETR (DEtection TRansformer) for COCO-style object detection.
Generated images from text using Stable Diffusion XL.
Nourishing the Programmer in you!
schoolofseedprogramming@gmail.com
query@seedprogramming.org