Вредные советы по защите программ на зачётах, экзаменах и лабораторных

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Аватара пользователя
Vedrus
Сообщения: 39
Зарегистрирован: 27 сен 2007, 13:04

12 янв 2015, 10:50

Изображение

Программист – достойная профессия, чтобы посвятить ей свою жизнь. Если вы разделяете эту точку зрения автора, то вредные советы, которым посвящён блог «Вредные советы по защите программ» – не для вас; лучше поддержите беседу в другом моём блоге: «Мастер-класс виртуозного программирования». С другой стороны «вредные советы по защите программ» будут полезны тем студентам, чей профиль далёк от программирования, но которым по странному стечению обстоятельств (например, потому что программирование присутствует в числе общеобразовательных дисциплин) приходится писать и защищать свои программы. И если от написания программ ещё как-то можно откреститься, перепоручив сиё действо кому-нибудь другому, то защищаться-то всё равно придётся самому(ой).

Тому, как это делать с наибольшим комфортом и с наименьшими потерями психической энергии, как раз и посвящён данный блог. По сути дела мы здесь будем говорить об элементах социальной инженерии в приложении к защите ваших программ. Задайте себе следующие вопросы:
- Вам дали задание по программированию?
- У вас нет времени на его выполнение?
- Хотите отвязаться от преподавателя как можно быстрее?
- Хотите получить за это задание хорошую оценку?
- Хотите получить автомат?

Если вы ответили утвердительно хотя бы на два из них, то блог «вредные советы по защите программ» – для вас. Заходите сюда почаще. Я буду публиковать здесь разные интересные вещи. Но только имейте в виду, что в силу интересности рассматриваемой темы, среди читателей блога «вредные советы по защите программ», скорее всего есть и ваш преподаватель. Но вас это не должно смущать, потому что предлагаемые рецепты социальной инженерии настолько универсальны, что работают даже в условиях осведомлённости преподавателя. Это как криптография с открытым ключом: алгоритм есть, ключ есть, а расшифровать нельзя. Поэтому пользуйтесь и не бойтесь – всё у вас получится.
#define QUESTION bb || !bb
Аватара пользователя
Vedrus
Сообщения: 39
Зарегистрирован: 27 сен 2007, 13:04

12 янв 2015, 10:51

«ЗОЛОТАЯ ФОРМУЛА» УСПЕШНОЙ СДАЧИ ЛЮБОГО ЭКЗАМЕНА

Изображение

У преподавателя, как и у любого другого человека, есть свои желания, в первую очередь его интересуют именно они. Желания других людей, а тем более студентов, отодвигаются для него на второй план. Чтобы добиться желаемого результата, нужно дать преподавателю то, чего он хочет. А его желание вполне предсказуемо – быстрее отвязаться от вас, но так как он преподаватель, то не может просто так отпихнуть вас, а должен удостовериться в том, что вы усвоили материал. Если вам удалось его в этом убедить, то вы победили.

Вот четыре момента, на которые преподаватель обращает внимание в первую очередь при вынесении своего вердикта:
1. Есть ли у вас какие-то промежуточные результаты?
2. Как вы ведёте себя, перемещаясь по своей программе?
3. Есть ли в программе комментарии, и не избыточны ли они?
4. Тон вашего голоса и манера поведения при объяснении задачи?

Когда вы делаете задачу самостоятельно, то все эти моменты естественным образом выявляются при сдаче. Если же вы делали программу не сами, а, заказав её, получили только конечный результат, то без определённой подготовки можно провалиться, как бы качественно она не была выполнена. Самый распространённый сценарий сдачи «не своей» программы выглядит следующим образом:
1. Заказ программы у «знающего» человека.
2. Получение этой программы с подробнейшими комментариями.
3. Поход на сдачу и полный провал – преподаватель «завалил».

В результате начинается поиск виновного, им, конечно же, оказывается тот, кто писал программу. Чтобы избежать провала, нужно чётко понять одну вещь: наличие работающей программы не является определяющим фактором для успешной сдачи.

Вот несколько простых рекомендаций, которые существенно облегчат вашу жизнь при сдаче программы:

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

2. Преподаватель в большинстве случаев задаст вам пару-тройку вопросов, чтобы удостовериться в вашем понимании. Он – не дурак – то, что и без того есть в вашей программе спрашивать не будет. Поэтому, чтобы ответ на вопрос вам был известен заведомо, рекомендую в уже готовой программе отключить некоторые возможности. А когда преподаватель о них спросит – быстро восстановить их. Так вы покажете преподавателю свою компетентность, и он отвяжется от вас.

3. Хорошо бы иметь на руках «бумажные зарисовки» своей программы в виде алгоритмов и блок-схем, написанных от руки, и на защиту взять их с собой. Причём не для того, чтобы преподавателю их показывать, – а для того, чтобы как бы невзначай в них посматривать. Так вы дадите преподавателю понять, что к составлению программы подошли грамотно. Сейчас мало кто пишет алгоритм и рисует блок-схемы, а если и делает это – то только, чтобы отвязаться от преподавателя. Но если вам удастся разыграть сцену того, что алгоритм и блок-схемы нарисованы до написания программы, преподаватель очень сильно зауважает вас. И даже велика вероятность того, что поставит автомат.

4. Не комплексуйте, если преподаватель заподозрит вас в плагиате. Важно понять, что решение всех задач, которые вам дают, преподаватель видел уже не один десяток раз. Причём разные решения: и плохие, и средние, и хорошие, а также различные варианты их «рерайтов», поэтому что бы вы ни написали, преподаватель это уже видел. Но он по вашему поведению легко сможет понять, сами вы писали программу или нет. А если будете комплексовать, то не оберётесь подозрений, даже если всё сами писали.
#define QUESTION bb || !bb
Ответить