
Course introduction reveals foundations of artificial intelligence and its role as the modern electricity behind applications like self-driving cars, face recognition, early cancer detection, and recommendations.
Explore the evolution of artificial intelligence, its schools and paradigms such as machine learning and deep learning, and master problem solving, search algorithms, and Python programming for rational agents.
We explore where artificial intelligence is embedded in daily life, from self-driving cars and Alexa to face recognition, chatbots, recommender systems, and deepfakes.
Explore four schools of AI definitions—thinking rationally, thinking like humans, acting rationally, and acting like humans—with examples like Google Maps, Siri, and Roomba, to reveal what AI truly is.
Define rationality and a rational agent, explain how actions maximize performance or utility, and examine the factors of rationality and how to judge decision success.
Identify the factors of rationality for an agent in a running race by defining a performance measure and percept sequence; an ideal agent maximizes performance using prior knowledge and actions.
Classify environments in artificial intelligence by five buckets: fully or partially observable, deterministic or stochastic, static or dynamic, episodic or non-episodic, and discrete or continuous.
Explore how various agent architectures use information to decide and act, from simple reflex agents and reflex agents with internal state to goal-based and utility-based agents.
Explore the architecture of simple reflex agents, a current-percept driven, condition-rule system that ignores history and uses predefined if-then actions.
Model-based reflex agents with internal state represent the world, use sensor readings to predict action effects, explore partially observable environments safely, and localize robots via subsumption architecture.
Explore how goal based agents perceive the environment with sensors, build a state model, and choose actions that move them closer to a goal.
Explore utility based agents that use a utility function to maximize happiness while balancing safety and goal progress, selecting routes via sensors, a world model, and effectors.
Install and configure the Anaconda distribution on Windows 10 by identifying your 64-bit system, downloading the 64-bit graphical installer, and following the on-screen steps to complete installation.
Explore the Anaconda Navigator interface, open Jupyter Notebook for Python, and use Spyder for scientific programming; discover optional tools Louis, Orange Tree, and RStudio, plus the environment tab.
Open Jupyter Notebook through Anaconda Navigator or the start menu, watch the launcher progress, see the command prompt, and view the notebook home page in your web browser.
Learn why python is in demand as a general purpose, high level, interpreted language with easy access and strong libraries; it supports functional, procedural, and object oriented paradigms.
Learn about data types and how to classify values, focusing on six data types, including numerical lists, strings, set, tuples and dictionary, and the operations they support.
Master for loops in Python via Jupyter Notebook, iterating over lists, ranges, and strings; practice even/odd checks, summing elements, and generating a multiplication table through hands-on activities.
Demonstrate while loops in a Jupyter notebook, including syntax, conditions, and using a counter to prevent infinite loops. Show practical examples with incrementing, summing numbers, and while-else constructs.
Create and call Python functions in Jupyter, mastering def, parameters, docstrings, and return values. Explore practical examples like printing a name, testing even or odd numbers, and Fibonacci series.
Guides using if else statements in a Jupyter notebook, reading two numbers, testing positivity or negativity, and practicing divisibility and even-odd checks with three activities.
Explain how artificial intelligence solves problems by contrasting reflex and planned agents, and show how a goal-based agent selects an optimal sequence to bridge the gap to the goal.
Define a problem solving agent that formulates a goal, builds a state space from actions, and searches for a sequence of states to reach the goal, illustrated with Rubik's cube.
Discover how problem solving agents use search to reach a goal by formulating the goal state, building a state space, and selecting action sequences, with informed and uninformed search.
Explore problem-solving agents and how search algorithms navigate the state space to find, optimize, and terminate solutions using graph search and graph theory.
Represent problems as graphs by identifying start and goal nodes, intermediate states, and connecting arcs; use state space search to find a path from initial to goal, as in Königsberg.
Explore how artificial intelligence designs agents to solve problems using search algorithms. Understand representing problems as graphs and separating search methods into uninformed and informed types.
Uninformed search is a blind method that explores the state space without distance or cost information to reach the goal, including breadth-first, depth-first, and iterative deepening strategies.
Explore breadth-first search, an uninformed graph search that expands the root node and all its neighbors level by level using a first-in, first-out queue to reach the goal state.
Learn how to implement breadth first search in Python to traverse undirected graphs using an adjacency list and a queue, tracking visited nodes to reach a goal.
Learn depth first search, a last in, first out strategy that uses a stack to expand deepest states before backtracking from the initial state toward the goal state.
Implement depth-first search in Python using a stack, an adjacency list, and a recursive approach to trace a path from a start node to a goal.
explore depth limited search, a depth first search variant that caps depth to prevent infinite paths, offering memory savings through layer-based exploration and a depth two example.
Explore iterative deepening depth-first search, gradually increasing depth limits to find a goal with finite branching factor and optimality, while noting repeated state visits and depth limits.
Uniform cost search explores a weighted graph by expanding the least-cost node using a priority queue, yielding a path that is optimal in terms of cost.
Explore how informed search uses an evaluation function f(n)=g(n)+h(n) with g(n) as path cost and h(n) as a heuristic to guide toward the goal, avoiding exhaustive blind search.
Explain best first search, an informed search algorithm that uses f(n)=g(n)+h(n) and a priority queue to expand the closest-to-goal node, pursuing the shortest path.
Explore the greedy search algorithm, a best-first variant using h(n) to estimate the cheapest path, guided by straight-line distance but prone to non-optimal routes and loops.
A* combines g(n) and h(n) to form f(n), balancing path cost and heuristic distance. The method yields a shortest, complete, and optimal path with robotics applications.
Explore local search and hill climbing, optimizing objective functions by moving to better neighboring states, without tracing full paths, and compare satisfaction with optimization.
Learn how the hill climbing algorithm maximizes an objective function by moving to better neighbors until reaching a peak, with random start and no memory of past moves.
Explore stochastic hill climbing, first choice hill climbing, and random restart hill climbing, using random neighbor evaluation and first better value to avoid local maxima; simulated annealing offers an alternative.
apply hill climbing to optimize objective functions in scheduling, inventory, and cloud load balancing. use it for robotics path planning and motion parameter tuning under constraints like load and vibration.
Define artificial intelligence and rational agents, and explore problem solving in different environments. Trace search algorithms like breadth-first and depth-first, and apply hill climbing to scheduling and routing.
This course is designed for all enthusiasts who are interested for a career in Artificial Intelligence. The main objective of this course is to give a solid foundation of the good old Artificial Intelligence concepts which includes the definition of Artificial Intelligence, different schools of Thought, a tinge of Sir Alan Turing's thoughts about Computational Thinking. As we progress into the course, we will try to understand the significance of graphs and how any problem can be represented as a Graph. At the heart of this course is Search Algorithms, we will have a look at methods that allow computers to search for solution in a huge solution space. In that pursuit, we will work with Uninformed Search and Informed Search Algorithms. Informed Search algorithms have their foot print in Robotics, Navigation systems, designing games and many more. Course is incomplete if we leave with informed search, to counter the problems of search algorithms, we will look into local search which will eventually land in Optimization. In local search, we will work with Hill climbing algorithms along with their disadvantages. To sum up, this course gives answers to questions raised by students who want to explore the fundamentals difference between human intelligence and machine intelligence.