
Discover the story behind Python’s creation, its evolution across generations, and how it became one of the world’s most popular programming languages. Understand its role in AI, data science, and optimization, and why its philosophy “Simple is better than complex” still guides modern developers.
Learn the essential Python syntax — variables, operators, input/output, and expression precedence. You’ll start writing your first simple programs and understand how Python interprets and executes your code step by step.
Master text manipulation with Python strings. You’ll learn string creation, indexing, slicing, and formatting methods. Discover how to clean and process text data, an essential skill for data handling and AI applications.
Dive into Python’s most flexible data structure, lists. Learn to create, modify, extend, and iterate through lists efficiently. You’ll also explore indexing, slicing, and nested lists to handle dynamic data collections.
Understand how tuples and dictionaries store and manage structured data. You’ll learn when to use immutable tuples and how dictionaries use key–value pairs to model relationships, a powerful concept for data management and optimization models.
Explore how Python handles complex numbers directly without extra libraries. Learn operations, visualization, and real-world applications, especially for engineering and optimization problems involving phasors or impedance.
Get comfortable with Python sets and Boolean logic. You’ll perform union, intersection, and difference operations, then apply logical comparisons and truth tables to build decision-making conditions in your programs.
Learn how statements define the flow of your program. Explore indentation, comments, and practical tools to write clean, organized code. This lecture focuses on developing structured thinking. Gain control over your program's logic using if, elif, and else statements to make decisions. This lecture also introduces essential tools like range(), enumerate(), and zip() to write more efficient and readable code.
Automate repetitive tasks using “for” loops. You’ll understand range, iteration, and nested loops to perform calculations or data processing efficiently, key for optimization and simulation tasks later in the course.
Learn how to use “while” loops for dynamic repetition and control statements like break, continue, and pass to fine-tune your code’s logic. You’ll create interactive programs that respond to user conditions.
Build reusable and efficient code using Python functions. You’ll define, call, and return values from functions, explore default arguments, and understand scope, preparing you for modular programming and model structuring in later sections.
Learn the core ideas behind Object-Oriented Programming (OOP) — classes, objects, attributes, and methods. Understand how OOP helps organize code into logical, reusable components that mirror real-world systems. This lecture builds the conceptual foundation for class-based design in Python.
Apply the concepts from the previous lecture in a hands-on example. This session walks through building a practical class from scratch, demonstrating how to structure its attributes and methods to solve a real-world problem.
Level up your OOP skills by learning about inheritance to create specialized child classes from a parent class. Explore polymorphism, which allows different objects to share method names, and customize your classes by implementing special "magic" methods.
Solidify your understanding of Object-Oriented Programming with hands-on exercises. This practice session provides an opportunity to build and interact with your own classes and objects in Google Colab.
Get started with Pandas, the essential library for data analysis in Python. Learn to load data from CSV files into a DataFrame, inspect the first few rows, and understand the fundamental Series and DataFrame objects that power your analysis.
Learn essential techniques for cleaning and transforming data. This lecture covers how to create new columns, apply custom functions, handle missing values, and save your cleaned DataFrame to a new file for future use.
Put your data manipulation skills to the test with practical exercises. Use the power of Pandas to clean, transform, and analyze a dataset in this hands-on Google Colab session.
Dive into NumPy, the core library for numerical computing in Python, and see why its arrays are faster and more memory-efficient than standard Python lists. Learn to create various types of NumPy arrays and inspect their key properties like shape, dimension, and size.
Explore advanced NumPy techniques, including powerful indexing and slicing methods for accessing your data. You will also learn to reshape, split, and sort arrays, and perform fast, element-wise operations using Universal Functions (ufuncs).
Sharpen your numerical computing skills with hands-on NumPy exercises. This session challenges you to create, manipulate, and perform calculations on multi-dimensional arrays in Google Colab.
Learn the fundamentals of mathematical optimization and discover how Pyomo serves as a powerful Python-based modeling tool. This lecture covers the basic components of an optimization problem: decision variables, objective functions, and constraints.
Build your first nonlinear optimization model in Pyomo to solve a classic engineering problem. Learn to define parameters, variables, and an objective function to maximize power, then interpret the solver's results.
Tackle a geometric optimization problem by finding the largest rectangle that can fit inside a circle. This lecture introduces nonlinear constraints and how to use mutable parameters for more flexible models.
Learn to decipher the detailed reports generated by solvers like IPOPT. This lecture explains key terms to help you understand your model's performance and convergence.
Model a classic "least time path" problem to minimize the total travel time across a semi-circular path, demonstrating how to handle different parts of a journey in one objective function.
Learn to visualize your optimization results using Matplotlib. This lecture walks through creating plots to show the relationship between variables and the objective, and how to mark the optimal solution on the graph.
Solve the Fermat Point problem to find the optimal location that minimizes the total distance to three given points. This lecture demonstrates how to model geometric relationships in a nonlinear optimization framework.
Model a real-world medical problem to determine the optimal daily drug doses that maximize therapeutic benefit while respecting safety constraints. This exercise showcases how linear programming can be used for resource allocation problems.
Learn to model physics equations as constraints in Pyomo to find a system's center of mass. This lecture teaches you how to define a problem where the solution is determined by satisfying the constraints.
Explore how to construct a mathematical function that best fits a series of observed data points. This lecture shows how to use optimization to minimize the error between a model's predictions and actual data.
Learn how to evaluate the performance of your models using common error metrics. This lecture covers Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE), and the Coefficient of Determination (R²).
Discover how to use Pyomo to solve systems of linear equations by modeling them as a constrained optimization problem, integrating Pandas to read equation data directly from an Excel file.
Learn how to use a Pyomo Concrete Model to solve a practical engineering problem. This lecture demonstrates how to select the most cost-effective electrical cable by defining data and parameters directly within the script.
Deepen your understanding of the two primary modeling approaches in Pyomo for solving the diet optimization problem. This lecture compares the Concrete Model (data and logic together) with the Abstract Model (data and logic separate) to help you decide which is best for your projects.
Solve a classic power systems problem to determine the optimal power output of several generators to meet demand at the lowest cost, involving quadratic cost functions and operational constraints.
Dive into the world of finance by building a portfolio optimization model based on Markowitz theory. Learn to minimize investment risk (variance) while achieving a desired level of expected return.
Learn the motivation behind multi-objective optimization and how it differs from single-objective problems. Explore real-world examples where trade-offs are essential. Understand how to combine multiple objectives into a single function using weighted coefficients. Implement the method in Pyomo and analyze the impact of different weight choices.
Transform one objective into a constraint and explore how varying epsilon values influence the feasible and Pareto-optimal solutions.
Learn how to model and prioritize multiple goals using the concept of deviations. Implement a goal programming model in Pyomo for a practical case study.
Formulate and solve the classical TSP using binary variables. Learn how to define routes, eliminate subtours with MTZ constraints, and extract the ordered optimal path.
Model the N-Queens puzzle as a binary optimization problem. Define placement constraints to prevent queens from attacking each other, solve using Pyomo, and visualize the final configuration.
Create your first desktop application with a graphical user interface (GUI) using Python's built-in Tkinter library. You will build a functional temperature converter with input fields, buttons, and labels.
Explore the world of metaheuristic optimization with the MEALPy library. Understand how nature-inspired algorithms can solve complex problems where traditional, gradient-based methods fail, making them ideal for black-box or non-differentiable functions.
Learn the theory behind Particle Swarm Optimization (PSO), an algorithm inspired by the social behavior of birds and fish. This lecture guides you through implementing the PSO algorithm in MEALPy to solve the Sphere function and visualize its convergence.
Dive into the Whale Optimization Algorithm (WOA), which simulates the bubble-net hunting strategy of humpback whales. You will apply this powerful algorithm to find the optimal solution and track its performance over runs.
Learn the professional workflow for ensuring your results are robust. This lecture teaches you how to run an algorithm multiple times, visualize the convergence curves for each run, and rank the outcomes to find the most consistent solutions.
Build a powerful pipeline to run multiple different algorithms (like PSO, WOA, and Genetic Algorithms) on the same problem. This lecture shows you how to compare their performance head-to-head and rank them based on which one finds the best solution (fitness).
Go a step further in your comparison by timing how long each algorithm takes to run. This lecture adds execution time to your analysis, allowing you to rank algorithms not just by the quality of their solution, but also by their speed.
Discover how to solve problems that have constraints using MEALPy. This lecture introduces the penalty method, a technique that transforms a constrained problem into an unconstrained one so that metaheuristic algorithms can solve it effectively.
Revisit the cable selection problem and solve it using MEALPy. This final lecture provides a direct comparison between Pyomo (a deterministic, gradient-based solver) and MEALPy (a stochastic, gradient-free solver) on the same problem, highlighting the strengths and weaknesses of each approach.
Do you want to connect Python programming with real-world optimization and AI applications?
This course takes you step-by-step from the very basics of Python to solving advanced optimization problems using Pyomo and MEALPy inside Anaconda / Jupyter Notebook.
You’ll learn to write efficient code, model mathematical problems, handle data with Pandas and NumPy, and apply both deterministic and metaheuristic optimization methods.
By the end of the course, you will be able to:
Design and solve optimization problems such as the Traveling Salesman Problem and N-Queens
Compare exact Pyomo solvers with MEALPy’s population-based algorithms
Build GUI applications and connect optimization with AI fundamentals
This course is structured for beginners to intermediate learners who want practical, research-oriented skills.
All notebooks, datasets, and source codes are provided, ready to run in both online and offline environments.
What You’ll Learn
Write clean, organized Python programs with control flow and functions
Apply Object-Oriented Programming (OOP) using classes, inheritance, and polymorphism
Manipulate and analyze data with Pandas and NumPy
Formulate and solve linear, nonlinear, and integer problems in Pyomo
Implement multi-objective techniques: Weighted Sum, Epsilon-Constraint, and Goal Programming
Model binary systems such as TSP and N-Queens
Design graphical interfaces using Tkinter
Use MEALPy to implement and tune metaheuristic algorithms (PSO, GA, GWO, etc.)
Evaluate and visualize optimization results with SciPy and Matplotlib
Understand how optimization integrates with AI pipelines and decision systems
All in one integrated package of 50 lectures, 10 hours of HD video, and 40 + code demonstrations.
Requirements
Basic math knowledge (algebra, functions, simple graphs)
Installed Anaconda + Jupyter Notebook
No prior coding experience required, everything is explained from scratch
Instructor
Assoc. Prof. Shady H. E. Abdel Aleem
AI & Optimization Specialist | Industry Consultant | Research Leader
Ph.D., Electrical Power & Machines – Cairo University (2013)
Fellow, Basic Sciences Council, Academy of Scientific Research and Technology, Cairo
Senior Member, IEEE (SM’21) | Former Member, IET
State Encouragement Award (2017) | Medal of Distinction – First Class (2020)
Ranked among Stanford University’s Top 2 % Scientists Worldwide
Author of 250 + research papers and 13 books on power systems and optimization
Course Features
10 + hours of HD content
50 structured lectures with source code
All resources and datasets included
Full lifetime access on mobile & desktop
Certificate of Completion
Start Learning Today
Take the leap from Python beginner to optimization professional.
Join now and learn how to model, analyze, and optimize real-world systems using Python, the language that powers AI and scientific discovery.