Интерактивный курс по машинному обучению, biomedical NLP и биоинформатике на React, TypeScript, Vite и Tailwind. Интерфейс сохраняет учебный поток Stepik: тёмная панель курса, отдельные шаги урока, мгновенная проверка квизов, практические задачи и автоматический прогресс.
Текущая программа: 14 модулей, 81 урок и 592 интерактивных шага.
Исследовательские уроки специально имеют разную структуру: от 5 до 9 вопросов, 1–3 кодовых практик, разное число примеров и более двадцати учебных форматов. В зависимости от темы это клиническое расследование утечки, split-аудит, omics-разбор, NER/RAG-лаборатория, редакционная мастерская или имитация submission room.
Финальная цель — воспроизводимый, submission-ready пакет исследования уровня, подходящего для рассмотрения профильным журналом. Курс не обещает принятие или конкретный квартиль: scope и актуальный quartile по базе, категории и году проверяются непосредственно перед подачей.
Уроки содержат:
/topics/:topicId/:stepId;localStorage;Ctrl+Space, snippets и контекстными подсказками для NumPy, pandas, Matplotlib и scikit-learn.Python 3.12 запускается через Pyodide в отдельном Web Worker. Базовый runtime копируется из npm-зависимости в public assets перед dev/build, поэтому запуск обычного Python не зависит от CDN.
Judge:
main.py и показывает синтаксические/runtime-ошибки;numpy, pandas, matplotlib, scikit-learn) только при соответствующем import.Для загрузки дополнительных научных пакетов браузеру нужен доступ к официальному CDN дистрибутива Pyodide. Сам Python runtime и стандартная библиотека раздаются приложением локально.
npm install
npm run dev
Production build и preview:
npm run build
npm run preview
Перед dev, build и preview автоматически выполняется sync:python-runtime.
npm run audit:curriculum
npm run lint
npm run build
npm run test:e2e
audit:curriculum проверяет точное число модулей/уроков/шагов, обязательное покрытие ML и bioinformatics, разнообразие учебных форматов, заявленные числа вопросов/примеров/практик, а также выполняет эталонные Python-решения на sample и hidden tests.
Playwright E2E проверяет программу курса, автоматический прогресс, квизы, комментарии, Python judge со скрытыми тестами и отмену зависшего выполнения.
public/
python-judge-worker.js # изолированный Pyodide judge
scripts/
audit-curriculum.mjs # структурный и исполняемый аудит курса
sync-python-runtime.mjs # локальные assets Pyodide
src/
components/
CodeEditor.tsx # Monaco + контекстные Python completions
CourseSidebar.tsx # Stepik-like структура курса
PlatformTopBar.tsx
data/
aiCurriculum.ts # активные 14 модулей
courseFlow.ts # типы и итоговый lesson flow
curriculum/ # NumPy, pandas, ML и research/bioinformatics-контент
features/quiz/
QuizWidget.tsx
hooks/
useProgress.ts
lib/
practiceEngine.ts # sample/hidden judge protocol
pages/
TopicsPage.tsx
TopicDetailPage.tsx
tests/e2e/
course.spec.ts
Схема ml-trainer-progress-v3 хранит завершённые шаги, пройденные квизы и практики, завершённые темы/подтемы и последний посещённый шаг. Миграция читает прежние ключи прогресса, чтобы не терять результаты существующих пользователей.
TypeScript
88.6%
JavaScript
6.4%
Python
4.8%
Интерактивный курс по машинному обучению, biomedical NLP и биоинформатике на React, TypeScript, Vite и Tailwind. Интерфейс сохраняет учебный поток Stepik: тёмная панель курса, отдельные шаги урока, мгновенная проверка квизов, практические задачи и автоматический прогресс.
Текущая программа: 14 модулей, 81 урок и 592 интерактивных шага.
Исследовательские уроки специально имеют разную структуру: от 5 до 9 вопросов, 1–3 кодовых практик, разное число примеров и более двадцати учебных форматов. В зависимости от темы это клиническое расследование утечки, split-аудит, omics-разбор, NER/RAG-лаборатория, редакционная мастерская или имитация submission room.
Финальная цель — воспроизводимый, submission-ready пакет исследования уровня, подходящего для рассмотрения профильным журналом. Курс не обещает принятие или конкретный квартиль: scope и актуальный quartile по базе, категории и году проверяются непосредственно перед подачей.
Уроки содержат:
/topics/:topicId/:stepId;localStorage;Ctrl+Space, snippets и контекстными подсказками для NumPy, pandas, Matplotlib и scikit-learn.Python 3.12 запускается через Pyodide в отдельном Web Worker. Базовый runtime копируется из npm-зависимости в public assets перед dev/build, поэтому запуск обычного Python не зависит от CDN.
Judge:
main.py и показывает синтаксические/runtime-ошибки;numpy, pandas, matplotlib, scikit-learn) только при соответствующем import.Для загрузки дополнительных научных пакетов браузеру нужен доступ к официальному CDN дистрибутива Pyodide. Сам Python runtime и стандартная библиотека раздаются приложением локально.
npm install
npm run dev
Production build и preview:
npm run build
npm run preview
Перед dev, build и preview автоматически выполняется sync:python-runtime.
npm run audit:curriculum
npm run lint
npm run build
npm run test:e2e
audit:curriculum проверяет точное число модулей/уроков/шагов, обязательное покрытие ML и bioinformatics, разнообразие учебных форматов, заявленные числа вопросов/примеров/практик, а также выполняет эталонные Python-решения на sample и hidden tests.
Playwright E2E проверяет программу курса, автоматический прогресс, квизы, комментарии, Python judge со скрытыми тестами и отмену зависшего выполнения.
public/
python-judge-worker.js # изолированный Pyodide judge
scripts/
audit-curriculum.mjs # структурный и исполняемый аудит курса
sync-python-runtime.mjs # локальные assets Pyodide
src/
components/
CodeEditor.tsx # Monaco + контекстные Python completions
CourseSidebar.tsx # Stepik-like структура курса
PlatformTopBar.tsx
data/
aiCurriculum.ts # активные 14 модулей
courseFlow.ts # типы и итоговый lesson flow
curriculum/ # NumPy, pandas, ML и research/bioinformatics-контент
features/quiz/
QuizWidget.tsx
hooks/
useProgress.ts
lib/
practiceEngine.ts # sample/hidden judge protocol
pages/
TopicsPage.tsx
TopicDetailPage.tsx
tests/e2e/
course.spec.ts
Схема ml-trainer-progress-v3 хранит завершённые шаги, пройденные квизы и практики, завершённые темы/подтемы и последний посещённый шаг. Миграция читает прежние ключи прогресса, чтобы не терять результаты существующих пользователей.
TypeScript
88.6%
JavaScript
6.4%
Python
4.8%