Skip to content
Educora

Python

The most popular first language: simple, powerful, versatile

Learn to write Python programs from zero: from variables and conditions all the way to functions, classes and working with files. In every lesson you run the code right in your browser and see the result. By the end of the course you will be able to build a small but real project on your own.

42 lessons9 modules≈ 14.2 hBeginnerIntermediateAdvancedUniversity
Progress0%

0 of 42 lessons completed

Start course

What is Python? Your first program

Course content

All tests · 15Formulas & shortcuts
6

Python in depth

Advanced

Generators, decorators, typing, async code, testing and the secrets of professional Python.

10 lessons
  1. 15Iterators and generatorsHow a `for` loop really works: the iteration protocol, `__iter__`/`__next__`, generators with `yield`, lazy evaluation, `yield from` and memory-friendly pipelines.
  2. 16Decorators and closuresFunctions as objects, the LEGB rule, closures and `nonlocal`, writing decorators, decorators with arguments, `functools.wraps` and caching with `lru_cache`.
  3. 17Context managers and the with statementWhat `with` really does: `__enter__` and `__exit__`, handling exceptions in `__exit__`, writing managers with `contextlib.contextmanager`, and the ready-made tools `suppress`, `redirect_stdout` and `ExitStack`.
  4. 18Type hints and dataclassesWriting types into your code: `list[int]`, `int | None`, `Callable`, `Literal`, generics and `Protocol`, checking with mypy, plus `@dataclass`, `field`, `frozen`, `order` and `slots`.
  5. 19Advanced OOP: special methods, properties and the MROMake your classes behave like built-in types: `__repr__`/`__str__`, `__eq__`/`__lt__`/`__hash__`, operator overloading, the container protocol, `@property`, class and static methods, the MRO, `super()` and `abc.ABC`.
  6. 20Regular expressions with reSearching text by pattern: `re.search`, `findall`, `finditer`, character classes and quantifiers, groups and named groups, greedy vs lazy matching, `sub`, `split`, flags and `compile`.
  7. 21Asynchronous Python: async and awaitRun waiting-heavy work concurrently: coroutines, `await`, the event loop, `asyncio.run`, `gather`, `create_task`, `TaskGroup`, timeouts, `async for` and the dangers of blocking the loop.
  8. 22Packages, modules and virtual environmentsStructure a project like a professional: modules vs packages, `__init__.py`, relative imports, `if __name__ == '__main__'`, `venv`, `pip`, `requirements.txt`, `pyproject.toml` and version specifiers.
  9. 23Testing with pytestWrite automated tests: how pytest finds tests, assert rewriting, checking exceptions and floats, fixtures, `tmp_path` and `parametrize`.
  10. 24Performance, Big-O and the collections moduleWrite fast code: Big-O notation, the cost of list, dict and set operations, measuring with `timeit` and `cProfile`, `Counter`, `defaultdict`, `deque`, `namedtuple` and `itertools`.
8

Data science: NumPy, pandas, matplotlib

University

Array computing, tabular data analysis, charts, statistics and machine learning with scikit-learn.

7 lessons
  1. 29NumPy basics: arraysMeet the NumPy array (ndarray): type and shape, creating arrays, reproducible random numbers, indexing, slicing, boolean masks and aggregation along axes.
  2. 30NumPy: vectorization and linear algebraReplace loops with array expressions, master the broadcasting rules, reshape arrays, and use `np.linalg` to solve linear systems and find determinants and eigenvalues.
  3. 31pandas basics: Series and DataFrameWork with tabular data in pandas: Series and DataFrame, reading CSV, `head`, `info`, `describe`, selecting with `loc` and `iloc`, filtering, sorting and new columns.
  4. 32Data analysis with pandasThe core tools for real data: missing values, `groupby` and `agg`, joining tables with `merge`, `pivot_table`, `map` and `apply`, dates, and a mini analysis of a café chain's sales.
  5. 33Visualization with matplotlibBuild line, bar and scatter charts, histograms and subplots, label axes, titles and legends properly, choose the number of bins and learn the rules of honest, readable charts.
  6. 34Statistics with PythonDescriptive statistics, outliers, the normal distribution and `scipy.stats`, the central limit theorem, confidence intervals, the t-test and correlation — with formulas, worked examples and runnable code.
  7. 35Machine learning with scikit-learnscikit-learn's unified interface: splitting data, linear and logistic regression, decision trees, MSE, R², accuracy, the confusion matrix, precision and recall, cross-validation and pipelines that protect against data leakage.
9

AI and deep learning with PyTorch

University

From gradient descent to neural networks: tensors, autograd, training loops, CNNs and transformers.

7 lessons
  1. 36Machine learning conceptsTypes of machine learning, features and labels, data splits, loss functions, gradient descent, overfitting and the bias–variance trade-off — with runnable NumPy examples.
  2. 37PyTorch: tensorsInstall PyTorch and learn its core data type: creating tensors, dtype and shape, reshape/view, indexing, broadcasting, matrix multiplication with @, GPUs and NumPy interop.
  3. 38PyTorch: autograd and automatic differentiationHow PyTorch computes derivatives for you: the computational graph, requires_grad, backward() and .grad, the chain rule, gradient accumulation, torch.no_grad() and gradient descent with autograd.
  4. 39PyTorch: building neural networksFrom an artificial neuron to a multilayer network: z = w·x + b, activation functions (ReLU, sigmoid, tanh, softmax), nn.Linear layers, nn.Module and nn.Sequential, the forward pass and parameter counts.
  5. 40PyTorch: the training loopDataset and DataLoader, loss functions, the SGD and Adam optimizers, the full training loop, eval mode and accuracy, saving a model with state_dict — by training a small classifier on synthetic data.
  6. 41Convolutional neural networks (CNNs)Images as tensors (C × H × W), convolution and the output-size formula, filters, pooling, a small CNN for 28 × 28 images with a shape walk-through, MNIST with torchvision and transfer learning.
  7. 42Transformers and large language modelsTokens and embeddings, self-attention Attention(Q, K, V) = softmax(QKᵀ/√dₖ)·V, multi-head attention, positional encoding, encoders and decoders, how LLMs learn by next-token prediction, fine-tuning, Hugging Face and responsible AI.