LINUX.ORG.RU

Как учить программированию человека с полного 0?

 , ,


0

1

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

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

Что бы такого кроме Hello World и простых упражнений на знание синтаксиса придумать?

У меня идеи есть, но там нужно уже комплексно думать, да и паттерны применять надо. А для этого опыт нужен. Без опыта, с одним знанием синтаксиса, паттерны объяснять, показывать бизнес логику, это… Ну такое себе, каша в голове будет. Повторюсь, у девушки полный 0 в области программирования.

В интернете шарилась, но там либо сложно, либо скучно…

Хочу в качестве методички, взять официальную документацию питона.

Вот что ей объяснять после того как синтаксис покажу и она сделает задачи по нему? Я не знаю, поэтому прошу помощи здесь.

Работу с БД? Боюсь не потянет так сразу - каша будет. Думаю БД ей надо будет давать через месяца 2, плотной практики. А там потихоньку проектировать приложения для автоматизации чего-либо, сначала маленькие проекты,а потом потихоньку наращивать функционал, паттерны потихоньку вводить.

Но опять же, что мне ей давать в качестве задач на эти 2 месяца?

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

Кто обучал новичков, поделитесь опытом.



Последнее исправление: beginnerSHA (всего исправлений: 1)

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

Начинай с самого-самого простого перед тем как двигаться дальше, очень легко переоценить навыки другого человека и дать ему неподъёмную задачу.

Работу с БД? Боюсь не потянет так сразу - каша будет

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

quantum-troll ★★★★★
()

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

ПЫСЫ Никого кроме себя не обучал, да и с этим справился так себе =).

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от futurama

Там истерика будет если учеба программированию будет без компьютера…

Как думаете, она будет слушать лекции про структуры данных и алгоритмы? Ведь по сути это можно и даже нужно, объяснять без компа - мозг думать будет тогда

beginnerSHA
() автор топика
Ответ на: комментарий от goingUp

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

Странно конечно, но меня это не особо волнует. Меня интересует как это сделать грамотно

beginnerSHA
() автор топика
Ответ на: комментарий от beginnerSHA

Онлайн курс отменен был ею, я предлагала ей это.

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

Тем более сей5 курсов разных,как грязи, и этих онлайн школ тоже.

Лучше курсы от серьезного заведения, а не «инфоцыган») Парадокс, но бесплатные могут быть лучше, чем платные. Проходил бесплатные курсы на coursera, правда на инглише, впечатления положительные. Можно завести отдельную тему, какие курсы по пистону лучше, я не подскажу.

goingUp ★★★★★
()

Легче всего изучить программирование читая занимательную книгу. Можно порекомендовать следующие варианты:
https://automatetheboringstuff.com/ (Python)
http://learnyouahaskell.com/ (Haskell)
https://www.braveclojure.com/clojure-for-the-brave-and-true/ (Clojure)
http://landoflisp.com/ (Lisp)

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

rupert ★★★★★
()

Почему взялась за обучение не спрашивайте

И так понятно.

Для тех кто не учился в школе вопрос?

Обучение всегда идёт по одному и тому же плану:

  1. Теория
  2. Практика
  3. Проверка знаний

И разделение: урок, тема, курс.

Тупеньких отсеивают, умных поощряют.

thegoldone
()
Ответ на: комментарий от rupert

Ну для конкретно оленей есть два пути:

  1. Азиатский-массовый: короткий цикл того же самого. Например обучение английскому:

– Учитель: Айм Файн на. Повторили.
– Класс: Айм Файн на!

  1. Православно-менторский.

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

thegoldone
()
Последнее исправление: thegoldone (всего исправлений: 2)
Ответ на: комментарий от thegoldone

как выстроить обучение. можно посмотреть как устроены какие-нибудь курсы по питону, тоже самое повторить. и все. все это скучно, если человеку не интересно. (не туда написал).

nionio35
()
Последнее исправление: nionio35 (всего исправлений: 1)
Ответ на: комментарий от beginnerSHA

Как думаете, она будет слушать лекции про структуры данных и алгоритмы?

Нет, и правильно будет делать.

Ведь по сути это можно и даже нужно, объяснять без компа - мозг думать будет тогда

Ненужно.

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

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

right_security
()

Стать мега супер пупер дупер крутым кул программистом.

с полного 0?

на эти 2 месяца

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

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

Также нужно знать сколько часов выделено в эти два месяца на обучение (эту информацию вы наверное тоже сохраните в тайне от нас), чтобы составить план. Учебный план. Раз у вас нет опыта в преподавания, узнайте про такое понятие как «учебный план», поищите готовые для возраста вашей ученицы, можно наши, можно западные (syllabus computer science/ software engineering), оттуда узнаете какие темы вообще есть, в каком порядке изучаются, я не встречал планов на 2 месяца, поэтому вам придётся их менять под себя сокращая часы и выкидывая темы.

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

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

mydibyje ★★★
()

У меня идеи есть, но там нужно уже комплексно думать, да и паттерны применять надо.

Значит идей нет.

питона

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

Ели мы говорим про питон - это всякое академическое(что сразу мимо), сишный клей(тоже мимо), студенты(тоже мимо).

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

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

right_security
()
Ответ на: комментарий от mydibyje

Также нужно знать сколько часов выделено в эти два месяца на обучение (эту информацию вы наверное тоже сохраните в тайне от нас), чтобы составить план. Учебный план. Раз у вас нет опыта в преподавания, узнайте про такое понятие как «учебный план», поищите готовые для возраста вашей ученицы, можно наши, можно западные (syllabus computer science/ software engineering), оттуда узнаете какие темы вообще есть, в каком порядке изучаются, я не встречал планов на 2 месяца, поэтому вам придётся их менять под себя сокращая часы и выкидывая темы.

Ога, чтобы готовый план чтобы пойти в макдак/редакторы жсона. И это за годы, а не месяцы. Уж тем более это групповые общие подходы - они мимо в данном случае.

Всё что можно найти - примеры. И то это такая себе история, потому как индивидуально интерес куда сильнее правильности примера. И даже какой-нибудь мусор, но который будет интересен пациенту - это будет куда эффективнее.

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

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

right_security
()
Ответ на: комментарий от right_security

Тут проблема в том, что пациент ставит условия доктору, а доктор не может отказать цитирую «по своим причинам, которые вам знать не обязательно» и идет на ЛОР за советом как катить квадратное, тут только и остается что посоветовать ему книжку «Как стать программистом за 2 месяца», уверен такая есть, по крайней мере видео с ютуба по такому запросу гуглятся.

mydibyje ★★★
()
Ответ на: комментарий от mydibyje

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

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

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

Я по такому плану действуют. Даже на уровне «из домохозяйки в пацанскую сишку», но всё равно. Если человек не связывает свою деятельность/жизнь с темой - это мало смысла имеет. Чисто ради интереса «можно научить/нет и как». Здесь да - нет смысла даже пытаться. Это, действительно, катить квадратное.

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

right_security
()
Ответ на: комментарий от right_security

Знаете, а Вам это удалось. У меня редко возникает настолько сильное чувство пренебрежения и омерзения к людям, но Вы - безусловный шедевр. И Вы даже близко не пресловутый «Царь» (у него хоть какой-то IQ имелся), Вы только безуспешно пытаетесь под него мимикрировать. И хронический стукачок к тому же (кому интересно - пусть в спец топик заглянет). Чего я не понимаю - так это почему часть людей которых я действительно считаю профессионалами на это ведётся. Кормят тролля, не больше. Возможно веселятся (нам всем иногда бывает скучно). И пусть с меня снимут какой-то score за всё вышесказанное, не важно. Зато душой не покривил. Озвучил что думаю. Добро пожаловать в мой бан-лист. Лечитесь. Удачи!

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

Удивительно, в очередной раз. Я даже не понимаю почему эксперт порвался. Что я там такого сказал?

Обиделся на питон? Либо на отсидку уровня с заходами уровня «Не сидел - не мужик!11»?

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

И эта вера в то, что иначе нельзя - она сохраняет их фантазии. Раз иначе нельзя - значит потеря не потеря, а часть необходимого - часть процесса обучения. А на самом деле то нет.

Поэтому мы и не видим попыток в какую-то аргументацию. Вера она абсолютна и не подлежит сомнению/основаниям.

right_security
()
Ответ на: комментарий от mydibyje

Угадали, ей сессию сдавать…. Они там питон учат, пока без бд, им там в следующем полугодии бд будут давать, во всяком случае мне она так сказала. 2 курс у неё… Курсовая будет питон+БД…

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

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

Курсы… Она такой человек, которому нужно в живую объяснять, иначе не поймет…

Думаю будет хорошой идеей взять за методичку курс какой-нибудь.

Спасибо

beginnerSHA
() автор топика

вариант а) феминизм, равноправие — разбирайтесь самостоятельно, как делают все мужики.

вариант б) найди мужика который всё сделает за тебя.

Spoofing ★★★★★
()
Ответ на: комментарий от beginnerSHA

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

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)
Ответ на: комментарий от beginnerSHA

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

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

Курсы… Она такой человек, которому нужно в живую объяснять, иначе не поймет…

А программирование - это такая вещь, где надо уметь рыться в документации. Да и не только в программировании. Тут если только разжевать базовые вещи, чтобы въехать в тему.

И еще момент. Сейчас какая-то туева хуча повалила, которая «входит вайти» через курсы Python. Интересно кому они нужны в итоге? «вайти» - это ведь не только язык программирования, но и хотя бы минимальные понятия об основных алгоритмах, структурах данных, где уместно, где не уместно применять и т.д.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)