Re[3]: Курсовые - как это делается в Астраханском универе
От: DmitrySpb79 Голландия  
Дата: 10.07.14 12:53
Оценка: 16 (2) +2 -1
Здравствуйте, Dym On, Вы писали:

DO>Ага, а потом начинаются стоны на форумах: "достался старый проект, говнокод, документации нет и т.д. и т.п." А если бы все было грамотно задокументировано, да еще и стандартно, вопросов было бы на порядок меньше.


Такое бывает? Ни разу в жизни не попадался проект с документированным кодом. Это что-то из области фантастики. В лучшем случае рядом сидит автор у которого можно спросить, в худшем тот кто код делал, давно уволился год назад.

Умение разобраться с чужим (говно)кодом (тоже кстати вполне суровая правда жизни когда проект писали 10 человек в разное время, при этом ТЗ менялось 5-6 раз) тоже не менее нужный скилл программиста, который приходит с опытом и которому не учат в университете

Честно, я бы технологии рефакторинга уделил в университете больше времени, чем изучению особенностей 5 никому не нужных методов сортировок...
Re[2]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 12:57
Оценка:
Здравствуйте, DmitrySpb79, Вы писали:
DS>У нас в университете тоже был курс "Алгоритмы и структуры данных". Рисовали и делали на С++ всякие деревья, списки и пр. Курс вроде был около года, или пол-года, не помню уже.
DS>Для общего понимания сути конечно нужно, но в реале за 10 лет работы делать свой список (или упаси господь свою сортировку) ни разу не пригодилось
Ну, это понятно. Но я привел только первые курсовые, которые как раз более обучающие, чем профессиональные.
DS>Так что все это неплохо, но и зацикливаться я бы тоже не стал, востребованы более прикладные вещи (UI, графика, клиент-серверное взаимодействие, работа с файлами и пр).
Дык у нас еще 3 и 4 курсы есть, где все это изучается.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Курсовые - как это делается в Астраханском универе
От: elmal  
Дата: 10.07.14 13:02
Оценка: 87 (9) +5
Здравствуйте, LaptevVV, Вы писали:

LVV>Все, что написал студент, мы прочитываем примерно по 5 раз за семестр.

LVV>Вычищаем ляпы, исправляем форматирование, показываем правильный стиль, исправляем орфографические ошибки — постепенно
LVV>приближая документ к тому, как положено писать технические документы.
Кем положено писать технические документы?

Ну вот что мешает сделать документацию в виде wiki? Или в виде сайта-портфолио студента. Исходный код чтоб держался на github или на какой университетском репозитории. С разделением доступа, чтоб к коду имел доступ только профессор и автор, или авторы, чтоб можно было посмотреть историю коммитов и тому подобное. И чтоб были требования к сборке проекта с нуля, чтоб проект можно было собрать и запустить на любой машине. Чтоб у преподавателя была возможность в результате написать скрипт, который автоматом при сборке проверяет стиль, какие базовые грабли, прогоняет свои тесты, а также проверяет тесты студента на предмет нахождения возможных граблей.

Разве плохо, чтоб к окончанию универа у каждого студента было портфолио, которое он мог бы показать работодателю. Куча опенсорсного кода, который не на выброс, а реально бы использовался в универе. Чтоб были университетские библиотеки, которые могли бы развивать студенты, и которые бы упрощали написание рутинных операций. Или даже чтоб у каждого студента были свои либы, чтоб приучался писать либы, и потом мог использовать потом где угодно. Как реализацию стандартных, так и более высокоуровневых.

И оценивать дополнительно вклад студентов в общие университетские либы. Прогонять все программы под профайлером, в результате выявлять тех, код которых самый эффективный, и за это поощрять. В качестве курсовых, например, делать искусственный интеллект для игрушек. И чтоб алгоритмы искусственного интеллекта соревновались друг с другом, в результате соревнования устроить.

Вот сделайте такое, и тогда реально после ВУЗа будет специалист, готовый сразу же работать, с квалификацией поболее многих опытных.

Но вместо всего этого мучить студентов ГОСТами да ЕСПД, заставлять печатать тексты программ, титульные листы и тому подобное. Ну вот кому нужен такой формализм? Убивает это весь энтузиазм. Когда ты сфокусирован именно на решении задач, да и задачи интересные — это очень приятно, это охрененно повышает мотивацию. Но когда основной упор идет на ГОСТы да на презентации, а программирование это так, дело десятое, то и получаем выпускников, который про CI, системы контроля версий и тому подобное только слышал на лекциях. Но привычки у него нет ни черта этим всем пользоваться, для него основной инструмент это майкрософт офис.

Ведь почему у буржуев такая автоматизация? Почему именно буржуи пачками клепают новые языки программирования, создают фреймворки, полезные либы и т.д? А вот именно по тому, что в учебе идет упор на программирование, максимально приближенное к реальности. И при этом стараются чтоб было интересно. А не убивают все желание написанием технических документов! Причем даже технические документы пишут гораздо лучше специалистов по ЕСПД.
Re[3]: Курсовые - как это делается в Астраханском универе
От: DmitrySpb79 Голландия  
Дата: 10.07.14 13:06
Оценка:
Здравствуйте, LaptevVV, Вы писали:

DS>>Так что все это неплохо, но и зацикливаться я бы тоже не стал, востребованы более прикладные вещи (UI, графика, клиент-серверное взаимодействие, работа с файлами и пр).

LVV>Дык у нас еще 3 и 4 курсы есть, где все это изучается.

Да, год на структуры данных это нормально.

Только я бы не стал писать это под консоль, а сразу параллельно рассказывал студентам как с нормальным GUI программу сделать: сложности тут особой нет и много времени не займет, зато пользы гораздо больше.
Re[4]: Курсовые - как это делается в Астраханском универе
От: Dym On Россия  
Дата: 10.07.14 13:10
Оценка: +2
E>Ну вот что мешает сделать документацию в виде wiki? Или в виде сайта-портфолио студента. Исходный код чтоб держался на github или на какой университетском репозитории. С разделением доступа, чтоб к коду имел доступ только профессор и автор, или авторы, чтоб можно было посмотреть историю коммитов и тому подобное.
Отличная идея!
Счастье — это Glück!
Re[3]: Курсовые - как это делается в Астраханском универе
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 10.07.14 13:17
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Kernan, Вы писали:


LVV>>>Если есть вопросы — задавайте.

K>>Было бы здорово, если бы не было ереси в виде Дракона.
LVV>А что вы против него имеете?
Ни в одной развитой стране мира это не используют. За UML отдельный плюс.
Sic luceat lux!
Re[4]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 13:50
Оценка: :)
Здравствуйте, Kernan, Вы писали:

K>>>Было бы здорово, если бы не было ереси в виде Дракона.

LVV>>А что вы против него имеете?
K>Ни в одной развитой стране мира это не используют. За UML отдельный плюс.
Тем не менее, книга Паранджанова переводится на английский и есть заинтересованные в ее продвижении на Западе люди.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Курсовые - как это делается в Астраханском универе
От: DmitrySpb79 Голландия  
Дата: 10.07.14 14:05
Оценка: +5
Здравствуйте, LaptevVV, Вы писали:

K>>>>Было бы здорово, если бы не было ереси в виде Дракона.

LVV>>>А что вы против него имеете?
K>>Ни в одной развитой стране мира это не используют. За UML отдельный плюс.
LVV>Тем не менее, книга Паранджанова переводится на английский и есть заинтересованные в ее продвижении на Западе люди.

Имхо в институте не должно быть никаких "учебных языков" — учиться надо на реально существующих и реально используемых языках/системах.

А всякие "школьные языки программирования" хороши в лучшем случае в начальной школе, где надо по-быстрому что-то показать не вдаваясь в детали, но для подготовки специалистов это бесмысленно.
Re[6]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 14:08
Оценка:
Здравствуйте, DmitrySpb79, Вы писали:
K>>>Ни в одной развитой стране мира это не используют. За UML отдельный плюс.
LVV>>Тем не менее, книга Паранджанова переводится на английский и есть заинтересованные в ее продвижении на Западе люди.
DS>Имхо в институте не должно быть никаких "учебных языков" — учиться надо на реально существующих и реально используемых языках/системах.
DS>А всякие "школьные языки программирования" хороши в лучшем случае в начальной школе, где надо по-быстрому что-то показать не вдаваясь в детали, но для подготовки специалистов это бесмысленно.
Если бы Вирт рассуждал так же — не было бы целой ветки паскалевских языков.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Курсовые - как это делается в Астраханском универе
От: elmal  
Дата: 10.07.14 14:12
Оценка:
Здравствуйте, DmitrySpb79, Вы писали:

DS>Имхо в институте не должно быть никаких "учебных языков" — учиться надо на реально существующих и реально используемых языках/системах.

На первых курсах — почему нет? Нужно прививать мысли, что язык это инструмент и ничего больше. А то ведь до черта студентов есть, которые тексты программ на другом языке даже прочитать не могут. Как и перевести алгоритм с одного языка на другой. И считающие, что их программа является фен шуйной только от того, что написана на правильном языке, и если ее перевести на другой язык, она такой быть перестанет.
Re[7]: Курсовые - как это делается в Астраханском универе
От: DmitrySpb79 Голландия  
Дата: 10.07.14 14:20
Оценка:
Здравствуйте, LaptevVV, Вы писали:

DS>>А всякие "школьные языки программирования" хороши в лучшем случае в начальной школе, где надо по-быстрому что-то показать не вдаваясь в детали, но для подготовки специалистов это бесмысленно.

LVV>Если бы Вирт рассуждал так же — не было бы целой ветки паскалевских языков.

Да-да, и целой плеяды специалистов на Делфи

Реально, студенты отлично чувствуют что та или иная технология нигде кроме вуза использоваться не будет, и отношение соответствующее.
Re[7]: Курсовые - как это делается в Астраханском универе
От: DmitrySpb79 Голландия  
Дата: 10.07.14 14:24
Оценка:
Здравствуйте, elmal, Вы писали:

DS>>Имхо в институте не должно быть никаких "учебных языков" — учиться надо на реально существующих и реально используемых языках/системах.

E>На первых курсах — почему нет? Нужно прививать мысли, что язык это инструмент и ничего больше.

Да, но зачем делать двойную работу если сразу можно изучать современный и используемый в реальных проектах язык?

Нет смысла изучать какую-то "учебную среду" чтобы потом переучиваться на что-то другое. Смысла просто нет. Учебные проекты обычно не такие сложные, чтобы в нормальной среде все это сделать.
Единственное что тут может быть проблемой — это цена на лицензионное ПО.
Re[8]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 14:24
Оценка:
Здравствуйте, DmitrySpb79, Вы писали:

DS>Здравствуйте, LaptevVV, Вы писали:


DS>>>А всякие "школьные языки программирования" хороши в лучшем случае в начальной школе, где надо по-быстрому что-то показать не вдаваясь в детали, но для подготовки специалистов это бесмысленно.

LVV>>Если бы Вирт рассуждал так же — не было бы целой ветки паскалевских языков.
DS>Да-да, и целой плеяды специалистов на Делфи
DS>Реально, студенты отлично чувствуют что та или иная технология нигде кроме вуза использоваться не будет, и отношение соответствующее.
Что касается UML, то уже в первой-второй курсовой требуется сделать use-case.
Далее количество диаграмм и их номенклатура увеличивается.
К диплому — практически все виды диаграмм должны быть в пояснительной записке.
Это кроме того, что студенты изучают отдельную дисциплину Проектирование систем.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Курсовые - как это делается в Астраханском универе
От: kleng  
Дата: 10.07.14 15:44
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Это говорит только о том. что американцы ГОРАЗДО лучше наших УМЕЮТ продавать.


Не умеешь продавать — раздавай бесплатно.
Хотя стоп, с этим почему-то тоже нет никаких успехов.
Re[8]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 15:56
Оценка:
Здравствуйте, kleng, Вы писали:

LVV>>Это говорит только о том. что американцы ГОРАЗДО лучше наших УМЕЮТ продавать.

K>Не умеешь продавать — раздавай бесплатно.
K>Хотя стоп, с этим почему-то тоже нет никаких успехов.
Почему — есть...
Мы вот раздаем. И вполне успешно...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Курсовые - как это делается в Астраханском универе
От: elmal  
Дата: 10.07.14 15:57
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Что касается UML, то уже в первой-второй курсовой требуется сделать use-case.

LVV>Далее количество диаграмм и их номенклатура увеличивается.
LVV>К диплому — практически все виды диаграмм должны быть в пояснительной записке.
Ой господи. Когда я учился в институте, я думал что все только и дело занимаются тем, что проектируют с помощью UML. Но почему то в реальности оказалось, что проектируют обычно на листе бумаги в очень неформальной форме. Из UML диаграмм очень редко бывают полезными классовые диаграммы, которые генерятся по коду. Или диаграммы баз данных — тоже довольно полезная вещь.
Все остальное, включая диаграммы состояний, либо текстом, либо в excel табличке идет, ибо читаемость гораздо выше.

Я даже скажу как я вижу документацию моей мечты, чему стараюсь следовать.

Это:
1) Инструкция по сборке системы с нуля. В каком репозитории что находится, что нужно поставить чтоб выкачать, ссылки на файл настройки и т.д.
2) В коде в корне должен лежать текстовый файл с названием ключевых классов приложения и кратким описанием. А также ссылка на вики, где лежит остальная документация. А именно — FAQ, общие наброски архитектуры (немного, не более 20 страниц, более маловероятно что прочитают), какие модули, какие решения были приняты. Документ идет с комментариями, различными ссылками на требования и какие обсуждения, он на начальном этапе читается толпой людей, и там в документе есть комментарии, вопросы, а также ответы на комментарии и ответы на вопросы. Ну и описания протоколов взаимодействия с примерами. И тому подобная информация, ссылки на обсуждения, позволяющая понять почему сделано так, а не иначе. В неформальном стиле.

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

Ну и комментарии относительно неочевидных мест в коде — тоже весьма полезны, их стараться поддерживать в актуальном состоянии. Слишком сильным комментированием не увлекаться. Если спустя полгода год видишь, что начинаешь забывать или видишь что что то неочевидно — не забываешь писать комментарии.

Я предполагаю, что в случае проектов, требующих водопада (всякие самолеты, космические корабли, медицинское оборудование, то есть когда требования не меняются) — такая документация совсем не подойдет! Но для большинства реальных проектов с постоянно изменяющимися требованиями документация должна быть как можно более лаконичной. Иначе пока ты напишешь документацию, конкуренты уже 10 версий выпустят.
Re[9]: Курсовые - как это делается в Астраханском универе
От: kleng  
Дата: 10.07.14 16:18
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Мы вот раздаем. И вполне успешно...


насколько успешно?
Re[8]: Курсовые - как это делается в Астраханском универе
От: elmal  
Дата: 10.07.14 16:36
Оценка: +1
Здравствуйте, DmitrySpb79, Вы писали:

DS>Да, но зачем делать двойную работу если сразу можно изучать современный и используемый в реальных проектах язык?

Когда идет обучения с нуля, один черт надо начинать с азов. И если есть среда, которая позволит новичку сфокусироваться непосредственно на решении задачи, а не воевать с компилятором и всякими хедерами, то использование этой среды вполне оправдано. Главное чтоб среда была реально удобна и наглядна. Как новичок осилит неимоверно сложные для простого смертного концепции, вот тогда можно будет переходить на реальные языки. Просто если начинать с паскаля или Си, то в реальности большинство сильно всего этого пугаются, и оказываются неспособны вообще освоить элементарных вещей. А далее уже оказываются не в состоянии догнать, и так и получают диплом с нулевыми знаниями, не написав даже hello world.
Re[4]: Курсовые - как это делается в Астраханском универе
От: Isscander  
Дата: 10.07.14 17:39
Оценка: +2
Здравствуйте, DmitrySpb79, Вы писали:

DS>Здравствуйте, LaptevVV, Вы писали:


DS>>>Так что все это неплохо, но и зацикливаться я бы тоже не стал, востребованы более прикладные вещи (UI, графика, клиент-серверное взаимодействие, работа с файлами и пр).

LVV>>Дык у нас еще 3 и 4 курсы есть, где все это изучается.

DS>Да, год на структуры данных это нормально.


DS>Только я бы не стал писать это под консоль, а сразу параллельно рассказывал студентам как с нормальным GUI программу сделать: сложности тут особой нет и много времени не займет, зато пользы гораздо больше.


На надо студентов еще и GUI нагружать. На таких курсах главное — понять как с алгоритмами/данными работать, а не с ГУИ.
Re[10]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 10.07.14 18:20
Оценка: :))
Здравствуйте, kleng, Вы писали:

K>Здравствуйте, LaptevVV, Вы писали:


LVV>>Мы вот раздаем. И вполне успешно...


K>насколько успешно?

Штук 100 уже раздали. И еще штук 200 намечается к концу лета...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.