К списку категорий

  •   деи обучения языкам и разработке детей.




  •   Описание

    По сему разумно первый язык выбирать Питон.



      Статья

    Предисловие. ( в тексте будут опечатки. Писал быстро)

    Елена, я посмотрел проект, поговорил с вами по телефону.

    Сразу оговорюсь, человек я занятой.

    Так же я посмотрел цены у вас, конечно цены неоправданно высокие. Иными словами. Проет просто для заработка, я не увидел в нём цели чему то научить, больше подходит слово занять ребёнка, это тоже не плохо, по крайне мере он сможет определиться, интересно ему это или нет.

     

     

    Ну, это рынок, если люди платят, значит востребовано.

    У меня возможно другие цели. Я не увидел у вас в проекте. Что вы можете чему то научить.

    Больше подошло бы слово, вы можете занять ребёнка.

    Наверное это и правильно. Все ж лучше, чем он будет по подворотням шататься.

     

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

     

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

    Основное, что я делаю, я учу. Как правильно учится программированию. Моя аудитория, люди после 40-ка которые мечтали программировать, студенты вузов, которые просто понимают, что программа вуза слишком поверхностна и люди других возрастов, которые хотят понять нужно им программирование или нет. С детьми я не работаю вообще.

     

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

    Я вас не осуждаю.

    Я написал более 17 суток видео уроков, так же я помогаю в группе, то есть по вопросу человека и по коду я вижу, что у него упущено, даю рекомендации, что подтянуть в данный момент, вижу что человека тормозит.

     

    Скажите сколько это может стоить? Пришёл человек с нуля, а потом через время может писать на любом языке. Я скажу это могло бы стоить примерно около 1000 рублей в месяц, но такие деньги люди не могут заплатить.

    Поэтому я сделал доступ пожизненный и недорогой.

     

    Постоянно мне поступают предложения, так как я имею. Как поклонников своей системы. Так и противников. Но я обычно ничего не отвечаю.

    Вы первые и видно последние кому я ответил.

    И раз уже написал свои мысли отправлю.

     

    Но тем не менее. Я уже раз написал, то выскажу своё мнение.

    В связи с принятием закона о цифровой экономике, где нужны реальные знания.

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

     

    Нет я не набиваю себе цену. Если честно я не вижу себя с вами. Как, я сказал, я привык работать на результат. мне доставляет удовольствие. Когда я вижу. Как люди начинают писать код. По крайне мере я ставлю цель, довести человека до уровняю когда он сам сможет изучать любые языки. Если вы начнете ставить такие цели, то у вас будет много рекомендаций.

     

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

     

     

     

     

     

     

    Здравствуйте.

     

    Глава 1. Введение.

     

    Если планировать рынок обучения, то нужно вообще его понимать.

    Итак все изменилось в ноябре 2009 года.

    Был выпущен язык Go.

     

    Я считаю, именно это положило начало новой эре языков.

    До 2009 года писались языки для всего это такие языки Си, С++, Java. По сути дела эти языки теперь занимают своё место, для написания других языков, библиотек и системного софта. Иными словами эти языки должны изучать профи. Которым есть что сказать. Давать эти языки новичкам, дело дурное. Это только моё личное мнение.

     

    Что изменилось после 2009 года, началась эра языков по направлениям рынка. То есть больше никто не пишет языки для всего как ранее, теперь пишут языки конкретно под индустрию илирынок. Из сообщений сотрудников Гугл. Для поддержки Гугл требовались десятки языков, которые можно было заменить практически одним. Всем важно время.

     

    Эту же идею я услышал от архитектора языка котлин, который сказал: - время языков для всего прошло.

    Если б меня лет 7 назад спросили, какие языки нужно учить, я бы наверное наговорил много, но все было бы не верно. На сегодня и эта позиция не изменилась за три последние года. Скажу так. Языки нужно учить по тому что требует рынок.

     

    Теперь давайте сведём это к современным требованиям. Вы знаете, что на государственном уровне принят закон о цифровой экономике. Что такое для программиста?

    Это значит, что будут оцифровываться все предприятия.

    Что представляет этот процесс?

    Это значит что все объекты будут иметь логику, серверную часть и мобильную часть. Заметьте, Гугл мобильную часть поставил во главе угла и если зайти в аккаунт search console, то все сайты переведены на мобильный приоритет.

     

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

     

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

     

    Глава вторая. Что востребовано будет ближайшие 10-15 лет?

     

    Представьте себе предприятие, которое нужно оцифровать?

     

    1. Это логика

    2. Это серверная часть.

    3. Мобильная часть.

     

    Все вместе это называется масштабируемое приложение.

     

     

    Мы сейчас не берём какой то конкретный язык, нас интересует понимание. Что бы попасть в рынок в струю. Под рынком я понимаю , спрос и предложение ПО.

     

    Под логикой мы понимаем описание структуры любого предприятия с многократным многогранным применением. Иными словами это можно описать только применяя ООП (далее объектно-ориентированное программирование). Уже потом можно подбирать языки.

     

    Под серверной частью мы имеем ввиду Линукс и фреймворки (наборы заготовок), которые способны на себя взять обмен с другими частями систем. В современном мире все приложения стремятся обмениваться информацией, то есть серверная часть это закон и её знание. Ну например если взять Инстаграм, то серверная часть там написана на Джанго (пайтон).

     

    Мобильная часть. Мобильные приложения на себя берут на много больше чем ранее, сегодня мобильное приложение в первую очередь это управление чем либо. При помощи телефона.

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

     

    Зачем я писал текст выше. Если вы сейчас поищите в интернет. То программисты, которые были востребованы 10 лет назад, сегодня за бортом. Нужно смотреть в будущее и понимать как меняется время и куда все двигается.

     

    Глава третья языки программирования.

     

    Не важно от языка программирования обучение рекомендуется строить в три этапа.

     

    Этап первый.

    Изучение типов данных, основные операции и другое (сейчас не буду описывать), до функций (включая их). Этот период должен длится не менее трех месяцев.

    Что основное на этом этапе при подготовке преподавателей.

    Задачи преподавателя:

    1. Создать ассоциации типов данных в языках с реальным языком. Это понимают даже дети 6-ти лет.

    К примеру. Ребёнок видел, как мама составляет список. Если ребёнка попросить написать список похода в магазин на бумаге, он его без труда напишет. Потом сказать, а есть ли что то типа такого списка в языке программирования и показать что есть.

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

     

    В чём недостаток многих курсов. Многие курсы преподносят язык программирования, как нечто стороннее и сложное, а учить нужно не запоминать язык, а пользоваться справкой.

    Вот взролслый человек. Который это понял, начал делать крутые вещи, просто я видео код этого человека, который на курсах ничего не понимал.

    https://spb-tut.ru/guest/pages/306/

     

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

     

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

     

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

     

    Ещё важная вещь это подготовка преподавателей. Преподавателей нужно готовить самим. А не покупать где либо. Если преподаватель будет рассказывать материал, а сам думать, а закрыта ли у него теплица на даче, то не будет толку.

     

    Важно научить преподавателей разговаривать на языке обучающегося и постоянно выращивать.

     

    На первом этапе идёт втягивание в процесс обучения, очень важно что бы обучаемый все понимал. Вы знаете процентов 70 я уделяю тому, что бы подбодрить и похвалить людей. На самом деле. Что нужно обучаемому это видеть что в него верят.

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

    1. Парень, который там обучал он сам писал хорошо профессионально, но объяснить не мог.

    2. Не было стратегии обучения, системы.

    3. Допустил раскол новичков, то есть одни начали подтрунивать над другими.

    А у меня через месяц парень начал писать метаклассы (сложный код, когда классы на лету создают классы).

    На самом деле преподаватели очень важны и очень важно. Что бы преподаватели понимали, что и кому давать. Роль преподавателя это вести, но ученик двигается сам.

     

    А вот человек, который не очень верил, но свернул горы, когдла я его подерживал

    https://www.youtube.com/watch?time_continue=1&v=7cZ9xrjmEbA&feature=emb_logo

     

    Итак первое правило в язык важная база. База любого языка не большая, но прорехи в базе ведут к непониманию дальнейшего языка.

     

    Что важно методически:

    1. Преподавтаель должен точно понимать, когда наступил у обучаемого 1 этап понимания, а именно.

    Обучаемый должен уметь.

    Знать типы данных и уметь деать простые операции с этими типами данных.

    Твёрдо приводить примеры из жизни и оцифровывать их на лету в псевдокоде (то есть словами).

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

     

    На этом этапе можно применять и игровые виды.

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

    Там можно много придумать. Но важно понимать, каждый участник должен выйти на уровень и преподаватель это должен видеть.

     

    Этап второй.

    Этап второй обучения начинается после функций и после первого понимания ООП.

    Цель второго этапа — это обучение в рамках конструкций. Это первая часть.

    Вторая наиболее важная часть — это развитие навыков программиста.

     

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

     

    На втором этапе начинается программирование более реальное.

    Сразу нужно отбросить чушь. Что нужны какие навыки математики для программиста — это чушь.

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

     

    На втором этапе и это важно донести до родителей идёт развитие интересов ребёнка.

     

    По сути можно начинать работать с фреймворками, Джанго, искусственным интеллектом, мобильными приложениями, блокчейн, робото техникой.

     

    Но у второго этапа есть цели и они очень важны, эти цели имеют чёткие приоритеты и должны быть полностью реализованы.

     

    1. Ребёнок продолжает изучать язык.

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

    https://www.youtube.com/watch?v=R6RO8UKspZY

     

    По сути дела на этом этапе главное преодолеть этап переключения между языками и библиотеками, как только страх уходит, человек может брать третий, четвертый и любой язык. В чём здесь суть. Все языки схожи и имею одну природу, когда мы начинаем это показывать, то ребёнок начинает изучать то что находится над языками, на самом деле это просто. Если ранее каждый язык, например, когда он хочет его понять он просто брал и начинал изучать, но если его научить подходить на уровень выше, то есть для прримера возьмём функции, мне достаточно посмотреть а что есть функции в языке. Например как в JS, это функции высшего порядка, мне уже понятно, как в принципе писать на этом языке. Так как я понимаю. Что функции принимают другие функции и точно понимаю. Что я смогу реализовать.

    Ключевая мысль. Все эти вещи вылазят, только при подключении второго языка, иными словами тогда мозг начинает работать на сравнениях, что есть его естественное состояние.

     

    2. Изучение языка уже продолжается в двух направлениях в пределах конструкций, но с привлечением более сложных вещей ООП и уже практика с реальными проектами.

    Там может быть разделение на направления.

     

    3. На втором этапе важно правильно сформировать хотя бы основные привычки программиста и научится правильно обучаться.

    - Первая привычка это работать в командной строке, при этом важно что бы это понимали преподаватели. На самом деле легче описать, что будет если не приобрести этот навык.

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

     

    - Описывать что делаешь. Если человек не приобретает эту привычку, то он никогда не будет пользоваться справкой, а значит никогда не будет понимать, что программирование — это пользование справкой. А не всезнание. И если он не описывает. Что делает, то он не может выразить код словами. Эту привычку нужно взращивать.

     

    - так как нужно описывать, значит нужны инструменты, я рекомендую markdown/

     

    -Вообще на этом этапе важно знакомить с такими вещами. Как Git, Linux, jupyter (инструмент командной строки.

     

    - Оценивание чужого кода и комментирование.

     

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

     

    Третий этап уже для гурманов — но он точно нравится всем сама разработка.

    Вот примеры начала работы

    https://www.youtube.com/playlist?list=PLuZJ9n46uMzVDEIOH5PV9LM8tUqnwHf3H

     

    Основное на этом этапе.

    На этом этапе уже идёт настоящее программирование. То что и подразумевает человек под программированием — умение разрабатывать.

    В первую очередь здесь мы говорим о разработке в чистом виде.

     

    Здесь идёт уже работа с написанием мини программ.

     

    Но обучаемый уже углубляется в суть языка.

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

     

    ИЗ практики, например все понимают, что такое абстрактные классы, но на самом деле приходится объяснять что это такое их жизни

    https://www.youtube.com/watch?v=MQE3GRvrggM&list=PLuZJ9n46uMzVDEIOH5PV9LM8tUqnwHf3H&index=12&t=0s

     

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

     

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

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

    Например я взял проектам

    https://beeware.org/

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

     

     

     

     

     

     

     

     

     

     

    сообщество

     

     

    Самое важно это сообщество. Сегодня интернет это и есть сообщество.

    Здесь море вариантов. Но если бы школа имела своё сообщество, то скоро бы появились и работы ваших программистов и возможно тогда открытие новых направлений.

     

    Сообщество здесь нужно думать, так как нет сообщества, нет проекта.

    Идей здесь очень много.

    Но первое что важно сообщество должно взять сопровождение участников — это тоже может быть платно.

     

     

    Языки.

    Не успел написать, нужно заниматься своими делами.

    Коротко.

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

     

    Рынок Веб.

    Рынок мобильный (он будет в приоритете)

    Рынок игр

    Декстопный.

     

    По сему разумно первый язык выбирать Питон.

    Есть несколько причин.

    1. Он доказал свою состоятельность. На нём написан Ютуб, на питон так же написана серверная часть Инстаграм.

    2. Питон имеет очень мощную систему ООП. То есть все остальные языки будут сравниваться это есть этого нет.

    3. Питон человек точно поймёт и не бросит программирование.

    4. От питон важно перейти ко второму языку. Который нужен в напрапвлении.

    5. После этого откроется доступ к любым языкам и буде понимание.

     

     

    С каких языков нельзя начинать.

    Нельзя начинать с JS. Ведь вам бы не понравилось, если бы вы посадили грядку. А на утро она на другом месте. Если начать с JS, то у новичка будет впечатление. Что язык это бардак.

     

    Вот языки, которые я выбрал на ближайшее время.

     

    1. Питон

    2. Котлин..

    3. JS

    4. Java*

     

    Другие языки, кроме js и питон мгут быть изменены по потребностям.

     

    Котлин это и есть следующий шаг развития Джав, то есть если понимать ООП питон, потом изучать котлин, то java будет понятен, но вряд ли востребован. Только как дополнение.

    Например на котлин написал программу, а пока нет библиотеки, что бы перегнать приложение для приложений Apple. Тогда придётся воспользоваться джава. А так он полностью классный язык

    вот здесь можно посмотреть код и понять разницу на Джава 40 строк на котлин две.

    При этом котлин полностью совместим с джава в обе стороны.

    http://kotlinlang.spb-tut.ru/about/

     

    Пока все.

     

    Спасибо за внимание.

     

    Отослал, так как обещал при телефонном разговоре, будут рад, если какие-то идеи помогут.

    Эти идеи трудно оценить деньгами — это годы пропущенные через себя.

     



      Код

    нет кода

      Рекомендации

    Узнать больше в ленте Twitter и подписаться на Ютуб, получать новые видео.



    Родители могут оплачивать школу для детей.

    Обратите внимание, сами дети оплачиват не могут.

    чиать соглашение:

    https://spb-tut.ru/info/agreement/



    2020-02-09 12:11:29+00:00



    К списку категорий