ALL_SERIES
SERIES_OVERVIEW // CURRICULUM_MAP

Learn Python

// Membangun kontrak belajar Python berbasis The First 20 Hours: target performa, batas scope, sub-skill, feedback loop, dan rencana praktik 20 jam pertama untuk software engineer.

35 Lessons483 Min Total04 Phases

This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.

apiapi-designapplication-boundariesarchitectureargparse+186 more

Curriculum Map

Navigate by phase, then choose the lesson that matches your current depth.

07

Core Collections: list, tuple, dict, set, dan Trade-off-nya

13 min

Membahas core collections Python untuk software engineer: list, tuple, dict, set, ordering, mutability, hashability, complexity, modelling trade-off, dan praktik pada case-tracker.

08

Functions as Design Units

14 min

Membahas function Python sebagai unit desain: signature, parameter, return, side effect, purity, closure, higher-order function, composition, error boundary, dan refactoring procedural code.

09

Modules, Packages, Imports, dan Application Boundaries

14 min

Membahas module, package, import system, __init__.py, python -m, import-time side effects, circular import, dependency direction, dan application boundary untuk Python project yang maintainable.

10

Exceptions, Failure Semantics, dan Defensive Python

14 min

Membahas exception Python secara engineering-level: hierarchy, raise/catch, custom exception, exception chaining, failure taxonomy, defensive boundaries, logging, dan error semantics.

11

Iteration, Comprehension, Generator, dan Lazy Thinking

11 min

Membahas iteration model Python: iterable, iterator, for-loop protocol, comprehension, generator function, generator expression, lazy evaluation, streaming data, itertools, dan pipeline design.

12

Object-Oriented Python: Class, Dataclass, Protocol, dan Composition

13 min

Membahas OOP Python secara engineering-level: class, instance, attributes, methods, dataclass, value object, entity, inheritance, composition, Protocol, ABC, duck typing, dan domain modelling.

13

Type Hints: Static Reasoning di Dynamic Language

12 min

Membahas type hints Python untuk production engineering: gradual typing, annotations, Optional, Union, Literal, TypedDict, Protocol, Generic, NewType, type alias, mypy/pyright, dan typing strategy.

14

Testing with pytest: Dari Confidence ke Design Feedback

10 min

Membahas testing Python dengan pytest sebagai feedback loop desain: test discovery, assertions, fixtures, parametrization, tmp_path, monkeypatch, exception tests, CLI tests, dan test structure.

15

Test Architecture: Mocking, Property Testing, Contract Testing

12 min

Membahas arsitektur testing Python tingkat lanjut: fakes vs mocks, unittest.mock, monkeypatch, property-based testing dengan Hypothesis, contract tests, golden files, deterministic tests, dan strategi menghindari flaky tests.

16

Code Quality Tooling: Ruff, Formatting, Linting, Type Checking, CI

12 min

Membahas quality tooling Python modern: Ruff formatter/linter, import sorting, pytest, mypy/pyright, pyproject.toml, pre-commit, GitHub Actions CI, quality gates, dan workflow team.

17

Packaging, Dependency Management, dan Reproducible Builds

15 min

Membahas packaging Python modern: pyproject.toml, project metadata, dependencies, dependency groups, optional dependencies, build backend, editable install, lockfile, wheel, sdist, dan reproducible builds.

18

Standard Library as Engineering Leverage

12 min

Membahas Python standard library sebagai leverage engineering: pathlib, datetime, json, csv, argparse, logging, collections, itertools, functools, contextlib, tempfile, subprocess, sqlite3, dan modul penting lainnya.

19

File I/O, Serialization, dan Data Boundaries

10 min

Membahas file I/O dan serialization Python secara engineering-level: text/binary, encoding, JSON, CSV, schema boundary, validation, atomic writes, corruption handling, data migration, dan repository design.