Трек
Для программистов

СИКП на PHP

Этот трек написан на основе «Структуры и интерпретации компьютерных программ» — легендарного курса от профессоров MIT. Новые знания о СИКП перевернут ваши представления о коде, данных и функциях.

Начать учиться
Картинка программы СИКП на PHP
Самостоятельно,
в любое время
Обратная связь
по урокам от поддержки Хекслета
Неограниченный доступ
к пройденной теории
359 студентов
проходят трек прямо сейчас

Программа обучения

Уроки
  • Введение

  • Map: Отображение списков

  • Фильтрация коллекций

  • Функция zip

  • Функция reduce

  • Сортировка

  • Частичное применение функции

  • Partition

  • Группировка


Чему научитесь
  • Использовать разнообразные функции высшего порядка для типовых задач обработки коллекций

  • Пользоваться основной тройкой функций функционального программирования map/filter/reduce

  • Писать код в неизменяемом стиле. Создавать новое на основе старого, вместо модификации.

Испытания
Уроки
  • Введение

  • Точки

  • Пары

  • Моделирование

  • Барьеры абстракции

  • Реализация пар

  • Рациональные числа


Чему научитесь
  • Создавать код, который легко читать и понимать что он делает

  • Научиться создавать удобные абстракции и скрывать внутреннюю реализацию данных

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

Испытания
Уроки
  • Введение

  • Представление последовательностей

  • Разметка

  • Отображение списков

  • Фильтрация списков

  • Свертка

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

  • Иерархические структуры

  • Уровневое проектирование


Чему научитесь
  • Строить сложные структуры данных на базе более простых

  • Проектировать функции так, чтобы их можно было легко соединять друг с другом

  • Обрабатывать коллекции представленные списками с помощью функций высшего порядка (map/filter/reduce)

  • Разделять код на уровни выстраивая правильное взаимодействие между слоями

Испытания
Уроки
  • Введение

  • Hello World

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

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

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

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

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

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

  • Данные

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

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

  • Map

  • Фильтрация

  • Свертка

  • Деревья

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

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

  • Объекты

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

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


Чему научитесь
  • Применять функциональное и декларативное программирование

  • Создавать гибкие алгоритмы с помощью функции высшего порядка и лямбда-функции

  • Обрабатывать сложные задачи с помощью рекурсивных функций с аккумулятором

  • Улучшать читаемость, разделяя программу на модули и функциональные блоки

  • Обрабатывать коллекции данных с помощью структуры данных и функции высшего порядка

Испытания

Как проходит обучение

Курс состоит из учебных модулей с уроками и проектами
  • В каждом уроке — теория, тесты на закрепление изученного и практика прямо в браузере

  • Задания проходят автоматическую проверку тестами и линтером

Теоретический материал
Мы воссоздали реальное рабочее пространство программиста. Прочувствуйте разработку «как есть» — с установкой софта, запуском кода, чтением ошибок и консольными командами
  • Вы прямо в браузере получаете доступ к виртуальной машине, редактору кода и к консоли

  • Сразу видите обратную связь по своему решению в виде тестов и их результатов

Упражнение в IDE
Проходите уроки самостоятельно в любое удобное время
  • Урок — это теория, квиз (проверочный тест) и практика

  • Учебный материал представлен в текстовом формате, иногда встречаются короткие видео

  • Практика может быть в виде упражнений в браузере, испытаний, проектов, самостоятельной работы и домашних заданий

  • Можно задавать вопросы по теории и практике уроков команде поддержки Хекслета

Тесты

Что говорят наши студенты о курсах и проектах

Какой же крутой курс! После пройденного "Абстракция с помощью данных" (либо же просто прошло какое-то время, и у меня всё улеглось в голове?) этот на столько раскладывает всё, куда нужно, что я, буквально, с каждой написанной функцией чувствовала как поднимаюсь на новый уровень абстракции. Надо сказать, что отсутствие дополнительных типов (массивов), очень помогает сосредоточиться непосредственно на абстракции. Спасибо! зы. Помня похожее задание из основного курса, облегчила...

Кайфовая задачка! Просидел над ней часа три — вначале понял задачу по сумме единиц во всем архиве, потом дошло, что только по двум сравниваемым элементам. Решение у меня с учительским вообще не сошлось, но зато узнал, как можно быстро складывать единицы в двоичном числе через логическое "И".

Практика конечно крутая получилась в этом уроке. Length сделал без проблем, только в отличии от учителя, использовал итеративное вычисление. Reverse - тоже без проблем, решение один в один с учителем. А вот с Append пришлось помучиться. Я его сделал, но мое решение и близко не такое короткое, как у учителя. Делал через итеративное вычисление используя и Length и listRef из теории. Я собирал новый list c конца прибавляя к list2 сar(subList1) от самого глубокого и выше.

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

Таки вынос мозга произошел. Спасибо! :) .

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

Думал сначала, что решение будет побольше, а там по 2 строки. Теорию понял, а вот с практикой чисто интуитивно получилось, но сейчас вроде бы тоже понял. Спасибо за курсы.

Получите доступ

К этому треку и ко всем остальным курсам Хекслета по подписке за 3 900 ₽ в месяц

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Кому подойдет обучение

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

Хекслет —
это серьезная подготовка инженеров-программистов

  • Топовые IT-компании обучают своих сотрудников на Хекслете

  • Весь обучающий контент создан практикующими IT-специалистами

  • Программы, направленные на системное развитие инженерного мышления

17 000+

Студентов учатся ежемесячно

4.7+ звезды
4.7+

Рейтинг на отзовиках: Otzyvmarketing

Индекс лояльности

Нашу платформу часто рекомендуют студенты

Нам доверяют обучение своих сотрудников

Контур
Kaiten
СБЕР МАРКЕТ
Bell integrator
QIWI
Agima
Авиасейлc
Альфа Банк
Uchi.ru
Райффайзенбанк
PeterService
Simtech
Itech Group
Хотите учиться от компании?

Расскажите вашему работодателю о Хекслете

Оформите подписку за 3 900 ₽ в месяц
  • Получите доступ к этому треку и ко всем остальных курсам Хекслета

  • Учитесь сколько нужно, отменить подписку можно в любой момент

  • Задавайте вопросы по урокам — вам ответит поддержка Хекслета

  • Сохраните неограниченный доступ к пройденной теории даже после отмены подписки

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Трек — это набор курсов по определенной теме для повышения квалификации и развития инженерного мышления. Треки подходят как для разработчиков с опытом, так и для новичков в качестве задания «со звёздочкой».

Вы можете учиться в своём темпе, срок обучения не ограничен.

Мы рекомендуем выделять 5-10 часов в неделю. Так с одной стороны обучение будет достаточно интенсивным, чтобы не растягивать его надолго, а с другой — достаточно комфортным, чтобы совмещать с работой и успевать отдыхать.

Материал программы — это готовые курсы с адаптированной для новичков теорией, тестами на закрепление и большим количеством практических упражнений с автоматизированной проверкой прямо в браузере. В некоторых треках есть проект — вы создадите приложение, которое станет частью вашего портфолио и даст опыт реальной разработки.

Вы можете учиться самостоятельно или вместе с наставником, он поможет разобраться в сложных моментах.

Тогда вы можете обучаться вместе с наставником.

Каждый наставник — опытный программист, который добился успехов в профессии, а теперь делится знаниями и опытом со студентами Хекслета. Кандидаты проходят строгий отбор — наставником становится лишь каждый десятый, поэтому случайных людей у нас нет.

Наставник помогает справляться с трудностями, отвечает на вопросы и делает ревью проектов.

Мы принимаем карты Visa, MasterCard и МИР любого банка, валюта счёта тоже может быть любой.

Если решите учиться самостоятельно, оформите подписку на план «Базовый». Доступ ко всем трекам откроется сразу после оплаты.

Если нужна помощь наставника, оставьте заявку на обучение. С вами свяжется куратор, подберёт подходящего наставника и пришлёт ссылку на оплату.