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
CS50's Introduction to Computer ScienceHarvard 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