Pavel Akimov

+85
с 2023
26 подписчиков
2 подписки

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

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

2

К сожалению, у работы в IT есть и обратная сторона медали, которая заслуживает отдельной статьи. Буду честен, сейчас я работаю преподавателем и эта работа приносит мне куда больше удовольствия. Но человек задал мне вопрос и я решил поделиться своим опытом в этом

Добрый вечер! Ваш комментарий вдохновил меня на написание статьи, персонально для Вас :) Можете почитать у меня в блоге.

1

Прежде, чем продолжить спор, я хотел бы попросить тебя посмотреть, пожалуйста, данный материал (https://techrocks.ru/2021/11/15/replit-beginners-guide/), тут небольшой обзор функций. которые есть в репле. Как по мне, это всё-таки крутой инструмент, заслуживающий право на жизнь. Для формата ментор-ученик, написание код с другом, черновика для наброски кода, и небольшой студии веб-разработчиков, мне кажется очень даже подойдет. Но твои аргументы я понял, спорить сложно, все по делу, для больших компаний действительно предпочтительнее работать с локальных сетей.

Соглашусь с тобой, в целом я и сам свои какие-то проекты веду в основном по привычке в PyCharm, но по личному опыту именно для обучения - облако мне показалось удобнее. Например, тот же replit, значительно ускоряет процесс обучения, потому что я могу прямо в нём исправлять ошибки ученика и писать наглядные примеры, прямо в его коде. В общем и целом, мой совет - попробуйте, где-нибудь, да найдете этому применение.

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

1. Никаких ограничений.
см. NVIDIA Tesla

У меня нет крутого компьютера для быстрого обучения нейросети, отрисовки 3D графики, обработки изображения и тд. и нет возможности этот компьютер себе позволить. Почему мне не воспользоваться услугой мощного сервера для этого и произвести вычисления на нём?

2. Кооп
см. Replit
Я хочу писать код параллельно с коллегами. Да, гитхаб крут, но не безальтернативен. Инструмент совместной работы в реплите - это очень крутая возможность работать в команде, сильно ускоряющая процесс разработки.

3. Наглядность
см. Юпитер или Колаб
Если я хочу что-то кому-то интерактивно презентовать, почему бы мне не использовать для этого Юпитер или Колаб?

В локальном редакторе кода, нет таких инструментов оформления. А еще, если коллега захочет что-то попробовать изменить в презентованном мною коде, ему нужно будет скачивать этот файл, устанавливать библиотеки (не факт, что он сразу найдет нужные их версии).

Шутки-шутками, но это всё - время, которые в случае работы программиста, очень дорого стоит и любой работодатель заинтересован в том, чтобы все его подчинённые работали в единой системе, могли быстро шейрить код, помогать друг другу и заниматься именно написанием кода, а не ожиданием его выполнения или решением технических болячек, конкретно своего локального окружения.

Мой опыт работы до того как я стал преподавателем, указывает мне то, что всё стремится в веб и написание кода локально, рано или поздно, будет восприниматься нами как рудимент. Крайне спорная позиция, но как, говорится, ИМХО.

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

У меня есть много свежих идей, которые можно назвать интересными и оригинальными (по крайней мере мне так кажется). Но как человеку, который занимается преподавательской деятельностью, мне хотелось бы видеть в этом структуру. Как одно знание перетекает в другое. Как человек не обладающий никакими входными параметрами на выходе осваивает для себя новый навык.

Я хочу создавать цельные программы, на доступном языке, с большим количеством примеров. Чтобы посмотрев подобное видео, этому мог научиться и ученик начальных классов и скучающих 30-ти летний взрослый :)

Проблема многих блоггеров в том, что они выпускают материал хаотично, непоследовательно. Они гоняться за просмотрами и снимают то, что актуально сейчас. Вчера про input()/print(). сегодня уже про нейросети, завтра про компьютерное зрение. Все это создаёт у зрителя подобного контента кашу в голове, он стремясь изучить всё и сразу в итоге нормально не выучит ничего.

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

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

1

Ну-у-у-у... субъективно. На мой взгляд, как раз-таки для обучения подобные штуки идеально подходят. Всё в облаке, привязаны к аккаунту в гугл, никогда не потеряешь код. Можно удобно шейрить его (в два клика получаешь доступ к примеру с урока). Ничего не нужно скачивать и настраивать. На начальном этапе ошибки связанные с этим (например, с добавлением Python в Windows Path) могут отбить всё желание. А здесь всё просто, берёшь, пишешь код, обучаешься. Когда прокачаешься в этом, можно переходить к тяжелой артиллерии. Можешь привести аргументы, почему такой подход неправильный.

Знаете, я с Вами не могу не согласиться. Прежде, чем стать программистом, нужно научиться думать, как программист. Не зря, когда мы приходим на собеседование в компанию, чаще всего нам задают вопрос об алгоритмах, на который можно ответить даже без знания какого-то конкретного ЯП, но с общим представлением о том как он работает. Но на практике, получается проблема с которой я сталкивался в университете. Когда тебе даётся огромное количество теории, которую, как тебе кажется, ты понимаешь, но когда дело доходит до практической задачи ты находишься в оцепенении и не знаешь что писать (во многом, из-за отсутствия знания синтаксиса), это сильно бьет по морале и заставляет задуматься о своих возможностях и целесообразности обучения. Когда же ты имеешь некий практический опыт, его легко проецировать на другие задачи. В этом и есть смысл данного цикла видео - научить человека базовым возможностям Python, без перегрузки информацией. А ту информацию, что предложили Вы, можно изложить в другом цикле, уже углубившись в предмет. Я называю это так: сначала сделай, посмотри на результат, потом осмысли, что ты сделал. Возможно, это не эффективно, но мой опыт, говорит об обратном.

1

Ниже уже писал, про то что Python - швейцарский нож. Конечно, это не лучший инструмент для создания игру - но такая возможность в нём есть и почему бы нам ею не воспользоваться? Тем более, что принципы в создании игр имеют свою преемственность и кочуют из одного инструмента в другой. Ну и не стоит совсем уж принижать Python :) RenPy, например, один из самых популярных инструментов создания визуальных новелл. На PyGame или arcade можно создать что-нибудь интересное. Но тут даже не про создание коммерчески успешной игры будет идти речь, а про обучение, понимание основных игровых механик.

Хе-хе) Планировал сегодня вечером подробно текстом расписать последний урок с примерами, первый пост служит скорее для разведки местной аудитории, так что ожидайте, нового контента

1

Хороший вопрос! Еще в университете сталкивался с таким мнением, что Python = не лучший выбор для старта из-за своей простоты.
Аргументы были такие, что не выработов в себе тех привычек, к котором приучают например языки C, программист никогда ими не овладеет.
Я с такой позицией не согласен, простота Python делает его доступным для наибольшего числа людей. Также, во многом по этой причине, его часто используют, даже там, где это не всегда оправдано.
Тем не менее, изучив Python Вы можете и попробовать создать игру, и развернуть свой сайт, и написать десктопное или мобильное приложение. Вы ограничены лишь своим желанием. Да, есть инструменты для этого лучше,
но Python - это такой швейцарский нож, который хорош тем, что универсален и изучив его - Вы получите представление о многих отраслях программирования в целом. Поэтому за основу я беру его, а от него можно уже переходить к чему-то другому.

2