К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
TUI from Zero · LearnSpace
Назад в каталог
courseraПрограммирование

TUI from Zero

Курс от Pragmatic AI Labs
Средний≈ 6.1 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

TUI from Zero teaches you to build a pure-Rust terminal-UI framework from first principles to a working ptop-mini process monitor. Across five modules, you'll learn the wire format of a terminal — cells, ANSI escape sequences, Unicode block elements, and Braille code points — and how CellBuffer and DiffRenderer turn those primitives into a zero-allocation steady state. You'll master the Elm-style init/update/view shape, composite layout with Container/Row/Column, the .prs declarative scene format, and probar snapshot testing so every render byte is deterministic in CI. The capstone is ptop-mini, a Rust process monitor whose production binary swaps a Snapshot fixture for a live /proc reader without changing one line of the view function. Every widget is gated by a YAML contract and a probar snapshot test, so the framework you build is provable, not merely working. You should be comfortable with intermediate Rust — ownership and borrowing, traits and generics, Result and the ? operator. No prior terminal-UI experience is required.

Навыки, которые вы освоите

User Interface (UI)Software DesignRust (Programming Language)Unit TestingSystem MonitoringSystem ProgrammingEvent-Driven ProgrammingUI ComponentsTest CaseContinuous IntegrationCommand-Line InterfaceTest Driven Development (TDD)Interactive Data VisualizationTest ToolsYAMLTestabilitySoftware Architecture

Программа курса

5 модулей · 57 учебных материалов

01Render — CellBuffer and the Widget Trait13 материалов

The Terminal Is a Grid of Cells

About This CourseЧтениеKey Terms: The Terminal Is a Grid of CellsЧтениеELI5 Pixel GraphicsЧтение1.1.1 The Terminal Is A GridВидео

Учитесь у экспертов

Noah Gift

Преподаватель курса

TUI from Zero
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 6.1 ч

5 модулей

Язык: Английский

Субтитры: Арабский, Французский, Итальянский, Бразильский португальский, Корейский, Индонезийский, Испанский, Японский

Часть программы вашего университета
1.1.2 Presentar CellbufferВидео
1.1.3 Diffrenderer Emits Only ChangesВидео
Reflection: The Terminal Is a Grid of CellsЧтение

The Widget Trait — One Method, paint(rect)

Key Terms: The Widget Trait — One Method, paint(rect)Чтение1.2.1 The Widget TraitВидео1.2.2 Container Row ColumnВидео1.2.3 Block And LabelВидеоReflection: The Widget Trait — One Method, paint(rect)Чтение

Critical Thinking Assessment

Role Play: Render — CellBuffer and the Widget TraitDIALOGUE
02React — Elm-style Event Loop11 материалов

init / update / view — the Elm Shape

Key Terms: init / update / view — the Elm ShapeЧтение2.1.1 Init Update ViewВидео2.1.2 Counter AppВидео2.1.3 Replay DeterminismВидеоReflection: init / update / view — the Elm ShapeЧтение

crossterm's Event Loop

Key Terms: crossterm's Event LoopЧтение2.2.1 Crossterm Event LoopВидео2.2.2 Keyevent To MsgВидео2.2.3 Ctrl C And QuitВидеоReflection: crossterm's Event LoopЧтение

Critical Thinking Assessment

Role Play: React — Elm-style Event LoopDIALOGUE
03Compose — Widgets in Anger11 материалов

The 8-Level Block-Glyph Sparkline

Key Terms: Sparkline and BrailleGraphЧтение3.1.1 Block Glyph SparklineВидео3.1.2 Braillegraph Sub CellВидео3.1.3 Totality Of GlyphВидеоReflection: Sparkline and BrailleGraphЧтение

CpuGrid — One Cell Per Core

Key Terms: CpuGrid, ProcessTable, MemoryBarЧтение3.2.1 Cpu GridВидео3.2.2 Process TableВидео3.2.3 Memory BarВидеоReflection: CpuGrid, ProcessTable, MemoryBarЧтение

Critical Thinking Assessment

Role Play: Compose Widgets in AngerDIALOGUE
04Declare and Verify — YAML Scenes and Probar Tests11 материалов

YAML Scenes — The .prs File

Key Terms: Declarative TUI and the .prs FormatЧтение4.1.1 Why Declarative TUIВидео4.1.2 Prs FormatВидео4.1.3 Compile To Widget TreeВидеоReflection: YAML Scenes and the .prs CompilerЧтение

Probar — Snapshot Testing the TUI

Key Terms: Snapshot Testing with probarЧтение4.2.1 Snapshot As StringВидео4.2.2 Golden DiffВидео4.2.3 Probar PatternВидеоReflection: probar Snapshot TestingЧтение

Role Play — Declare and Verify

Role Play: Declarative TUI Review and Probar TestsDIALOGUE
05Untitled Module11 материалов

The ptop-mini Snapshot Fixture

Key Terms: The ptop-mini Snapshot FixtureЧтениеSnapshot FixtureВидеоView ComposesВидеоLive Loop vs CIВидеоReflection: The ptop-mini Snapshot FixtureЧтение

ptop-mini Demo over /proc

Key Terms: ptop-mini Demo over /procЧтениеDemo ptop-miniВидеоReflection: ptop-mini Demo over /procЧтение

Final Graded Quiz

Before You GoЧтениеFinal Graded Quiz — TUI from ZeroЗаданиеNext StepsЧтение