YoVDO

Algorithmic Thinking with Python: Foundations

Offered By: LinkedIn Learning

Tags

Python Courses Greedy Algorithms Courses Algorithmic Thinking Courses

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
1. Warm Up
  • Challenge: 100 doors
  • Solution: 100 doors
  • FizzBuzz
2. Tools to Help Understand the Flow of Algorithms
  • Tracing algorithms using an online visualization tool
  • Tracing algorithms using code or a debugger
  • Algorithm animations
  • Pseudocode
  • Using a whiteboard to explore algorithms
3. Brute Force Algorithms
  • Introduction to brute force algorithms
  • Linear search
  • Selection Sort introduction
  • Challenge: Selection Sort in Python
  • Solution: Selection Sort in Python
4. Analysis of Time-Space Complexity
  • 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
5. Greedy 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
6. Decrease and Conquer
  • Ferrying soldiers
  • Introduction to decrease and conquer
  • Binary search
  • Challenge: Binary search
  • Solution: Binary search
Conclusion
  • Exploring algorithmic thinking with Python

Taught by

Robin Andrews

Related Courses

Artificial Intelligence for Robotics
Stanford 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