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

CS50's Introduction to Computer Science
Harvard University via edX
Algorithmic Thinking (Part 1)
Rice University via Coursera
Creative Coding
Monash University via FutureLearn
Pensamiento algorítmico
Tecnológico de Monterrey via Coursera
Principles of Computing (Part 2)
Rice University via Coursera