Python tutorial

Readable code for automation, data, and first programs.

111 lessonsExamples and guided walkthroughs

Course contents

111 lessons

Programming fundamentals

Object-oriented programming

Data structures and algorithms

18

Python algorithm complexity

Compare linear work with quadratic work by counting operations.

19

Python sets and tuples

Choose uniqueness or immutable grouping to fit the problem.

20

Python linear search

Find the first matching element without assuming sorted input.

21

Python binary search

Halve a sorted search interval after each comparison.

22

Python bubble sort

Move the largest remaining item to the end with adjacent swaps.

23

Python selection sort

Select the smallest remaining value for each position.

24

Python insertion sort

Grow a sorted prefix by shifting larger elements.

25

Python merge sort

Sort halves recursively and merge them in order.

26

Python quicksort and partitioning

Partition around a pivot, then sort smaller subproblems.

27

Python stacks and balanced parentheses

Use last-in, first-out storage to match nested parentheses.

28

Python queues with deque

Process work in first-in, first-out order.

29

Python dictionaries and frequency counting

Count repeated values using key-value lookup.

30

Python singly linked lists

Follow node references and insert at the head.

31

Python binary search trees

Insert ordered keys and traverse them in sorted order.

32

Python heaps and priority queues

Remove the smallest priority efficiently.

33

Python graphs and breadth-first search

Visit reachable vertices level by level without revisiting cycles.

34

Python depth-first search

Explore one branch fully before returning to alternatives.

35

Python Dijkstra shortest paths

Relax nonnegative weighted edges using a priority queue.

36

Python dynamic programming

Reuse earlier results instead of recomputing overlapping subproblems.

37

Python backtracking and subsets

Choose, recurse, and undo to explore a decision tree.

Analysis of algorithms

Database systems

Operating systems

Computer networks

Software engineering

Information security

Parallel and distributed computing

Artificial intelligence

Knowledge representation and reasoning

Machine learning

Neural networks and deep learning

Computer vision