Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeЯ преподаю 26 лет и вот что я скажу программистам…

🎓 Математика для программистов: философия и практика преподавания

Ключевые тезисы:

  • Математика для программиста — это фундамент, набор базовых концепций для понимания сути процессов.
  • Суть математики — поиск инвариантов (одинакового) и различий.
  • Преподавание — это не только передача знаний, но и воспитание кругозора, эрудиции и способности мечтать.
  • Практические задания и курсовые работы нацелены на применение сложных алгоритмов к реальным задачам.

👨🏫 О преподавателе

  • Образование: учитель математики и физики, аспирантура по вычислительной математике.
  • Преподаёт с 2000 года, но до сих пор считает себя начинающим преподавателем — так удобнее готовиться к занятиям.
  • Сжигает старые лекции, чтобы не отставать от современной программы.

📚 Дискретная математика (1 курс)

Цель предмета: Объяснить базовые математические понятия, с которыми работает будущий программист. Студент должен понимать значение каждого термина.

Структура курса:

  1. Логика: логические операции, функции, предикаты, доказательства.
  2. Теория множеств: базовая основа всей современной математики.
  3. Функции: строгое определение понятия.

    Свойство — это предикат (булева функция).

  4. Отношения:
    • Отношение порядка (сравнение объектов).
    • Отношение эквивалентности (поиск одинакового).
  5. Основы теории чисел: целочисленные функции (пол, потолок, mod, div), сравнения, остатки.
  6. Прикладная часть: изучение доходит до хеш-функций и криптосистем (практическое задание — зашифровать новогоднее поздравление).

Формат практических работ: Студенты получают индивидуальные задания. Оценка зависит не от правильного ответа, а от демонстрации хода мыслей.

➕ Высшая математика (1 курс, параллельно)

Цель: Изучение классических математических концепций для прикладных задач (игры, дроны, движки).

Структура курса:

  1. Действительное число: вводится как предел последовательности или сечение (в школе изучается интуитивно).
  2. Функция (от действительных чисел).
  3. Непрерывность.
  4. Производная, интегралы, ряды.
  5. Векторный анализ: например, понятие потока (сумма векторов скорости в сечении реки).

Пример из практики: После летней практики, где студенты писали игру, они признавались, что вся высшая математика пригодилась.

🔬 Комбинаторные алгоритмы (продвинутый курс)

Фишка курса — курсовая работа.

  • Преподаватель изучает современные научные публикации (Стэнфорд, MIT, МГУ) и адаптирует сложные алгоритмы для студентов.
  • Задача студента: изучить задачу и современный алгоритм, а затем с нуля написать программу, его реализующую.

Пример темы курсовой: Задача оптимизации расписания для медицинских центров (учёт больных, врачей, их специализации, стоимости работы, расстояний и временных окон).

💡 Философия преподавания и воспитания

  • Роль преподавателя: как дирижёр, должен удерживать внимание аудитории (рассказать анекдот, «помахать шашкой»).
  • Цель — воспитать кругозор и эрудицию: показывать личный пример (чтение книг, походы в музеи и театры, путешествия за спектаклями).
  • Главная проблема современных школьников/студентов: перестали мечтать о будущем и своём месте в мире.

Выводы:

  1. Математика для программиста — живой и постоянно обновляющийся инструментарий.
  2. Эффективное обучение строится на понимании фундаментальных концепций, а не на заучивании.
  3. Важнейшая задача образования — не только дать знания, но и разжечь любопытство, расширить кругозор и вернуть студентам способность мечтать.
🧮 Математика для программистов: философия и практика — конспект на EchoNote