Всем привет, меня зовут Александр и в этом году я заканчиваю магистратуру.

Так получилось, что сейчас я пишу 2 диплома или, правильнее сказать, 2 магистерских диссертации одновременно: одну на русском языке по российским стандартам, а вторую — на английском языке по немецким стандартам. Почему так получилось, я расскажу как нибудь потом (совсем другая история), а сейчас, я бы хотел поделиться своими знаниями в области написания работ бакалавров и магистерских диссертаций в преддверии летних защит.

image

Введение. Фундамент работы


Как и в твоём дипломе, в моей статье тоже должно быть введение. О структуре поговорим позже, а сейчас, хотел бы сказать с чего всё начинается.

А начинается всё с того, что тебе необходимо что-то сделать, например, если ты бакалавр, то твоя работа должна быть более проектной (70% Техническая часть 30% Исследовательская часть). Обычно, работы бакалавров в Computer Science заключаются в создании какого либо приложения, которое автоматизирует определенную задачу, например «Автоматизированная система библиотеки».

Работы магистров формально и фактически должны состоять в большей степени из исследовательской части и в меньшей из технической (70/30). Но зачастую, программисты делают магистерские работы аналогичными бакалаврским, только в более расширенном варианте и пытаются притянуть за уши какую-никакую «науку» в них.



Если хочешь написать хороший диплом, задумайся об этом за 1 год, а ещё лучше за 2. Если ты бакалавр, то можешь начать спрашивать на кафедре про проекты, в которых ты бы мог принять участие. Если кафедра разрешает писать дипломы по своим собственным проектам — тоже хорошо. Если ты магистр, то самым простым вариантом будет продолжать делать то, что ты уже делал в бакалавриате, пытайся изобрести что-нибудь новое или же использовать что-то существующее в новой задаче. Публикация статей и поездки на конференции формируют бэкграунд для того, чтобы успешно написать свою работу и суметь её защитить.

Личный пример: Тема моего бакалаврского диплома находится на стыке Computer Science и Natural Language Processing (NLP) и называлась так: «Разработка диалоговой системы для помощи студентам и абитуриентам ВУЗа». Этакий ВУЗовский чатбот. В данной работе большее внимание я уделял написанию веб-приложения и меньше рассматривал отдельные методы из NLP, которые я использовал в своём чатботе. В магистерской диссертации наоборот, я большее внимание уделяю конкретным методам и подзадачам. Изучаю влияние входных данных на качество выхода и так далее. Разработке приложения уделяется минимальное внимание, в этом и разница.

Итак, что же нужно делать? Если ты бакалавр — пиши приложение, если магистр — делай исследование. В обоих случаях старайся ездить на конференции и публиковать статьи — это поможет заложить крепкий фундамент выпускной квалификационной работы.
Когда это нужно делать? Начинать нужно за 1-2 года до срока сдачи диплома, а заканчивать стоит за 1-2 месяца до сдачи. Это время тебе понадобится на написание отчёта, о котором поговорим далее.

Зачем это нужно делать? В первую очередь для себя. Если ты сможешь написать простенькое CRUD приложение, то у тебя есть все шансы пойти работать Junior разработчиком в локальную ИТ-конторку. А ещё, тебе нужно выпуститься из ВУЗа, так что код писать в любом случае придётся.

Написание отчёта


Обычно, под дипломом студенты понимают именно отчёт, особенно такое мнение популярно в России. Более того, я знаю человека, который часть своего диплома написал с помощью генератора текста (о котором и был его диплом). К сожалению, такой подход, по моему мнению, ошибочен, ведь отчёт — это всего лишь описание того, что ты сделал. А о том, что нужно делать мы уже поговорили в предыдущей части.

Перед тем, как писать отчёт — тебе необходимо почитать научные статьи по твоей тематике, желательно те, которые ты потом сможешь использовать в списке литературы своей работы. Выбери 15-20 статей (50% русских, 50% зарубежных) и начни штудировать. Искать статьи можно тут: E Library и Google Scholar. Так же полезно иметь парочку полноценных книг по твоей теме, из них можно брать фундаментальные понятия, например про принципы ООП. Искать книги можно тут: Вконтакте Документы OZON. Можешь не читать всё целиком, а лишь бегло и осознанно пробежаться по основным пунктам, впоследствии, для уточнения деталей ты ещё не раз будешь возвращаться к той или иной статье.

После того, как ты ознакомился с литературой, можешь начинать накидывать «скелет» твоего диплома. Где это делать — решать тебе, обычно все пишут в Ворде, можно делать в Гугл Доке, а если ты преисполненный и умеешь пользоваться LaTeX, то ищи соответствующий шаблон и пиши там! Примерная структура диплома программиста в соответствие с ГОСТом 7.32 выглядит следующим образом:

  • Титульный лист (зависит от вашего ВУЗа)
  • Реферат (пишется по госту, примерная длина — одна страница)
  • Определения (прописываем все определения, например «Инкапсуляция — ...». Всё в алфавитном порядке)
  • Обозначения и сокращения (прописываем в алфавитном порядке все аббревиатуры)
  • Введение (описание важности проблемы, статистика, описание самой проблемы, цель и задачи)
  • 1. Теоретические и технические основы (описывает основные понятия и технологии, которые вы используете)
  • 2. Описание предложенного подхода (для бакалавров — проектирование программного продукта со всеми вытекающими, для магистров постановка и описание экспериментов, описание предлагаемых методов решения задачи)
  • 3. Имплементация (для бакалавров — описание процесса разработки, для магистров — описание процесса проведения экспериментов, анализ результатов и выведенные инсайды).
  • Заключение (подведение итогов, обзор выполненных задач и цели, ограничения работы и последующая работа)
  • Список использованных источников (в порядке цитирования, можно юзать сервис snoska.info)
  • Приложения (может быть листинг кода, модели данных и т.д.)

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

Ещё, к данной структуре диплома могут быть добавлены две главы: Экономическое обоснование и Защита информации. Всё зависит от требований вашей кафедры или университета.

По поводу оформления — я бы не хотел вдаваться в подробности в этой статье, требования достаточно полно описаны в ГОСТе 7.32.

Личный пример: диплом бакалавра я писал в Ворде и с этого получил очень много баттхёрта, теперь я пишу диплом в Гугл Доках и пока не заморачиваюсь по поводу оформления. К слову сказать, в Германии нет жёстких требований по оформлению — главное содержание. Но, об этом, в следующей статье.

Итак, что же нужно делать? Найди 15-20 научных статей и пробегись по ним. Создай документ в Ворде (или в чем-то другом), накидай его структуру в соответствие с приведенным тут содержанием и начинай шаг за шагом писать текст. Далее, открой ГОСТ и скорректируй оформление.

Когда это нужно делать? Начинай писать отчёт за 2-3 месяца до сдачи диплома.

Зачем это нужно делать? Это формальность, которая позволит тебе выпуститься из ВУЗа. Есть и приятный бонус: написание отчёта помогает тебе структурировать в голове все знания, полученные в процессе работы.

Подготовка презентации


Окей, ты проделал большую работу и написал отчёт, осталось это красиво презентовать. Начинай готовить слайды, когда отчёт уже почти завершен. Структура презентации должна примерно соответствовать структуре твоего отчёта, а оформление слайдов индивидуально для каждого ВУЗа или кафедры.

Чего НЕ нужно делать:

  • Вставлять код на слайды
  • Вставлять длинные схемы алгоритмов на слайды
  • Писать длинные определения
  • Заполнять слайд текстом на 100%

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

Личный пример: я всегда структурирую слайды для презентации по тому же принципу, как и в отчёте. Готовлю слайды в зависимости от требований по оформлению, если сторих рамок нет, то использую LaTeX, если есть строгие правила по оформлению и нет шаблона в LaTeX, то использую Power Point.

Итак, что же нужно делать? Создай структуру слайдов в соответствии с оглавлением твоего отчета и заполни их шаг за шагом. Затем, по тому же принципу напиши доклад и отрепетируй презентацию.

Когда это нужно делать? Начинай готовить презентацию за 2-3 недели до защиты.

Зачем это нужно делать? Опять же, это формальность, которая позволит тебе выпуститься из ВУЗа. А ещё, это поможет тебе научиться грамотно презентовать твоё исследование.

Заключение


Вместо заключения хотел бы пожелать всем, кто в этом году заканчивает ВУЗ — удачных защит, а тем, кто это будет делать позже — «готовьте сани летом». Если лень читать, просто пробегись по пунктам, выделенным жирным шрифтом, там я постарался собрать краткую выжимку из каждого параграфа. Жду ваши комментарии внизу!