Introduction to Algorithms – Foundations of Computing
Introduction to Algorithms – Foundations of Computing
- Instructor Name
- Date
Agenda
1. Introduction and Context
2. What is an Algorithm?
3. Historical Context
4. Algorithms Predate Computers
5. Algorithms as the Soul of Computing
6. Why Study Algorithms?
7. Formal Definition of an Algorithm
8. Example – Euclid’s Algorithm for GCD
What is an Algorithm?
- Definition: A finite sequence of well-defined, unambiguous instructions or steps that can be
executed in a finite amount of time to solve a specific problem or perform a computation.
- Algorithms are abstract models of computation—blueprints for solving problems.
Historical Context
- The word “algorithm” has its roots in the name of a 9th-century Persian mathematician:
Muhammad ibn Musa al-Khwarizmi.
- His Latinized name, Algoritmi, became synonymous with the rules of performing arithmetic
using Hindu-Arabic numerals.
Algorithms in Computing
- Searching: Binary Search
- Sorting: Merge Sort, Quick Sort
- AI / ML: Backpropagation, Decision Trees
- Networking: Dijkstra’s Algorithm
- Databases: Query Optimization Algorithms
- Security: RSA, AES
Summary
- Algorithms are foundational to computing
- They are not just lines of code but logical structures
- Understanding algorithms empowers us to harness the full potential of computing systems