?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Учить программированию - morfizm


Jul. 12th, 2018 11:40 am Учить программированию

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

Идея - курс программирования для начинающих. Ориентированный на взрослых. Но... ! Для совсем-совсем начинающих. Для тех, у кого нет технического бэкграунда, у кого нет свежих школьных или университетских знаний, кто не силён в математике или никогда не любил её. В общем, для тех 95% людей, которые, заплатив за обычные "курсы программирования" (или там, курсы тестировщиков), выкидывают деньги на ветер, потому что у них вообще нет какой-то почвы в голове, на которую бы эти знания легли.

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

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

Что касается материалов курса - идея в том, чтобы по-возможности не придумывать отсебятины, а брать вещи их открытых источников, но при этом обсуждать, как это правильно интерпретировать и отвечать на вопросы. Заодно это поможет людям научиться пользоваться этими самыми открытыми источниками.

Что скажете?

Кому-нибудь было бы интересно посидеть со мной за рюмочкой чаю и набросать план?

86 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

Page 1 of 2
<<[1] [2] >>
From:heike_kessler
Date:July 12th, 2018 06:50 pm (UTC)
(Link)
Мне такого курса в своё время не хватало. Бывший помогал, он до того сам разобрался. А без него было бы гораздо сложнее.
Это было в 1996-98.

Сейчас с интернетом проще. Но начальные знания? Нужно, чтоб разжевали☺

Edited at 2018-07-12 06:51 pm (UTC)
From:morfizm
Date:July 13th, 2018 05:46 am (UTC)
(Link)
Ну так, да, идея это про жевание как раз :)
From:khulinich
Date:July 12th, 2018 06:55 pm (UTC)
(Link)
О, я б поучилась такому.
From:morfizm
Date:July 13th, 2018 05:46 am (UTC)
(Link)
Спасибо! Если будет старт, приглашу!
From:manwatermelon
Date:July 12th, 2018 07:16 pm (UTC)
(Link)
интересно взглянуть на такое с позиции середнячка, который считает, что зафейлит на собеседованиях.

а так же есть мнение, что у тебя профдеформация; какие-то вещи для тебя innate и ощутить проблему непонимания не сможешь -> не сможешь "понятно" (субъективный же критерий) объяснить.
From:morfizm
Date:July 13th, 2018 05:51 am (UTC)
(Link)
> интересно взглянуть на такое с позиции середнячка, который считает, что зафейлит на собеседованиях.

Смотри... середнячок - это кто-то, кто заведомо способен. Ему либо не хватает вложений времени и сил, чтобы лучше подготовиться (тогда ему дорога в careercup.com и за дело! пусть решает задачки), либо не хватает психологической уверенности (тогда ему дорога к врачу-психологу). Я не хочу выступать ни психологом, ни "строгой учительницей", которая будет лучше мотивировать. Поэтому в контексте этой идеи середнячки мне не интересны. Интересны начинающие, имеющие мотивацию, но не имеющие способностей.

Насчёт профдеформации - может, ты и прав. С другой стороны, у меня есть и плюсы, которые могут её компенсировать: опыт преподавания, опыт жизни в разных культурах (соотв., опыт наблюдения за разными неочевидными вещами), большой опыт рефлексии, большой опыт общения с людьми с разными backgrounds, в т.ч. с гуманитариями. Ну и как Металлер там правильно заметил, у меня уже был похожий проект, который, наверное, надо считать fail'ом, но я учусь на прежних ошибках.
From:birdwatcher
Date:July 12th, 2018 07:22 pm (UTC)
(Link)
Я в аспирантуре учил какого-то старика програмированию (каждая копейка была нужна), но это было на редкость депрессивное занятие. Как репетировать двоечников по математике примерно.
From:morfizm
Date:July 13th, 2018 05:52 am (UTC)
(Link)
А что именно было депрессивно? Не было достаточной мотивации или слишком медленный прогресс? Или слишком простые вещи приходилось объяснять? Если последнее, то я этого не боюсь, это, наоборот, интересно. Люблю объяснять простые вещи.
From:sweer
Date:July 12th, 2018 07:35 pm (UTC)

Было дело

(Link)
Несколько лет учил такой контингент. Очень часто у них истощается мотивация месяцами осваивать стекложевательные для них темы без значительного практического результата. Можем созвониться и подумать вместе, как это организовать, чтобы оно не просило слишком много ресурсов.
From:morfizm
Date:July 13th, 2018 05:53 am (UTC)

Re: Было дело

(Link)
О, давай пообщаемся, конечно. Свяжусь лично - через пару дней напишу емейл и созвонимся сразу или договоримся о времени.
From:tivel
Date:July 12th, 2018 07:36 pm (UTC)
(Link)
Идея чрезвычайно интересная, хотя плохо себе представляю, чему конкретно следует с такой целью учить. Но если будут обсуждения идеи например в жж, я бы их почитала)

Я недавно как раз задумывалась о том, что любопытно, какую роль допустим в моей кажущейся лёгкости обучения в новой области программирования играет школьная база и первые пару курсов института. Потому что многие как бы очевидные вещи явно натренированы там (не на программировании причём). Но не очень понятно, всем ли этим вещам можно научить с нуля.
From:morfizm
Date:July 13th, 2018 06:17 am (UTC)
(Link)
Если будет двигаться дальше, хоть как-нибудь, то буду про это писать.

Мне кажется, что существует ряд вещей, развивающих абстрактное мышление и умение мысленно моделировать упрощённые абстрактные системы, и оно близко к ключевому (хоть, возможно, и не единственное). Школа и универ не учат этому напрямую, а дают миллион других вещей, которые этому учат косвенно. Мне кажется, что можно найти более прямой путь, чтобы именно этому учить напрямую, и если получится, то это откроет возможности для людей с другим уровнем подготовки (которые сейчас закрыты в виду сложности и объёма всех тех традиционных вещей, которые учат математическому мышлению лишь косвенно).
From:rider3099
Date:July 12th, 2018 07:50 pm (UTC)
(Link)
Занятная идея
From:morfizm
Date:July 13th, 2018 06:18 am (UTC)
(Link)
Спасибо.
From:mcdill
Date:July 12th, 2018 08:04 pm (UTC)
(Link)
А мне кажется, что в этой возрастной группе надо быть, что называется "ближе к телу", то есть как можно ближе подойти к тем профитам, которые учащиеся могут попробовать получить, иначе мотивация пропадет уже ко второму-третьему уроку.
From:morfizm
Date:July 13th, 2018 06:22 am (UTC)
(Link)
Блин, так не хочется заниматься вопросами мотивации... но, возможно, ты прав, и это тоже важный вопрос. Но я сейчас склоняюсь к тому, что более правильный путь - это достаточно глубоко и подробно объяснить перспективную важность постепенного пути через упрощения и абстракции, а не пытаться оперировать с задачами, которые "ближе к телу".

Для программиста ключевое - это доскональное понимание (модели, процесса, системы). Даже если он не понимает какую-то систему досконально, он понимает какую-то другую, и владеет подходом, позволяющим, если надо, это доскональное понимание получить за разумное время. Если начинающий берётся за производственные задачи, у него на полное понимание нет никаких шансов. Вообще никаких. Почему программируют на C++ и Java, а в универе учат Паскалю? Неспроста. Потому что Паскаль намного проще, там есть шанс достичь досконального понимания. Именно оно важно, а не Паскаль как таковой.
From:freeborn
Date:July 12th, 2018 08:42 pm (UTC)
(Link)
"кто не силён в математике или никогда не любил её." - мне кажется, ничего хорошего не выйдет.
Я ещё могу представить себе математика, который научится кодить, но без характерного аналитического склада ума - только говнокод/стекоферфлоу копипаста.
From:morfizm
Date:July 12th, 2018 08:49 pm (UTC)
(Link)
Математику, который хочет научиться кодить, курсы-то и не особо нужны.

Мне кажется, opportunity (подозрение в наличии opportunity) в том, что весь этот долгий путь, который люди проходят, чтобы сформировать аналитический склад ума, для задач программиста (способного работать на позиции джуниор-программиста или test automation engineer, но не через стековерфлоу копипасту) не нужен. Его можно значительно укоротить. И математика нужна, но далеко не вся. Например, не нужно уметь решать дифференциальные уравнения. Не нужно даже знать, что это. Тем не менее, если идти на бакавлра CS, это будут давать.
From:archaicos
Date:July 12th, 2018 10:07 pm (UTC)
(Link)

А у меня есть идея типа иностранный для технарей.

From:morfizm
Date:July 13th, 2018 06:32 am (UTC)
(Link)
А это тоже очень клёвая идея!

Кстати, после поездки в Барселону у меня увеличился интерес к возможному изучению испанского. Если ты откроешь такую школу, где будешь ему учить (ну и вообще подходу к ин.языкам для технарей), то могу попробовать поработать подопытным кроликом.
From:metaller
Date:July 12th, 2018 10:21 pm (UTC)
(Link)
Какой тебе профит с этого ?
P.S. Подобный эксперимент с К насколько я помню провалился чуть больше чем полностью ;)
From:alusmeistars
Date:July 13th, 2018 04:12 am (UTC)
(Link)
Пусть число танков будет К. Нет, К — мало, возьмем М. (Армейское)

(хотя я знаю, кто есть К)
From:deep_econom
Date:July 13th, 2018 03:13 am (UTC)
(Link)
интересная идея, одобрям-с, желаем коммерческого успеха
From:morfizm
Date:July 13th, 2018 06:11 am (UTC)
(Link)
Спасибо!

P.S. Ваш юзерпик просто чудесен! :)
From:zlata_gl
Date:July 13th, 2018 04:54 am (UTC)
(Link)
". Для тех, у кого нет технического бэкграунда, у кого нет свежих школьных или университетских знаний, кто не силён в математике или никогда не любил её."

Что-то не верится, что из такого человека получится программист.
Когда я начинала (в 70-е годы) - еще был какой-то шанс прийти "людям с улицы", конечно с с определенными знаниями в точных науках.
От нас сбежали в программистки две учительницы - математики и физики. (72 год).

Но сейчас программирование - это огромный объем знаний, не меньше, чем у врача. Куча направлений. Учить немолодого "чайника", да еще - не любящего математику ? Зачем ?
From:morfizm
Date:July 13th, 2018 05:40 am (UTC)
(Link)
> Что-то не верится, что из такого человека получится программист.

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

> Учить немолодого "чайника", да еще - не любящего математику ? Зачем ?

Не любившего. Конечно, он полюбит математику в процессе. Иначе он не сможет завершить процесс.
From:annett_krechmer
Date:July 13th, 2018 07:11 am (UTC)
(Link)
Научить можно кого угодно, было бы желание. Я вот лично стопроцентный гуманитарий, математику не особенно любила в школе, так как не видела, как мне может пригодиться в жизни тригонометрия. Сейчас беру математику за 11 класс, так как она мне нужна для программы, и она дается мне без проблем. Знаю многих гуманитариев, кто отлично играет в шахматы, а это тоже самое аналитическое мышление. Так что мне кажется, что идея отличная. Если откроете школу, с удовольствием приду к вам поучиться.
From:tery
Date:July 13th, 2018 10:21 am (UTC)
(Link)

Если начнешь - пригласи плиз в группу :) с удовольствием  обновлю и дополню знания