Programming · PRC-40

Python Programming for Developers

Python Programming for Developers is a fast-track course in modern Python for developers coming from other languages, covering Pythonic code, uv, type hints, dataclasses, httpx, asyncio and pytest. It suits Java, C# and JavaScript developers and teams moving into backend, data or AI work, and you leave with a well-structured, tested command line tool.

Updated
From 7,650 THB / person 8,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration18 hours · 3 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Python is the main language for automation, data, AI and backend work in many organisations. Developers who know other languages usually pick Python up quickly but keep writing it the way they wrote their old language, so the code ends up long, hard to read and does not use what Python offers. The Python ecosystem has also changed a lot in the past few years, in project management, type checking and testing.

This course is a fast track for developers who already know another language. It teaches Pythonic code in today's style on Python 3.15, using uv to manage projects and dependencies, type hints and dataclasses to design code, CSV and JSON files, HTTP APIs with httpx, the basics of asyncio and testing with pytest. Every day extends one tool, StockSense, until it is a well-structured, tested CLI that is ready to grow into backend, data or AI work. (3 days, 6 hours per day, 18 hours in total, Beginner to Intermediate level.)

What you’ll gain

  • Set up the environment and manage Python projects correctly with uv and pyproject.toml
  • Understand Python syntax, data types and core data structures by comparing them with familiar languages
  • Write Pythonic code with comprehensions, unpacking, iterators and generators
  • Use type hints and check types with a type checker
  • Design object-oriented code with classes, dataclasses and Enum appropriately
  • Handle CSV and JSON files, exceptions and context managers correctly
  • Call HTTP APIs with httpx, both synchronously and asynchronously, and understand the basics of asyncio
  • Write unit tests with pytest and keep code quality in check with Ruff

Who this course is for

  • Developers fluent in other languages, such as Java, C#, PHP or JavaScript/TypeScript, who need to use Python at work
  • Developers who have written some Python and want to move to current practices and tools
  • Teams preparing to move into backend APIs, data engineering or AI with Python
  • System administrators who want to write structured, testable automation scripts

Prerequisites

  • Able to program in at least one language and comfortable with variables, functions, conditions, loops and classes
  • Basic command line and Git skills
  • A basic understanding of JSON and HTTP
  • No prior Python experience is needed; Day 1 covers the syntax, focusing on where Python differs from other languages

Curriculum

Course Details

The institute runs Python Basic, Python OOP and Python Advanced as a graded path for people new to programming. This course is different: it is a fast track for developers coming from other languages. It does not teach general programming, and instead focuses on where Python differs from your current language, writing Pythonic code and modern tools such as uv, Ruff, a type checker and pytest on Python 3.15. It runs for 3 days, 6 hours per day (18 hours in total,

09:00-16:00), as lectures with labs and workshops on one tool, StockSense, that grows every day. Beginner to Intermediate level. Learners use their own laptop, and all tools are open source. Specialist topics such as web frameworks (FastAPI, Django), pandas, machine learning, in-depth database work and free-threaded Python are out of scope, and asyncio is taught at the level needed to call APIs concurrently. Tool versions change often, and the content follows the latest version on the training day.

Day 1 Modern Python Foundations

Section 1: Lab: Python Today and Project Setup with uv

  • How Python is used in automation, backend, data and AI
  • The yearly release cycle and the key features of Python 3.15
  • Install Python and manage projects with uv: uv init, uv add and uv run
  • pyproject.toml, virtual environments and lock files
  • Lab: create the StockSense project and run a first script

Section 2: Syntax and Basic Data Types

  • Indentation, variables and dynamic typing compared with familiar languages
  • int, float, str, bool, None and type conversion
  • f-strings and text formatting, including Thai text
  • Truthiness and operators that differ from other languages
  • Lab: exercises converting short snippets from your current language into Python

Section 3: Control Flow and Functions

  • if, elif, else, for, while and match (structural pattern matching)
  • Default arguments, keyword arguments, *args and **kwargs
  • Lambdas and higher-order functions
  • Lab: write functions that calculate inventory value

Section 4: Core Data Structures

  • list, tuple, dict and set, and choosing the right one for the job
  • Slicing and unpacking
  • frozendict in Python 3.15 for immutable data
  • Lab: store sample product data in lists and dicts

Section 5: Workshop: Writing Pythonic Code

  • List, dict and set comprehensions
  • enumerate, zip, sorted, any and all
  • PEP 8 and automatic formatting with Ruff
  • Workshop: group products by category and find low-stock items with Pythonic code
Day 2 Pythonic Design, Files and Error Handling

Section 6: Modules, Packages and Project Structure

  • import, packages and the src layout
  • if __name__ == "__main__" and entry points
  • Explicit lazy imports in Python 3.15 to cut start-up time
  • Lab: split the StockSense code into modules by responsibility

Section 7: Type Hints and Type Checking

  • Type hints for variables, functions and collections
  • Union, Optional, Literal, TypedDict and Protocol
  • Check with mypy or Pyright and read the results
  • Lab: add type hints to existing code and fix what the type checker reports

Section 8: Object-Oriented Programming the Python Way

  • Classes, __init__, instance and class attributes, and methods
  • Inheritance, composition and dunder methods (__repr__, __eq__)
  • @property, @classmethod and @staticmethod
  • Differences from OOP in Java and C# that learners should know

Section 9: dataclasses and Enum

  • @dataclass with frozen, field and __post_init__ for validation
  • Enum for fixed sets of values, such as categories and stock movement types
  • Comparing dataclasses with NamedTuple and dict
  • Lab: design the Product and StockMovement models

Section 10: Workshop: Files, Data and Error Handling

  • pathlib, reading and writing files, and UTF-8 as the default in Python 3.15
  • Reading and writing CSV and JSON
  • try, except, else, finally, custom exceptions and exception chaining
  • Context managers with with, and writing your own with contextlib
  • Workshop: import products from CSV, export a JSON report and handle malformed data
Day 3 HTTP, Async and Testing (Master Workshop)

Section 11: Iterators, Generators and Decorators

  • The iterator protocol and generators with yield for processing large files
  • Decorators for logging and timing
  • The logging module for recording what the program does
  • Lab: read a large stock movement file line by line

Section 12: Lab: Calling HTTP APIs with httpx

  • GET and POST, query parameters, headers and JSON bodies
  • Timeouts, retries and handling HTTP errors
  • Keeping configuration and secrets in environment variables
  • Lab: fetch product prices from a mock API

Section 13: asyncio Basics

  • The difference between sync, threads and async
  • async and await, coroutines and asyncio.run
  • Running work concurrently with asyncio.gather and httpx.AsyncClient
  • Lab: fetch many prices concurrently and compare the time with the sync version

Section 14: Unit Testing with pytest

  • Test structure, assert and running tests
  • Fixtures, parametrize and tmp_path for testing files
  • Mocking HTTP calls so tests do not depend on external systems
  • Basic test coverage
  • Lab: write tests for the calculation and import functions

Section 15: Master Workshop: StockSense CLI

  • Build the import, report, alert and sync-price subcommands with argparse
  • Fetch prices concurrently with async httpx and record logs
  • Check with Ruff and a type checker before committing, and define run commands in pyproject.toml
  • Present the result, explain the design and how to grow it into a package

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

How does this course differ from Python Basic, Python OOP and Python Advanced?

Those three courses form a graded path for beginners: Python Basic covers programming fundamentals, Python OOP focuses on object-oriented code and Python Advanced moves on to advanced topics. This course is a 3-day fast track for developers who already program in another language. It does not repeat programming basics, and instead focuses on where Python differs from your current language, writing Pythonic code and modern tools such as uv, Ruff, a type checker and pytest.

Can I join if I have never written Python?

Yes, as long as you can program in at least one other language and understand variables, functions, loops and classes. Day 1 covers Python syntax from the start by comparing it with languages you know. If you have never programmed at all, we recommend starting with Python Basic.

Which Python version is used, and does it still help if my workplace runs an older version?

The class uses Python 3.15, released in October 2026, with 3.14 as a fallback if a library does not support it yet. Almost all the content applies to any supported Python 3 version. New 3.15 features such as lazy imports and frozendict are clearly flagged as needing the new version, and uv makes it easy to choose a Python version per project.

What do I need to prepare?

A Windows 10/11 or macOS laptop with at least 8 GB of RAM, permission to install software and internet access to python.org, PyPI and GitHub. Install VS Code and Git beforehand; the instructor will walk you through installing Python and uv in class. All tools are open source, so there is no extra cost.

Does the course cover FastAPI, Django or pandas?

No. The course focuses on the language and the core tools every Python developer needs, so you can write code the right way within 3 days. Afterwards you can move straight on to the institute's backend courses, such as FastAPI, or its data and AI courses.

What do I take back to work?

You take home the source code for every stage of the StockSense CLI, a project template already set up with uv, Ruff, a type checker and pytest for starting your team's next project, the daily lab guides and a certificate of completion.

Related articles

Articles are published in Thai.