Algorithmic Thinking with Python: Foundations
Offered By: LinkedIn Learning
Course Description
Overview
Learn how to develop your algorithmic thinking skills to become a better problem solver.
Syllabus
Introduction
- Importance of algorithmic thinking
- What you should know
- Use GitHub Codespaces with this course
- Challenge: 100 doors
- Solution: 100 doors
- FizzBuzz
- Tracing algorithms using an online visualization tool
- Tracing algorithms using code or a debugger
- Algorithm animations
- Pseudocode
- Using a whiteboard to explore algorithms
- Introduction to brute force algorithms
- Linear search
- Selection Sort introduction
- Challenge: Selection Sort in Python
- Solution: Selection Sort in Python
- Introduction to analysis of time-space complexity
- Challenge: Big-O notation practice
- Solution: Big-O notation practice
- Examples of time complexity with Python
- Memory considerations when implementing algorithms
- Introduction to greedy algorithms
- Introduction to the change making problem
- Solution to the change making problem
- Dijkstra's algorithm
- Challenge: Dijkstra's algorithm
- Solution: Dijkstra's algorithm
- Dijkstra's algorithm: Python implementation
- Ferrying soldiers
- Introduction to decrease and conquer
- Binary search
- Challenge: Binary search
- Solution: Binary search
- Exploring algorithmic thinking with Python
Taught by
Robin Andrews
Related Courses
Artificial Intelligence for RoboticsStanford University via Udacity Intro to Computer Science
University of Virginia via Udacity Design of Computer Programs
Stanford University via Udacity Web Development
Udacity Programming Languages
University of Virginia via Udacity