Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Foundations of Algorithmic Thinking with Python

Foundations of Algorithmic Thinking with Python

1h 15mAdvanced2022-04-26

Authors

Robin Andrews

Robin Andrews

Founder of Compucademy

Course details

The word “algorithm,” at one time the sole province of mathematics and computer science, has entered the modern vernacular because, for better or worse, algorithms have never been more important or more impactful in daily life. If you’re a developer, you need to be familiar with a wide range of algorithmic thinking in order to be able to solve new problems as they present themselves. If you’re already familiar with Python, becoming more versed in algorithmic thinking is a great way to increase your value as a developer. In this course, Robin Andrews explains how Python, because of its clarity and expressiveness, is the ideal tool for exploring algorithmic thinking. He shows you tools to help you understand the flow of algorithms, explains the brute force approach to solving algorithms, details the concepts of time and space complexity with regard to algorithm analysis, the decrease and conquer strategy, and much more.

Skills covered

PythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - Importance of algorithmic thinking
  • 02 - What you should know

1. Warm Up

  • 03 - Challenge - 100 doors
  • 04 - Solution - 100 doors
  • 05 - FizzBuzz

2. Tools to Help Understand the Flow of Algorithms

  • 06 - Tracing algorithms using an online visualization tool
  • 07 - Tracing algorithms using code or a debugger
  • 08 - Algorithm animations
  • 09 - Pseudocode
  • 10 - Using a whiteboard to explore algorithms

3. Brute Force Algorithms

  • 11 - Introduction to brute force algorithms
  • 12 - Linear search
  • 13 - Selection Sort introduction
  • 14 - Challenge - Selection Sort in Python
  • 15 - Solution - Selection Sort in Python

4. Analysis of Time-Space Complexity

  • 16 - Introduction to analysis of time-space complexity
  • 17 - Challenge - Big-O notation practice
  • 18 - Solution - Big-O notation practice
  • 19 - Examples of time complexity with Python
  • 20 - Memory considerations when implementing algorithms

5. Greedy Algorithms

  • 21 - Introduction to greedy algorithms
  • 22 - Introduction to the change making problem
  • 23 - Solution to the change making problem
  • 24 - Dijkstra's algorithm
  • 25 - Challenge - Dijkstra's algorithm
  • 26 - Solution - Dijkstra's algorithm
  • 27 - Dijkstra's algorithm - Python implementation

6. Decrease and Conquer

  • 28 - Ferrying soldiers
  • 29 - Introduction to decrease and conquer
  • 30 - Binary search
  • 31 - Challenge - Binary search
  • 32 - Solution - Binary search

Conclusion

  • 33 - Exploring algorithmic thinking with Python

Related courses

Related learn paths

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal