Skip to content

Repository files navigation

Физика 7–9 классов — интерактивное пособие

Автор: Федоров Вячеслав Васильевич, м.н.с. ИЯФ им. Г. И. Будкера СО РАН.

Электронное пособие по физике для основной школы. Составлено по учебникам И. М. Перышкина, сборникам задач А. Е. Марона и рабочей программе 7–9 классов.

Что внутри

Каждый урок — отдельная тетрадь Jupyter: теория, интерактивная модель, настоящий опыт с измерениями, численный эксперимент на Python, задачи с разбором и вопросы для самопроверки.

Интерактивные модели написаны на Canvas + JavaScript, поэтому работают прямо на опубликованном сайте, где ядра Python нет: ученику не нужно ничего устанавливать. Физика в моделях считается честно — упругие столкновения молекул и потенциал Леннард-Джонса. Формулы рисует MathJax из папки _mathjax, поэтому сайт работает и без интернета.

Готовые уроки

8 класс, раздел «Тепловые явления»:

ТемаПараграфОпыт на уроке
1Основные положения МКТ и их опытные подтверждения§ 1диффузия в горячей и холодной воде
2Масса и размеры атомов и молекул§ 1измерение размера молекулы по масляной плёнке
3Модели твёрдого, жидкого и газообразного состояний§ 2сжимаемость газа и жидкости, выращивание кристалла

Полный список 68 уроков 8 класса с отметками готовности — в grade8/index.md.

Структура репозитория

intro.md титульная страница пособия
_toc.yml оглавление: части по классам и разделам программы
_config.yml настройки сборки
grade7/ grade8/ grade9/
index.md обзор курса класса: все уроки по программе
lessons/*.ipynb сами уроки
samostoyatelnye/ короткие проверочные работы с ответами для учителя
phys/ общий код для всех классов
_static/custom.css оформление блоков с опытами
_mathjax/ MathJax для работы без интернета

Вспомогательный код общий для всех классов:

МодульНазначение
phys/sim.pyинтерактивные модели: броуновское движение, диффузия, агрегатные состояния, взаимодействие молекул, шкала размеров
phys/quiz.pyзадания с проверкой ответа: выбор варианта, число, скрытый разбор
phys/calc.pyфизические постоянные и расчёты
phys/style.pyединое оформление графиков

Как добавить урок

  1. Положите тетрадь в grade<N>/lessons/ — имя вида 12-uravnenie-teplovogo-balansa.ipynb, номер совпадает с номером урока в рабочей программе.
  2. Впишите файл в нужный раздел _toc.yml. Новый раздел программы — новая часть с заголовком вида 8 класс · Электрические явления.
  3. Отметьте урок готовым в таблице grade<N>/index.md — поставьте галочку и сделайте название ссылкой.
  4. Соберите: make rebuild.

Для нового класса достаточно создать grade<N>/index.md и папку lessons/ — весь код в phys/ уже общий.

Как собрать локально

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/pip install -e .
make build

Готовый сайт окажется в _build/html/index.html.

Важно: после правок в пакете phys/ нужна полная пересборка — Sphinx не отслеживает изменения в нём сам:

make rebuild

Посмотреть сайт локально: make serve (откроется на http://localhost:8321).

Править уроки удобно в JupyterLab: .venv/bin/jupyter lab.

Публикация

Сайт собирается и публикуется автоматически при каждом push в main (см. .github/workflows/deploy.yml) и доступен по адресу https://phys-dev.github.io/school-phys-book/.

Если публикация настраивается заново, в настройках репозитория нужно один раз выбрать Settings → Pages → Source: GitHub Actions.

About

Физика для школьников

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages