PRO курс

PHP: Построение абстракций

1605 сообщений в сообществе 5894 учащихся

Этот курс является адаптацией под php знаменитого курса "Структура и Интерпретация Компьютерных Программ", который преподается на первом курсе МИТ (Massachusetts Institute of Technology) с 70 годов.

Подготовительный курс

PHP: Функции

Уроки курса

  • 1

    Введение

    Познакомиться с курсом, узнать о декларативном программировании и других парадигмах программирования и понять, почему это важно знать каждому программисту.
  • 2

    Hello World

    Написать свою первую программу и узнать про способы ее запуска

    тесты

    упражнение

  • 3

    Абстракция с помощью функций

    Познакомиться с литералами и выражениями, а так же приоритетом операций в них. Научиться работать с лямбда-функциями.

    тесты

    упражнение

  • 4

    Комбинирование функций

    Научиться комбинировать функции. Познакомиться с понятиями окружения, порядком вычисления и с подстановочной моделью вычислений.

    тесты

    упражнение

  • 5

    Линейно-рекурсивный процесс

    Познакомиться с понятием вычислительных процессов и, конкретно, линейно-рекурсивным процессом.

    тесты

    упражнение

  • 6

    Линейно-итеративный процесс

    Научиться строить рекурсии с аккумулятором. Познакомиться с оптимизацией хвостовой рекурсии.

    тесты

    упражнение

  • 7

    Функции первого класса. Передача функций как аргументов

    Научиться передавать анонимные функции как аргументы других функций.

    тесты

    упражнение

  • 8

    Функции первого класса. Возврат как значения

    Научиться строить более обобщенные функции и генерировать из них конкретные.

    тесты

    упражнение

  • 9

    Что такое данные?

    Попытаться понять, что такое данные в рамках языка программирования, и как можно построить структуру данных на примере pair.

    тесты

    упражнение

  • 10

    Абстракция данных

    Познакомиться с идеей абстракции данных на примере создания структуры, представляющей рациональное число.

    тесты

    упражнение

  • 11

    Замкнутые множества

    Познакомиться с понятием замыкания при использовании математической операции на примере вложенных пар.

    тесты

    упражнение

  • 12

    Map

    Познакомиться с функцией высшего порядка, позволяющей применять переданную функцию к элементам множества.

    тесты

    упражнение

  • 13

    Фильтрация

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

    тесты

    упражнение

  • 14

    Свертка

    Написать функцию, позволяющую производить свертку нескольких значений.

    тесты

    упражнение

  • 15

    Деревья

    Изучить структуру данных «двоичное дерево» и ее реализацию в PHP с помощью списков.

    тесты

    упражнение

  • 16

    Стандартные интерфейсы

    Рассмотреть концепцию разделения программы на функциональные блоки, работающие с общей структурой данных.

    тесты

    упражнение

  • 17

    Оператор присваивания

    Рассмотреть концепцию присваивания и изменения состояния.

    тесты

    упражнение

  • 18

    Объекты

    Продолжить изучение оператора присваивания и перейти к созданию объектов.

    упражнение

  • 19

    Преимущества присваивания

    Рассмотреть полезные и положительные аспекты сохранения состояния.

    тесты

    упражнение

  • 20

    Недостатки присваивания

    Рассмотреть проблемы, связанные с использованием присваивания и сохранения состояния.

    тесты

    упражнение

Испытания

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

Автор

Кирилл Мокевнин

Сооснователь и технический директор образовательного проекта Hexlet. Программирует с 2007 года. За это время прошел путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков. Программирует на языках: elixir, clojure, javascript, php, ruby. Со-организатор конференции nastachku.ru. Вимер. Топит за DevOps и автоматизированные тесты.

Впечатления

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

Спасибо за вводный урок. Звучит очень интересно, надеюсь и на практике так же окажется.

Класс! Звучит многообещающе. 😃

Тема вроде не сложная, но с решением немного заморочился. Сделал через if, тесты прошли, как оказалось попал в точку. Спасибо Кириллу за уроки и задания, для меня, как для новичка, это бесценный опыт. Хотя бывает очень сложно, что аж мозг закипает))

продолжительность
52 часа
награда
138 баллов
Получить доступ к курсу