forked from spbu-se/matmex-diploma-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvkr.tex
92 lines (68 loc) · 7.96 KB
/
vkr.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
% !TEX TS-program = xelatex
% !BIB program = bibtex
% !TeX spellcheck = ru_RU
% About magic macroses see also
% https://tex.stackexchange.com/questions/78101/
\input{header.tex}
\input{header2.tex}
\usepackage{totcount}
\begin{document}
\input{title.tex}
\maketitle
\setcounter{tocdepth}{2}
\tableofcontents
% \begin{abstract}
% В курсаче не нужен
% \end{abstract}
\section*{Введение (обязателен к Новому году)}
\input{000intro}
\section{Постановка задачи (обязателен к Новому году)}
\input{010task}
\section{Обзор (обязателен к новому году)}
\input{020related}
\section{Background (опционально)}
Здесь пишется некоторая дополнительная информация о том, зачем делается то, что делается.
Например, в работе придумывается какой-то новый метод решения формул в \SMT{} в теориях с числами. Без каких-то дополнительных пояснений будет казаться, что работа состоит из жестокого ``матана'' и совсем не по теме кафедры системного программирования.
Поэтому, в данном разделе стоит рассказать, что все эти методы примеряются для верификации в проекте \vsharp{}, и поэтому непосредственно связаны с тематикой кафедры.
\section{Метод}
\input{040method}
\section{Эксперимент (желательно к Новому году)}
\input{070experiment}
\section{Применение (того, что сделано на практике)}
Если применение в лоб не работает, потому что всё изложено чуть более сжато и теоретично, надо рассказать тонкости и правильный метод применения результатов. Если результаты применяются без дополнительных телодвижений, то про это можно не писать.
\section{Угрозы нарушения корректности (опциональный)}
Если основная заслуга метода, это то, что он дает лучшие цифры, то стоит сказать, где мы могли облажаться, когда
\begin{enumerate}
\item проводили численные замеры;
\item выбирали тестовый набор (см. \emph{confirmation bias})
\end{enumerate}
\section{Реализация}
Очень важный раздел для будущих программных инженеров, т.е. почти для всех. Важно иметь всегда, в том числе для промежуточных отчетов по учебным практикам или ВКР.
В процессе работы можно сделать огромное количество косяков, неполный список которых ниже.
\begin{enumerate}
\item Реализация должна быть. На публично доступную реализацию обязательная ссылка. Если код под \textsc{NDA}, то об этом, во-первых, должно быть сказано явно, и, во-вторых, на защиту должны выноситься другие результаты (например, архитектура), чтобы комиссия имела возможность оценить хоть что-то.
\begin{itemize}
\item Рецензент обязан оценить код (о возможности должен побеспокоиться обучающийся).
\end{itemize}
\item Код реализации должен быть написан защищающимся целиком.
\begin{itemize}
\item Если проект групповой, то нужно явно выделить какие части были модифицированы защищающимся. Например, в предыдущих разделах на картинке архитектуры нужно выделить цветом то, что вы модифицировали.
\item Нельзя пускать в негрупповой проект коммиты от других людей, или людей не похожих на Вас. Например, в 2022 году защищающийся-парень делал коммиты от сценического псевдонима, который намекает на женский ``гендер''. (Нет, это не шутка.) На тот момент в российской культуре это выглядело странно.
\item Возможна ситуация, что вы используете конкретный ник в интернете уже лет пять, и желаете писать ВКР под этим ником на \GitHub{}. В принципе, это допустимо (не только лишь я так считаю), но если Вы встретите преподавателя, который считает наоборот, то Вам придется грамотно отмазываться. В Вашу пользу могут сыграть те факты, что к нику на гитхабе у Вас приписаны настоящие имя и фамилия; что в репозитории у вас видна домашка за 1й курс; и что Ваш преподаватель практики сможет подтвердить, что Вы уже несколько лет используете это ник; и т.п.
\end{itemize}
\item Если вы получаете диплом о присвоении звания программного инженера, код должен соответствовать.
\begin{enumerate}
\item Не стоит выкладывать код одним коммитом.
\item Лучше хоть какие-то тесты, чем совсем без них. В идеале нужно предъявлять процент покрытия кода тестами.
\item Лучше сделать \textsc{CI}, а также \textsc{CD}, если оно уместно в Вашем проекте.
\item Не стоит демонстрировать на защите, что Вам даже не пришло в голову напустить на код линтеры и т.п.
\end{enumerate}
\item Если ваша реализация по сути является прохождением стандартного туториала, например, по отделению картинок кружек от котиков с помощью машинного обучения, то необходимо срочно сообщить об этом куратору на мат-мехе, иначе Государственная Экзаменационная Комиссия ``порвёт Вас как Тузик грелку'', поставит ``единицу'', а все остальные Ваши сокурсники получат оценку выше. (Это не шутка, а реальная история 2020 года.)
\end{enumerate}
\noindent Если Вам предстоит защищать учебную практику, а эти рекомендации видятся как более подходящие для защиты ВКР, то ... отмаза не засчитывается, сразу учитесь делать нормально.
\section*{Заключение}
\input{090conclusion}
\setmonofont[Mapping=tex-text]{CMU Typewriter Text}
\bibliographystyle{ugost2008ls}
\bibliography{vkr}
\end{document}