В последните няколко дни текът защити. Всяка година ни става тежко по време на защитите, защото едни и същи грешки се повтарят. Ние влагаме доста от нас в ТУЕС и меко казано очакваме резултати.
Ако дипломант иска да защити диплома в ТУЕС, съветвам го да прочетете този „Наръчник за оцеляване“.
Напълно разбирам, че някой от дипломантите нарочно ще нарушат някой от тези правила, само „за да видят какво ще се случи“. Предполагам с тях просто сме сбъркали и ненужно сме ги подготвяли в тези няколко години за каквото и да било.
Първо – в ТУЕС всички трябва да имате дипломни работи, за да получите професионална квалификация.
Второ – аз ще разкажа повече за софтуерните защити, но много от нещата се отнасят и за мрежите и за хардуера.
Трето – пиша тази статия, за да можем да вървим напред. ТУЕС не е обикновенно училище. Комисията, пред която ще се явите не е просто комисия от някое си състезание по програмиране или пък олимпиада. Ние искаме доста. И понякога малко по-различни неща.
Всяка комисия се състои от 3-ма до 5-ма участници. В рамките на няколко часа пред нас се представят от 6 до 10-11 дипломни работи. Всяка работа има 5 минути за презентация, още 5 за демонстрация. Чете се рецензия от рецензент, който е отделил няколко часа, за да напише смислена рецензия. След това започваме да питаме, което продължава колкото комисията прецени. След това заседаваме. Всеки участник дава оценка на всяка една от представените дипломни работи и се оформя средна оценка за всяка една от тях. Понякога 12-то класниците може да се почерпят при успешно защитаване помежду си след защитата, като отидат някъде например, но последните години рядко го забелязвам.
Ето и правилата, които да следвате:
- Винаги с работещ продукт и винаги с възможност да го демонстрирате – няма начин да защитите без работеща дипломна работа.
- Книжното тяло е важно – много от книжните тела са с ниско качество, защото това е първият опит да пишете такава работа. Не ни харесва. Затова доброто книжно тяло се забелязва и говори много. Ако не можете в около 40 страници да разкажете, грамотно, какво сте направили, значи за 4 месеца не сте направили много.
- Не идвайте с чужди приложения – една от целите на защитата е да провери дали вие сте разработили приложението. Може и да нямаме 100% успеваемост, но ТУЕС не е университет, където нещата да минат незабелязано.
- Без безумни сравнения – всяко едно сравнение от тип „mysql е 4 пъти по-бърза от база x“, „езикът „abc“ е много по-мощен от езикът „def“, следва да се пропуска. В общия случай ако нямате данни и не сте провели стотици, хиляди експерименти, отбягвайте сравненията „по/най-голям, бърз, лесен“.
- Не слагайте сол в раната – почти винаги е по-добре да се съгласите със забележките в рецензията (за които рецензенът е отделил няколко часа да напише). А ако не сте съгласни бъдете готови да се аргументирате.
- Технологията е без значение – всеки член на комисията може да има своето разбиране за софтуерните технологии, но като цяло изборът ви на технология не е от огромно значение, стига да сте постигнали добри резултати.
- Всеки от отбора получава оценка – ако сте двама и двамата трябва да сте работили. Не се притесняваме да поставяме различни оценки на различните участници в дипломната работа, ако единият е работил много повече от другия.
- Задължително по подразбиране – в една разработка има определени характеристики, които са задължителни, но моля ви се, не ни ги демонстрирайте. Ако ги нямате лошо. Трябва да ги имате, но пропуснете представянето им. Това са:
- – регистрацията в интернет приложения – всяко интернет приложения трябва да има регистрация и управление на потребителите. Очакваме да е там, но не очакваме да ни го демонстрирате
- – валидация на полетата – при въвеждане на данни за всяко едно от полетата трябва да правите необходимите проверки и да валидирате данните, но не ни демонстрирайте това, че когато паролите се различават, потребителят не може да се регистрира. Изключения правят полетата, които валидирате по регулярни изрази. Ако имате такъв, задължително го споменете, за да можем да зададем няколко въпроса за регулярни изрази :)
- Обемът е важен. Проблемът е важен – някой дипломни работи са скучни, но с голям обем. Това са например информационните системи, при които има много различни форми за въвеждане на информация, но в крайна сметка се прави едно и също във всяка една от тях. Въвежда се информация в потребителския интерфейс, записва се в базата. И обратното. Може да сте направили 1000 такива форми в приложението си за управление на „видеотеки“, но знанията, които сте получили ще са същите ако бяхте направили само 2 форми и прекарали времето си в някой интересен проблем за решаване. Проблемът за решаване също е важен, но ако сте решили зададения проблем с 100-200 реда код, това означава, че проблемът е зададен неправилно за дипломна работа или ще вие сте намерили решението на друг проблем. Рядко, но сме виждали хора, които се опитват да защитят дипломни работи, които може да се разработят в рамките на няколко часа. Това е несериозно и силно дразни комисията. А ако пък се случи някой ваш съученик с подобна работа да защитава в деня, в който и вие защитавате, то при раздразнена комисия и вашата задача става по-сложна. Понякога дипломната ви работа малка и не е разработено почти нищо. Това се вижда и от двете страни. Не губете времето на комисията да вадите от 9 кладенеца вода и да по-казвате колко много сте направили. Всички виждат „колко много“ сте направили.
- Сложността е важна. Завършеността е важна – понякога възниква въпросът какво е по-важно за комисията. По-лесно, но завършено приложение или по-трудно, но незавършено приложение. Моят съвет е: тръгнете с приложение, което е в състояние „завършено“ от ден 1 и постоянно се подобрява. Ако незнаете как, бих попитал, защо сте отсъствали от часовете по Технология на програмирането. Когато избирате тема на дипломната работа целете се високо – примерно CAD система, сервизен робот, Multiplayer игра и др.
- Представянето има значение, презентацията не – представете се добре, говорете спокойто. Шаблонът на презентацията ви няма голямо значение, не губете много време върху него (освен ако дипломната ви работа не е на тема „Автоматично генериране на latex шаблони за презентации на база анализ върху представени изображения“)
- Лицензът е важен – ако сте откраднали малко код и го използвате неправилно, може да не ви допуснем и до защита. Още няма такъв случай, но винаги има първи път.
- mysql_fetch_array и mysql_fetch_assoc трябва да знаете какво правят, каква е разликата, какво кога връщат, защо и как точно се използват в цикъл. Това разбира се ако ползвате PHP.