Дмитрий Сергеевич Ботов

Аспирант

В 2005 году поступил на кафедру ЭВМ. В 2010 году окончил кафедру ЭВМ с красным дипломом с квалификацией инженер по специальности "Вычислительные машины, комплексы, системы и сети". Первым опытом преподавания в высшей школе стало проведение на кафедре ЭВМ факультативного курса "Основы программирования на Java" в 2008-м году совместно с Владимиром Поляковым. Несмотря на небольшое число занятий, этот опыт был успешным - курс оказался востребованным у студентов старших курсов кафедры.

С 2010 года по 2011 год разрабатывал и преподавал дисциплины "Управление данными" и "Объектно-ориентированное программирование" студентам направления "Информационные системы" Международного факультета ЮУрГУ.

В 2011 году поступил в аспирантуру к заведующему кафедрой ЭВМ Кафтанникову Игорю Леопольдовичу и начал преподавать на кафедре.

Преподавательская деятельность:
  • преподавание дисциплины "Объектно-ориентированное программирование" (осенний семестр 3-го курса специальности 230101)
  • проведение практических занятий по дисциплине "Объектно-ориентированное программирование" (весенний семестр 1-го курса бакалавриата по направлению 230100)
Сфера научных интересов:
  • Языко-ориентированное программирование, предметно-ориентированные языки программирования (DSL), языковые инструментарии (language workbenches), изучение вопросов проектирования DSL, проблем представления семантики предметно-ориентированных языков (как части семантики программной системы) и отображение семантики на синтаксис языков.
  • Изучение методик разработки, управляемой моделями (Model Driven Development).
  • Участие в научных и учебно-методических семинарах научной группы "Программная инженерия", проводимых на кафедре под руководством доцента каф. ЭВМ Павла Леонидовича Цытовича.
Сфера преподавательских интересов:
  • Посильное участие в разработке учебных планов 3-го поколения бакалавриата и магистратуры направления "Информатика и вычислительная техника" совместно с методистами и преподавателями кафедры ЭВМ.
  • Разработка учебных программ и учебно-методических комплектов для ряда дисциплин цикла "Программная инженерия".
Сфера профессиональных интересов:
  • разработка и поддержка программных систем на Java и PL/SQL
  • администрирование СУБД Oracle
  • администрирование и разработка под некоторые продукты линейки Oracle Enterprise Performance Management and Business Intelligence.
Хобби: аргентинское танго, познаю азы и философию этого замечательного танца.


Дисциплина "Объектно-ориентированное программирование" (осенний семестр 3-го курса специальности 230101)
Связи с другими дисциплинами: Дисциплина базируется на знаниях и навыках студентов, полученных в курсах «Дискретная математика», «Информатика», «Программирование на языке высокого уровня». Дисциплина опирается на знание студентами ранее изученных языков как низкого уровня (Assembler), так и языков процедурного программирования высокого уровня (Pascal, C).

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

Курс "Технологии программирования" (ТП) читается в одном семестре с данной дисциплиной и сильно с ним переплетается. Так в курсе ТП дается представление об основах объектно-ориентированного подхода и сам курс направлен на изучение принципов объектно-ориентированного анализа и проектирования, а курс "Объектно-ориентированное программирование" погружает студентов в особенности реализации объектно-ориентированных программ.

Кратко о курсе "Объектно-ориентированное программирование":
Главной целью освоения дисциплины является получение студентами представления о принципах, методах и практиках создания и развития объектно-ориентированных программ (совместно с курсом «Технологии программирования»). Основное внимание в данной дисциплине из всего жизненного цикла программной системы уделяется этапу реализации программной системы на одном из объектно-ориентированных языков программирования.

В качестве основного языка программирования выбран популярный современный объектно-ориентированный язык (и платформа) программирования Java. Кроме этого в течение всего курса постоянно проводятся аналогии и сравнения реализации механизмов поддержки объектно-ориентированного программирования в Java с другими современными объектно-ориентированными языками: С++ и C#. Это позволяет нашим выпускникам не становиться заложниками только одной технологии и дает им возможность осознанно выбирать и применять наиболее эффективные инструменты, языки программирования и технологии для решения каждой конкретной поставленной перед будущим инженером задачи.

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

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