Возможность точного прогнозирования и моделирования цунами — задача, актуальная во все времена. Точное прогнозирование позволяет избежать жертв и экономического ущерба. Создание эффективных средств для моделирования погодных условий является важной задачей, вызовом современной науке. Именно поэтому актуальность данной работы не вызывает сомнений. Для написания программного комплекса автором был выбран язык Scala. Функциональные языки программирования традиционно считались уделом академической среды (в частности, из-за своей сложности). Однако последние годы показывают обратную тенденцию: крупные коммерческие организации по всему миру обращают пристальное внимание на данную парадигму, когда речь заходит о выборе средств разработки для действительно сложных проектов. Стоимость ошибки в подобных проектах может быть слишком высока. Удачно выбранные средства разработки позволяют избежать множества проблем, параллельно формируя хороший стиль программирования. Процесс создания параллельных программ становится намного более эффективным благодаря использованию данной парадигмы. Чистые функциональные языки позволяют создавать надежный и компактный код, упрощают и ускоряют тестирование (в частности, unit-тестирование). Ярким примером использования функционального языка в инженерных проектах может служить создание программного обеспечения для коммутационного оборудования на языке Erlang (помимо указанных преимуществ, инженеры могут обновлять программы «на лету», без отключения критически важных сервисов на время обслуживания). Об упомянутой тенденций, к примеру, свидетельствует включение в Java SE 8 лямбда-выражений и ряда других возможностей, традиционно присущих функциональным языкам. Слияние объектно-ориентированной и функциональной парадигм — наступившее будущее. В этом отношении Scala — один из самых передовых и многообещающих языков программирования. Вопросы обработки big data уже давно занимают особое положение в современной науке. Интерес к данной области вызван практической необходимостью обработки большого объема данных (например, результаты экспериментов и моделирования, данные Интернет-сервисов). Распределенная обработка данных — единственный разумный вариант для выполнения расчетов за приемлемое время, предоставления услуги в рамках установленного качества обслуживания. Задача обработки данных может стать ключевой, решение которой определит успех проекта. Выбор эффективного средства для распределенной обработки данных зачастую является основой для эффективной работы всего программного комплекса. Apache Spark — средство, уже зарекомендовавшее себя для распределенной обработки данных. Подводя итог, выбор языка Scala и Apache Spark — удачное и перспективное решение. Оно заслуживает отдельного упоминания. Выбор данных средств для разработки свидетельствует о тщательной подготовке автора к выполнению проекта. Оценивая работу в целом, можно сказать следующее: работа написана грамотным языком, хорошо структурирована. Данная работа состоит из 3 глав. В первой части автор приводит постановку задачи, конкретизирует требования к итоговому программному продукту. В следующей главе приводятся теоретические сведения, необходимые для реализации, уточняются технические детали. Наконец, описывается реализация поставленной задачи, приводятся детальные сведения о программном продукте, требования ко входным данным, раскрываются детали реализации. Работа содержит небольшое количество иллюстраций, и это можно отнести к недостаткам. Однако детальное описание автором ключевых положений работы компенсирует данный недостаток. Прямых заимствований в работе не обнаружено, цитаты снабжены соответствующими ссылками. Работа соответствует требованиям, предъявляемым к выпускной квалификационной работе бакалавра по направлению «Фундаментальная информатика и информационные технологии», и может быть оценена на «отлично».