В общем есть идея написать уроки по программированию.
Идея сама по себе не новая, но вот в чем их отличие от того, что уже и так давно есть в сети, всяких курсов и книг.
1. Я буду обучать людей не языку программирования как самоцелью, а самой идее программирования и из чего оно строится на примере языка.
Поэтому помимо обычного для всех прохождения по привычному циклу: типы, переменные, операции, условия, циклы, ... etc, я буду объяснять довольно нужные, но не входящие в обычный цикл темы: алгоритмизация, как работает и исполняется компьютерный код, как отображаются типы данных в памяти, системы счисления, методы разработки программ(сверху-вниз/снизу-вверх/модульные), и прочее. Так же будут присутствовать дальнейшие шаги для развития и объясняться сути библиотек, как перейти к GUI который порой является стопорным для многих и т.д.
2. Никакой воды, хорошая последовательность и картинки.
Как показывает практика, обычно десять листов книги можно уложить в конспект на пол листа и объяснить для читателя намного!! проще. Если еще добавить схематичных картинок, то процесс запоминания становится еще проще и понятнее. Главный плюс, конечно, в конце главы должны быть приведены основные моменты которые можно распечатать и положить в папочку для себя на будущее.
Я не люблю лишней информации, которая служит для распухания книг. Особенно это касается первых 100 страниц, которые можно вообще ужать в десять. Мало кто из авторов заполняет из действительно важными вещами. Особенно всякие перечисления с примерами того, что вы только будете изучать дальше, которые читатель априори не может знать и разобрать.
Мне не нравится, когда автор начинает использовать вещи, которые он еще не объяснял. Конечно, без этого не обойтись, но я нашел решении в книге Мэтью Мак-Дональд, он дает отсылку, где и когда это будет изучено. Мне кажется это полезным и тут будет такая же схема.
Я буду по возможности давать как можно больше картинок и как можно более понятных примеров кода, без излишеств и гигантизма.
3. Практика на реальных примерах.
Практика довольно важна, поэтому ей будет уделено особое внимание.
Во-первых, изучающему будет предложен набор заданий и тестовых данных для самостоятельного решения с тремя подcказками:
1. Объяснение решения на словах, формулы и т.д.
2. Объяснение на каркасе кода или близких коротких примерах без конечной реализации.
3. Окончательное решение.
По возможности все задачи будут даваться с приближениям к реальным условиям и замахом на компонент конечной программы.
В чем мой вопрос.
Я прошу Вас помочь оценить эту идею, нужна ли она?
Может у Вас есть какие-то предложения и замечания?
Как вы оцениваете данную задумку с финансовой точки зрения? Поскольку данные уроки действительно долго и сложно делать, купили бы вы их?
Стоит ли делать видеоуроки или ограничится текстовыми? А может смешать два в одном?
Какие языки вы бы хотели видеть? В ассортименте есть: C#(выбрал основным), Чистый Си, С++, JavaScript, ActionScript, Python, Ruby... может еще какой?
Yaroslav Lyzlov: Видел. Знаю, что уроков еще больше помимо ШП. Ты платишь огромные деньги, изучаешь язык и по окончанию курса понимаешь, что делать ты по прежнему ничего не умеешь и навыков не хватает. Нужен более глубокий подход, больше примеров, заставить ученика думать и вырабатывать навыки создания программ начиная от маленьких и дальше по нарастающей. Дать знаний не только о языке как таковом и его конструкциях. К тому же там начинаются проблемы при изучении сложных вещей.
Nominom: вы же понимаете что вопрос не в методике обучения а во времени? На то что бы сделать что-то полезное человек должен потратить минимум год эксперементов, баловства и изучения.
Nominom: вы учились в ВУЗе? алгоритмизация и все эти вещи аля "как информация представляется в машине", системы исчисления и прочая чушь давались нам с первого по третий семестр. Более того, системы счисления и прочие основы основ давались на уроках информатики в школах.
Сергей Протько: Да, магистр ИТ. Уроки для всех, а не только студентов, поэтому не делается акцент "ну это они наверное знают или проходили", объяснять не буду тогда. Кто не знает - изучит, кто забыл - освежит информацию, кто знает - пропустит(ну или может что-то новое узнает). К тому же качество изложение не у всех ВУЗов хорошее, уж Вы то это должны знать, раз учились) Да и в ВУЗе примеры порой оторваны от реальности. У меня к примеру не было нормальной информатики в школе, только один год изучения ворда...
Nominom: ну так это же проблема системы образования в целом, вы не находите? Да и как показывает практика далеко не всем просто дано это все. Многие люди просто не в состоянии постич общую картину и связать знания из одной области и другой.
Большинство сейчас идут в IT только ради денег, и им не выгодно вбивать в голову основы основ потому что выхлоп будет нулевой. Просто не поймут, они ради денег пришли в отрасль. Им это все не интересно. Идеальные код-манки. И рынок их проглотит и даже не заметит.
Я буду обучать людей не языку программирования как самоцелью, а самой идее программирования и из чего оно строится на примере языка.
Все нормальные книги по алгоритмизации для этих целей вводят понятие "всевдоязык". И да, это практикуют уже не один десяток лет. Но кто сейчас читает эти книги?
но не входящие в обычный цикл темы
Что значит "не входящие"? В ВУЗах это все как бы дают еще на первых курсах. Опять же на усвоение этого материала нужно порядком времени.
Как показывает практика, обычно десять листов книги можно уложить в конспект на пол листа
Потому то когда вы читаете учебник или книгу полезно делать эти самые конспекты, строить майд мэпы и т.д. Помимо мыслей там обычно раскрываются предпосылки и т.д. Изучение по "выжимкам" станет заучиванием без понимания сути вещей.
Особенно это касается первых 100 страниц, которые можно вообще ужать в десять.
Книги бывают разные. Иногда выкинув эти первые 100 страниц дальше читать в принципе бесполезно так как вы не понимаете предпосылок.
он дает отсылку, где и когда это будет изучено
Так делают все адекватные авторы
Я буду по возможности давать как можно больше картинок и как можно более понятных примеров кода, без излишеств и гигантизма.
Картинки это хорошо конечно, но опять же чем ваш подход отличается от остальных? У нормальных авторов и так есть понятные схемки, картинки, метафоры и прочие вещи упрощающие понимание.
Поскольку данные уроки действительно долго и сложно делать, купили бы вы их?
Все что вы описали я изучил в ВУЗе и из книг. Более того любой другой так же может это сделать.
Псевдоязык не пройдет, в процессе изучения не будет чувства отдачи и останутся сухие знания без применения на практике, лучше совместить одно с другим. По поводу ВУЗа, я все таки не делаю акцент на одних только студентов и что все знания они там получают качественно. За остальное спасибо.
Nominom: псевдоязыки как раз таки норм, что бы люди научились алгоритмы строить а не код писать.
Опять же... вы хотите детский сад или специалистов готовить? В формате курсов выхлоп от этих "дополнительных" знаний будет нулевым, только больше мусора в голове будет. Подавляющее большинство людей которые идут на эти курсы хотят какой-то толчек. Сами курсы им "фундаментальных знаний" не дадут. Для этого как я уже говорил нужен минимум год. А на годовые курсы никто не пойдет.
Сергей Протько: от детского сада до специалиста за 360 дней с примерами в картинках)) Да, примерно так я и хочу, полный фундаментальный курс для действительно желающих с акцентам на простоту изложения и эффективность. Время освоения я не учитываю, пускай сами решают, хотят или нет.
Если бы у меня была реализация, я бы даже не спрашивал, это логично как мне кажется. Рынок изучен, существующие решения изучены и да - я могу сделать лучше/понятнее/полезнее/для людей. К тому же я еще не видел такого проекта, который бы включал все вышеизложенное в одном месте и не был разбит на много отдельных платных уроков по цене в те же +100500.
Nominom: а может стоит сначала подумать, почему они разбиты на много отдельных платных уроков по цене в те же +100500? А еще почему у Pluralsight есть подписка вместо платных уроков? Прислушайтесь к Сергей Протько, он очень правильные вещи написал.
Я прошу Вас помочь оценить эту идею, нужна ли она?
В таком виде, думаю потеряется на фоне конкурентов. Нужна какая то особенность, то, чего нет у других, а у Вас есть. Для этого стоит изучить существующие курсы.
Поскольку данные уроки действительно долго и сложно делать, купили бы вы их?
Зависит от контента и цены, но бесплатный пробник по-любому нужен.
Какие языки вы бы хотели видеть? В ассортименте есть: C#(выбрал основным), Чистый Си, С++, JavaScript, ActionScript, Python, Ruby... может еще какой?
Ну вот, заклевали человека. Хотя... по делу, да.
Смотрите - сейчас в инете ТОННЫ бесплатной инфы по программированию ВООБЩЕ. Сотни вузов работают и учат программированию - учат плохо, но кто захочет - найдет инфу без проблем.
Вы хотите написать самый лучший в мире курс - ОК.
Нормальное желание - все мы иногда пишем велосипеды и они оказываются даже хорошими.
Но - обычно свой велик приходится писать когда оказывается, что те велосипеды что есть имеют квадратные колеса, или стоят как БМВ имея пятиугольные колеса, или колеса круглые, но предназначены только велосипедистов до 50 кг весом, ну и так далее.
Как уже писали - чем вас курс будет лучше? Какие потребности он будет решать? Причем настолько, что народ будет готов платить? Я например сейчас увлекся программированием звука, но... мне нужны конкретные решения конкретных задач - я готов заплатить за их решение, но не за обучение - я не собираюсь переписать Cubase.
Далее. Я например "плохо" знаю С++. Именно "++" - все эти классы, конструкторы, нафига - когда можно по рабоче-крестьянски в стиле 80-х? ))) И соответственно у меня есть проблема с пониманием текста на ++.
Вот мне была бы интересна тема типа "Переходим с С на С++". И даже я бы заплатил бы. Или лучше я бы выбрал ОЧНЫЙ курс в вузе рядом с живым преподавателем.
Да - как у вас с психологией? Надо понимать потребности и проблемы, вопросы которые возникают, но не задаются, и т.п... В хорошем курсе это все должно быть учтено.
У меня есть коллега который разрабатывает учебные видеокурсы по микроконтроллерам - но я бы не сказал, что он на этом что-то сильно зарабатывает - он из любви к искусству это делает.
В общем посчитайте все - кто будет целевой аудиторией, сколько времени разрабатывать (в часах), сколько продаж вы сделаете (думаю единицы - сорри за пессимизм), сколько придется вложить в рекламу (думаю очень много - чтобы о вас хоть как-то узнали), сколько вы бы заработали за это время на уборке снега (зима близко!), насколько разрекламируете этим лично себя (и как потом сможете это монетизировать).
Успехов!
Если вы хотите кого-то конкретного научить, и у вас есть кандидат - делайте.
Если нет - не делайте, потому что мне кажется вы сперва хотите сделать техническое решение (урок), что вы делать умеете. А уже затем хотите заработать (его продать), что вы не умеете. В таком ракурсе вы не сможете заработать, поскольку конкуренция высока, и если вы сможете ваших знакомых убедить, что ваши уроки классные, но выделиться на рынке - маловероятно.
Но вы можете обратиться в тренинг центры, в те же stepic.ru или курсера, и предложить себя как преподавателя и писателя, и попробовать себя сразу в деле.
Вот вас спрашивают кто вы такой, известный человек, профессор и так далее, а вы рефлексуете и воспринимате вопрос в штыки, вместо того, чтобы понять смысл этого вопроса:
>@Nominom: Nominom @Nominom
>Какая разница? Изучающему важен товар, эффективность и отзывы о нем, а не кто его создатель.
Изучающему это важно тогда, когда он уверен в качестве товара. Вы будете оббегать людей по квартирам и убеждать что ваши курсы лучше? Или ваш рекламны бюджет сопоставим с тем, что тратят на раскрутку курсера?
Посмотрите же на это (на бизнес) с точки зрения бизнесмена, а не технаря.
brainick: Насчет ржача - напрасно. МФТИ+НЛП - это хорошая связка ))) Просто об НЛП много страшилок - а там как раз хорошо учат работать с тем, что человек говорит и быстро докапываться до того, что он имеет ввиду на самом деле при этом - для преподавателя навык очень полезный, плюс есть модели которые специально заточены под обучение.