Re[3]: Вопрос про обучение
От: SaZ  
Дата: 26.05.25 22:58
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

SaZ>>...

SaZ>>2. Работа с чужим кодом. Я думаю многие видели джунов, которые не могут дорабатывать чей-то код (даже нормального качества) и хотят всё переписать с нуля. Как правило потому, что не могут разобраться.
LVV>А вот это — да.
LVV>Я пытался внедрить в курсе системное программирование.
LVV>Пишем интерпретатор виртуальной машины — тестирование делает другой студент.
LVV>Потом пишем ассемблер для виртуальной машины — опять же тестирование делает другой студент.
LVV>Но не пошло — студенты же сразу друг с другом состыковались.
LVV>Пока не придумал, как это осуществить в учебном процессе.

LVV>Это надо каждому дать индивидуальный чужой проект. И чтобы он его модифицировал в нужном направлении.

LVV>Проекты не должны быть засвечены в учебном процессе ранее.
LVV>Подумаю.

Спасибо за ответ. Я немного перефразирую: я пока не знаю как привить студентам навык чтения чужого кода. Мне в своё время этого очень не хватало. Впрочем, я не особо преподавал, вёл несколько месяцев факультатив по си, ещё будучи студентом. Потом несколько раз халтурил репетитором, но быстро надоело, потому что когнитивная нагрузка высокая, а выхлоп в долларо-часах на основной работе к тому моменту был уже заметно выше.
Переломный момент произошёл когда сабмитил какой-то мелкий фикс в Qt и меня тогда на ревью разнесли в пух и прах по всем фронтам. Тогда я начал читать чужой код и пытаться понять, почему написано именно так, чем хорош и плох кодстайл кутэ и т.п. В общем, это заметно добавило мне педантичности. А несколько самописных логгеров, которые я каждый раз пытался сделать лучше и лучше, но потом по факту осозновал что я сделал кривенький велосипед, собственно и подтолкнули к изучению чужих решений и способствовали тому, что я начал отличать плохой код от хорошего.
Re[4]: Вопрос про обучение
От: LaptevVV Россия  
Дата: 27.05.25 03:30
Оценка: 2 (1)
LVV>>Пока не придумал, как это осуществить в учебном процессе.
LVV>>Это надо каждому дать индивидуальный чужой проект. И чтобы он его модифицировал в нужном направлении.
LVV>>Проекты не должны быть засвечены в учебном процессе ранее.
LVV>>Подумаю.
SaZ>Спасибо за ответ. Я немного перефразирую: я пока не знаю как привить студентам навык чтения чужого кода. Мне в своё время этого очень не хватало. Впрочем, я не особо преподавал, вёл несколько месяцев факультатив по си, ещё будучи студентом. Потом несколько раз халтурил репетитором, но быстро надоело, потому что когнитивная нагрузка высокая, а выхлоп в долларо-часах на основной работе к тому моменту был уже заметно выше.
SaZ>Переломный момент произошёл когда сабмитил какой-то мелкий фикс в Qt и меня тогда на ревью разнесли в пух и прах по всем фронтам. Тогда я начал читать чужой код и пытаться понять, почему написано именно так, чем хорош и плох кодстайл кутэ и т.п. В общем, это заметно добавило мне педантичности. А несколько самописных логгеров, которые я каждый раз пытался сделать лучше и лучше, но потом по факту осозновал что я сделал кривенький велосипед, собственно и подтолкнули к изучению чужих решений и способствовали тому, что я начал отличать плохой код от хорошего.
О необходимости обучения читать чужой код писал, по-моему, Роберт Гласс.
Посыл был такой: в школе мы учимся сначала читать, а потом уже писать.
А в программистской школе — наоборот почему-то.
Хотя чтение чужого (в том числе и легаси) кода — это просто профессиональный скилл для программиста должен быть.
Буду думать, как это можно внедрить в учебный процесс.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Курсовые - как это делается в Астраханском универе
От: elmal  
Дата: 27.05.25 07:11
Оценка: 28 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>А из центральных вузов что-то такое можешь привести как пример, к чему стремиться ?

К чему стремиться известно, смотреть как учат во всяких Стенфордах, Беркли, MIT — и стараться делать похоже. В инете можно найти и записи лекций, и какие у них задания, и как примерно идет обучение и тому подобное. Начиная с курсов для нулевого уровня, и заканчивая чем то более продвинутым. Хоть и 10 летней давности и иногда уже на вебархиве, сейчас уже начали требовать авторизацию и до черта материалов недоступно, ранее было с этим сильно проще. Но и сейчас при желании можно понять что у студентов за задания, как все происходит и подобное. Меня в свое время весьма это впечатлило.

Ну и вкратце. Пишите блин библиотеки кафедральные и общеуниверовские. Которые будут более удобными и лаконичными, чем стандартные в языке. Чтобы сложные вещи на этих библиотеках можно было делать минимальным количеством кода, без постоянных проверок ошибок, черти какой инициализации и все такое, чтобы можно было фокусироваться на задаче, а не на проблемах языка программирования. В том же Стэнфорде например используется для обучения крайне простая библиотека для построения GUI. Также очень хорошие библиотеки работы со строками, стандартные алгоритмы и все подобное, максимально простая и лаконичная многопоточность и много всего еще. Библиотеки позволяют решать задачи курса весьма компактно и красиво даже на чистом Си. И пофиг, что библиотеки не стандартные, важно то, что они более удобны, чем стандартные, как минимум для учебных целей и для задач, которые решаются в процессе обучения. К моменту выпуска студентов библиотеки и языки программирования 100 раз сменятся, однако будет сформирована привычка писать максимально понятный лаконичный код, где все сложности и жесть спрятаны под капотом. И так как привычка будет сформирована, то выпускники не будут постоянно говнокодить, и в случае чего, напишут собственную удобную библиотеку. Именно у буржуев постоянно до хрена на гитхабе всяких библиотек, где во главе стоит именно удобство. В РФ блин абсолютное большинство даже опытных программистов будут мучиться, но будут писать так, как в книжке написано по какой древней либе, и даже мыслей не возникнет скрыть сложность.

Нафик Qt в чистом виде и все такое! Нафик stl, бусты и все такое! Сделайте свои либы, более удобные, можно поверх стандартных, можно с нуля! Двойной плюс будет — и научите писать фундаментальные вещи, и возможно напишете действительно удачные либы, которые могут стать стандартом индустрии.
Re[6]: Курсовые - как это делается в Астраханском универе
От: landerhigh Пират  
Дата: 27.05.25 15:24
Оценка:
Здравствуйте, elmal, Вы писали:

E>Нафик Qt в чистом виде и все такое! Нафик stl, бусты и все такое! Сделайте свои либы, более удобные, можно поверх стандартных, можно с нуля! Двойной плюс будет — и научите писать фундаментальные вещи, и возможно напишете действительно удачные либы, которые могут стать стандартом индустрии.


Вот соглашусь. Выпускники с прививкой от синдрома "not invented here" сегодня очень востребованы в индустрии.
Re[7]: Курсовые - как это делается в Астраханском универе
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.05.25 15:25
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

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

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

Это было бы просто замечательно
Маньяк Робокряк колесит по городу
Re[5]: Курсовые - как это делается в Астраханском универе
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 28.05.25 04:54
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ладно, мы провинциальный вуз. Допустим, у нас квалификация недостаточная (но я сильно подумаю на этот счет).

LVV>А из центральных вузов что-то такое можешь привести как пример, к чему стремиться ?

Типа ИТМО?

LVV>Наши пацаны на гитхабе репы имеют.

LVV>Некоторые в ИТМО поступают за совокупность этих учебных работ.

Это да, каждый что-то у себя делает и индивидуально развивается. А есть профиль на Гитхабе или российском аналоге у университета, где есть университетские проекты? Или у кафедры?
Re[6]: Курсовые - как это делается в Астраханском универе
От: LaptevVV Россия  
Дата: 28.05.25 10:23
Оценка:
LVV>>Ладно, мы провинциальный вуз. Допустим, у нас квалификация недостаточная (но я сильно подумаю на этот счет).
LVV>>А из центральных вузов что-то такое можешь привести как пример, к чему стремиться ?
N>Типа ИТМО?
О, спасибо!
LVV>>Наши пацаны на гитхабе репы имеют.
LVV>>Некоторые в ИТМО поступают за совокупность этих учебных работ.
N>Это да, каждый что-то у себя делает и индивидуально развивается. А есть профиль на Гитхабе или российском аналоге у университета, где есть университетские проекты? Или у кафедры?
Нет, ничего подобного нет.
И руководство совершенно к этому не стремится.
У меня была инициатива по примеру ИТМО начать выставлять проекты в интернет.
Довольно давно уже.
Но как-то никто не поддержал...
Мы ж не программерско-математический универ.
Основное направление химия-биология.
Но с этой стороны никто к нам не обращается.
А я уже старый всех пиннать...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.