Здравствуйте, cppguard, Вы писали:
C>У меня есть идея открыть курсы по программированию.
Хорошая идея, хотя да, далеко не оригинальная.
C>Только не с целью заработать, а чтобы познакомить людей с миром программирования.
Фактически ты мог бы и зарабатывать. Типичный вайтишный курс ведь не особо умный.
Как я хотел торговать колбасой, а открыл школу программирования. Полно статей, которые объясняют как работает схема. Помимо "колбасных программистов" есть проекты в которых накручивают рейтинги рекламой, а потом втюхивают тоже самое, что и в книгах. А книги по программированию не идеальны. И рассказывают это всё говорящие головы, которых набирают за три рубля пачку. Если ты боишься, что будешь худшим, то это вряд ли. Вот оказаться на вершине это другое дело.
C>Ожидается, что большинство студентов после курса смогут сами что-то написать, а те, кто захочет пойти дальше, смогут использовать полученные знания для самостоятельного поиска информации.
Вот в чём проблема курсов. А что если я недостаточно сообразителен и не могу пойти дальше на основе представленной информации.
C>Я планирую на первой же лекции чётко обозначить, что я не очередной скиллбокс и ни в коем случае не гарантирую им стопицот баксов и выделенный стул в яндексе.
Хрен с ней с работой, но хотелось чтобы курс был ультимативен с точки зрения знаний. Чтобы я мог потом его открыть и работать как по словарю.
C>Формат планируется такой. Много практики (открываем IDE, сразу что-то пишем, запускаем), немного теории, чтобы было хоть какое-то понимание происходящего.
Практика это правильно. Фактически учитель нужен лишь как надзиратель. В противном случае люди бы учились по книжкам или видео. Минус в том, что сам твой курс может оказаться бессвязными обрывками знаний.
C>И всё это в перекрёстном режиме — от низов теории, к верхам практики, постепенно сокращая дистанцию. Например, на первом занятии можно было бы быстро объяснить, что любая программа это ввод -> обработка -> вывод, а всё остальное это разные уровни абстракции.
С моей точки зрения это не совсем так. Любая программа это обработка. Ввод и вывод бывают разным. Есть парадигма, когда данные поступают в поток исполнения, обрабатываются и выводятся из него. И совершенно не связанное с этим понятие программных интерфейсов, таких как консольные и графические.
И вот здесь на мой взгляд есть очень серьёзная проблема во многих книгах, они пытаются рассказать о вводе выводе на консоль. Хотя если бы мы хотели посмотреть данные, то могли бы делать это в отладчике, без ввода и вывода с помощью интерфейсов пользователя.
В итоге учебный пример загрязняется лишними подробностями. Следуя моей теории,
Почему программисты прошлого были умнееАвтор: velkin
Дата: 26.05.22
, в этом случае получается программист пользователь, в лучшем случае абстракционист. Сам алгоритм из-за абстракций идёт по боку. Ведь использование консоли ввода вывода с помощью библиотек алгоритмов это именно что использование чёрного ящика.
C>И сразу же написать программу, которая запрашивает два числа и складывает их. На последующих занятиях можно рассказать про структуру исходного кода, понятие синтаксиса, основные конструкции — выражения, условия, циклы и сразу же нырнуть в теорию: процессор -> инструкции -> компиляция и интерпретирование.
Это всё понятно, здесь вопрос в качестве курса. Я видел сотни книг по программированию и ни одной хорошей всеобъемлющей словарной энциклопедии. Хоть в википедию не лезь, где качество тоже то ещё.
C>Иными словами, я хочу попытаться выделить общую часть в современном программировании и с помощью аналогий из жизни попытаться донести до слушателей основные идеи. Никаких git, паттернов, сетей, и вопросов с собеседований.
Аналогии из жизни бывают разными. Одно дело арифметическая аналогия, вроде числами можно записывать измерения пространства, времени, количества условных частей пространства (объектов). Или говорить что-то вроде, собака это животное, и кошка это животное, сделаем класс животное и пронаследуем от него собаку и кошку. А зачем это нужно, я не знаю, но мы же изучаем ООП, и следовательно надо же нам впихнуть сюда науку логику через задний проход.
C>Меня смущают следующие сценарии:
C> — Несмотря на "отказ от ответственности", люди будут проходить курс с надеждой сразу же податься на сеньора-помидора. И потом расстроятся и будут высказывать своё недовольство. Я подобное видел на курсах по яхтингу, где часть аудитории всерьёз ожидала, что за четыре занятия их подготовят для кругосветки.
Так это не люди хотят, это вайтишные школы им обещают зарплаты, попивая на пляже за границей лёгкий кодинг. Как это просто лежать на шезлонге под пляжным зонтиком и попивая мохито лёгкими движениями постукивать пальцами по клавиатуре ноутбука. А в реальности им обеспечен адок.
C> — Желание вернуть деньги за курс после первой лекции. Это вариация первого пункта, только тут люди не будут ждать до конца, а сразу поймут, что "быстрым заработком без регистрации и смс" тут не пахнет. А оставшиеся полтора человека посмотрят на это и тоже разбегутся.
А вот здесь опять возвращаемся к качеству твоего курса. Быстрого заработка нигде в программировании не видать. Это ещё сколько надо учиться. Здесь вопрос в том, качество твоего курса в принципе способно обеспечить кого-то заработком. Или ты как школы, университеты, книги, которым в принципе плевать что получится.
C> — Существует незримая грань, которую большинство не сможет преодолеть. Пресловутое "не всем дано стать программистами". Сам я придерживаюсь мнения, что программирование доступно так же как и любое другое ремесло, а степень успеха определяется личной мотивацией и естественной тягой к предмету.
Нет, не каждому это доступно это раз. Способ обучения тоже играет роль. Мотивация это иссякаемый ресурс. Если не успеешь за определённое время получить полезный результат, то она помножится на ноль, а то и вовсе уйдёт в минус.
C>Но вот порой пытаешься объяснить людям какие-то простые логические выкладки, совсем даже не связанные с техникой, и видишь лишь пустоту в их глазах. Тут-то и закрадываются сомнения вида: "А все ли могут так легко и просто представить файл как виртуальный объект?".
А это неправильный подход в обучении. Файл это не виртуальный объект, вот в чём основной прикол.
C> Моя цель — немножечко заработать и позволить людям сделать первый шаг к тому, что они давно хотели попробовать, но не решались из-за невозможно огромного объёма информации. Развейте или подтвердите мои сомнения, пожалуйста =)
В общем и целом я за курс, просто его качество может оказаться точно таким же, как в книгах абстракционистов и пользователей. Опять же какой вопрос, такой и ответ. Если хочешь проработать курс совместно, то для начала создай тему да хотя бы здесь на форуме, типа "Разработка курса по программированию". Я бы поучаствовал в обсуждениях.
А если дело только в сомнениях, то делай, да и всё. Но парное же программирование же не зря придумали. Вот ты там варился, варился, может даже чего-то достиг. Мне, к примеру, люди с форума иногда помогают осмыслить идеи даже если пишут сообщения не имеющие особого смысла, это уже не говоря о сообщениях, которые действительно имеют смысл.
Можешь ещё посмотреть канал преподавателя.
https://www.youtube.com/c/АлександрГригорин/videos
Он всё грозился написать книгу, но так и не написал. Потому что мотивация есть не только у программистов, но и у преподавателей. Опять же возможно дело и в технологии документирования.
https://www.youtube.com/watch?v=3ynZma0wTTw
https://www.youtube.com/watch?v=ykGWBf9e8Bs