Рекомендации для самостоятельного изучения программы НЛП

Есть 5 уровней проверок:

1. Тестирование на метапрограммный профиль – позволяет выявить набор метапрограмм – стиля мышления и паттернов поведения человека и дать набор упражнений корректирующий (приводящий в баланс) способ мыслить и действовать.

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

2. Автоматическая проверка на знание материала – это тестирование, задача которого определить уровень знания терминологии и информации из обучающего курса.

3. Кураторская проверка (живым сертифицированным практиком-мастером НЛП) ваших ответов на задания курса.

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

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

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

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

5. Скайп сессия с Александром позволяет не только точно оценить ваши паттерны и дать обратную связь – что необходимо менять и как – скайп сессия с Александром – это и оценка и терапия в одно время.

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

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

Содержание

Как я смогу обучаться один, без группы

Сможете. И намного комфортнее, чем в группе. В групповой динамике есть свои плюсы, как и возможность спрятаться от тренера. Когда в зале одновременно обучается 30-60 человек, тренер физически не может работать с каждым, а ваш персональный куратор может.

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

Выбирайте ту версию, которая соответствует вашим задачам и вперед к изменениям!

Что если у меня не получится и я заброшу

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

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

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

Сколько времени нужно на обучение

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

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

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

Исходя из опыта можем сказать, что при достаточной мотивации, на активное прохождение курса достаточно 3-4 недель.

Могу ли я оплатить курс НЛП по частям

Да. Для начала обучения вам необходимо внести аванс в размере 2500р и приступить к обучению.

После завершения первой недели обучения – это 2 первых урока – вы вносите остаток либо полностью, либо разделив его на 2 (после 2 и 4 урока).

Гарантия

Лучшая гарантия – это тест-драйв. Я предлагаю вам самые комфортные условия: оплатите аванс 2500р – пройдите первый урок и если не понравится – заберите деньги обратно в полном объеме! Так вы точно определите качество курса и насколько он подходит для решения ваших задач. Покупайте то, что попробовали сами!

Источник: https://tymind.ru/course/9

13 советов тем, кто изучает программирование самостоятельно

Рекомендации для самостоятельного изучения программы НЛП

Чёткое обоснование того, зачем вы изучаете программирование, поможет вам сконцентрироваться. Обязательно сформулируйте для себя конкретную цель. Детально рассмотрите свою мотивацию. «Хочу уметь», «хорошо бы научиться» — это плохая цель. Примеры хороших целей:

  1. Продвинуться дальше в текущей карьере.
  2. Сменить род занятий.
  3. Зарабатывать дополнительно благодаря сторонним проектам.
  4. Разработать свой собственный продукт (игру, мобильное приложение), создать стартап.

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

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

2. Выберите правильный язык

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

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

Если не знаете, с чего начать, попробуйте изучить язык JavaScript. Нравится это или нет другим программистам, JavaScript становится всё более популярным и применяется не только при разработке веб-сайтов, но и в других сферах. Таким образом, вы покроете максимальное количество вариантов применения.

3. Составьте расписание

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

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

Eric Rothermel/Unsplash.com

Заниматься 25 минут в день легко. Стоит привыкнуть к такому минимуму, и вскоре вы не сможете оторваться от обучения на протяжении нескольких часов.

4. Занимайтесь одним делом в один момент времени

Многие пытаются делать сто вещей за раз. Огромная ошибка! Занимайтесь одним делом в один момент времени. Не изучайте параллельно HTML, JavaScript, Swift и что-то ещё. Вы сведёте себя с ума!

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

В своей книге «Начни с главного!» Гэри Келлер (Gary Keller) сказал: «Необыкновенные результаты напрямую определяются тем, насколько сильно вы можете сузить свой фокус». Это можно применить к чему угодно, включая изучение программирования. Не бойтесь опоздать — языки и технологии никуда не денутся. Начинайте с малого и двигайтесь вперёд.

5. Делите всё на небольшие порции

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

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

Предприниматель Тим Феррисс (Tim Ferriss) придумал акроним ABC — Always Be Compressing. Идея заключается в том, что каждый блок информации нужно постараться сформулировать настолько кратко, насколько возможно. Потом обобщить это в абзац, создать диаграмму или изображение, использовать мнемоническую схему — что угодно, если это поможет вам быстро вспомнить нужное.

6. Меняйте способы

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

Впитывайте информацию любыми возможными способами.

По словам Джуди Уиллис (Judy Willis), автора книги «Как научить ребёнка легко учиться», чем больше областей мозга хранит данные о предмете, тем активнее формируются взаимосвязи.

Их избыточность даёт учащемуся дополнительные возможности доставать информацию из разных хранилищ мозга. Такие перекрёстные связи данных означают, что мы изучили что-то, а не просто запомнили.

7. Обучайте других

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

Можно делать свои видео на с объяснениями каких-то концепций. Не нравится идея с видео? Можно обойтись и без него. Вы можете преподавать разными способами. Как вариант — писать.

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

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

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

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

И не стесняйтесь задавать вопросы сами! Дайте другим возможность объяснить вам что-нибудь.

8. Найдите единомышленника

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

9. Найдите наставника

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

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

10. Внесите в процесс элементы игры

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

Устанавливайте цели и работайте над ними. Вознаграждайте себя, когда достигнете их.

Pawel Kadysz/Unsplash.com

11. Переделайте чей-нибудь код

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

Используйте чью-то работу для вдохновения и идей.

12. Практикуйтесь. Не зацикливайтесь только на обучении

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

Выяснение того, как всё работает, — это ваше собственное испытание, а ошибка — то, что кардинально изменит правила игры. Это ведёт нас к последнему совету.

13. Не бойтесь неудач

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

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

Вывод

Ключ к успешному самообучению — это уверенность. Если вы верите в себя, то с большей вероятностью у вас всё получится лучше, чем ожидалось. Прекратите сомневаться в себе и своих способностях, и вы прорвётесь, как настоящий чемпион!

Игра проиграна, только если вы сдались.

Источник: https://Lifehacker.ru/2016/05/17/13-learning-hacks/

5 суперметодик для быстрого изучения английского

Рекомендации для самостоятельного изучения программы НЛП

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

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

Запоминание слов. Мнемотехника

Народная мудрость гласит: “Лучше один раз увидеть чем сто раз услышать”. Человек быстро и без усилий запоминает яркие картинки. Мнемотехника учит применять эту особенность нашей памяти для запоминания различной информации: исторических дат, чисел, списков покупок и т.д.

Методы мнемотехники отлично применяются для запоминания иностранных слов.

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

Как же работает мнемотехника? Маленькие дети запоминанию порядок цветов радуги с помощью мнемонической фразы:

“Каждый охотник желает знать где сидит фазан.”

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

В одном из романов Сергея Лукьяненко главный герой использует в качестве пароля к сверхсекретной компьютерной системе убойную мнемоническую фразу:

“Сорок девять обезьян в ж_пу сунули банан.”

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

Нас интересует запоминание английских слов. Вот пример как это делается с помощью мнемотехники. Слово

eagle [игл] – орел

запоминаем с помощью фразы “Когти ОРЛА это 10 адских ИГЛ”.

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

Итак, мнемотехника научит вас переводить иностранные слова в мнемонические фразы и яркие, запоминающиеся образы. Эту методику вы можете освоить самостоятельно за несколько часов. Вы сможете запоминать иностранные слова со скоростью 10-30 слов в час. Читайте подробное описание метода здесь.

Запоминание слов. Метод карточек

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

Метод карточек очень прост. Вам потребуется купить в канцелярском магазине небольшие листики бумаги, размером примерно 5 на 5 сантиметров. Допустим вы подготовили 20 слов, которые необходимо запомнить. Вы делаете следующее:

  1. Пишете на одной стороне листочка слово и транскрипцию, на другой – перевод. Одно слово – один листочек. Итого получится стопка из 20 карточек.
  2. Запоминаете все 20 слов при помощи мнемотехники.
  3. Спустя неделю после запоминания, слова нужно повторить. Берете стопку и для каждой карточки делаете следующее:
    1. смотрите на слово, написанное на карточке, пытаетесь вспомнить перевод.
    2. Переворачиваете карточку и проверяете, что перевели правильно.
    3. Если какое то слово забыли, откладываете карточку.
  4. Аналогично проверяете перевод слова с русского на английский.
  5. Через некоторое время у вас накопится целая стопка карточек, которые вы отложили. С ними нужно поработать более тщательно, повторяйте их до тех пор, пока не запомните.

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

Вы спросите: “Почему же метод карточек эффективнее привычной зубрежки?” Этому есть строгое научное объяснение.

Дело в том что у человека есть два вида памяти: кратковременная и долговременная. Характеристика кратковременной памяти – быстрое и легкое запоминание и такое же быстрое забывание. С долговременной памятью все наоборот – и запоминание и забывание происходит долго.

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

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

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

Читайте так же о том, как использовать вместе мнемотехнику+метод карточек+еще некоторые фишки.

Грамматика. Метод Милашевича

Метод Милашевича это настоящий перл, о котором мало кто знает. Это суперметодика которая за 30 минут научит вас переводить грамматические конструкции любой сложности.

Например предложение:

He will have been asked.

выглядит довольно пугающе. В нем всего два значащих слова:

he – он

ask – спрашивать

Все остальное: will, have, been, -ed – это служебные слова, которые никак не переводятся, а лишь несут информацию как связать подлежащее и сказуемое в предложение.

Милашевич свел расшифровку всех служебных слов (их всего около 30) в компактную таблицу. По этой таблице:

will – грамматический признак будущего времени

have + (-ed) – грамматический признак совершенного вида

been + (-ed) – грамматический признак пассивного залога

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

В нашем примере подлежащее “он”, поэтому начинаем с вопроса

Что он делает?

И поэтапно добавляем в этот вопрос грамматические признаки, которые мы определили ранее. Добавим пассивный залог:

Что с ним делают?

Добавим будущее время:

Что с ним будут делать?

Добавим совершенный вид:

Что с ним сделают?

Ответив на этот вопрос и подставив глагол спрашивать мы получим перевод предложения:

Его спросят.

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

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

Читайте подробное описание метода Милашевича здесь.

Грамматика. Метод Драгункина

В отличие от методики Милашевича, применимой только для чтения английских текстов, метод Драгункина является всеобъемлющем, он позволяет понять английскую грамматику во всем ее многообразии.

При этом форма подачи материала резко отличается от традиционных методик.

Автор методики отказался от устаревших, зачастую просто искусственных «правил», и дал свое описание английской грамматики – простое, логичное и понятное.

Драгункин использует собственную терминологию – функциональную, чёткую, абсолютно прозрачную и понятную.

 Используется много оригинальных параллелей с русской грамматикой и своя транскрипция, с помощью которой любой новичок может легко читать и учить английские слова! Кроме того, автор методики систематизировал слова-исключения, решил «проблему» артиклей и «неправильных» глаголов. И что особенно важно, сложнейшие «времена», осваиваются по методике Драгункина за пару дней.

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

Метод Ильи Франка.

Самые дорогие курсы английского языка проводятся с выездом в англоговорящие страны – США, Великобританию, Австралию.

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

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

Метод чтения Ильи Франка это специально адаптированные параллельные английские тексты. На одной странице вы видите текст и на английском и на русском, поэтому нет необходимости заглядывать в словарь.

Читая интересный роман на языке оригинала, вы быстро привыкаете к системе языка и набираете лексический запас (при чтении, например, 2 часа в день — около 1000 слов в месяц). Примерно за год такой практики вы научитесь читать свободно.

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

Метод Ильи Франка хорошо сочетается с методом Милашевича, поскольку метод Милашевича даст вам возможность понимать не только слова, но и все грамматические конструкции в читаемой книге.

Читайте подробное описание метода Ильи Франка здесь.

Источник: http://pcards.hreminder.com/supermetodiki/7-5-supermetodik-dlya-bystrogo-izucheniya-anglijskogo.html

НЛ-Программирование (1) Пять шагов программы

Рекомендации для самостоятельного изучения программы НЛП

Периодически на меня находит желание поисследовать, откуда есть-пошло НЛП. Этакая психолого-историческая археология. Вслед за А.

Ткачёвым я придерживаюсь точки зрения, что само название «нейро-лингвистическое программирование» имеет не случайное происхождение (как это последовательно утверждает Дж.

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

На страницах журнала Метапракик мы уже разбирали термин «нейро-лингвистический». Как мы знаем, пришёл он из работы Альфреда Коржибского «Наука и психическое здоровье». С истоками термина «программирование» ясно не до конца. Во-первых, математическое образование Ричарда Бэндлера. Во-вторых, влияние известного (и гремевшего на всю Америку) тогда Эрика Берна.

В книге, в которой его идеи получали максимальное развитие («What do you say after you say hello», в русском переводе «Люди, которые играют в игры»), мы встречаем термин «родительское программирование», parental programming.

На мой взгляд, создатели НЛП успешно, вполне по-эриксониански использовали (utilized) идеи Берна и их известность, в частности, придали техническое содержание его термину «программирование».

У меня нет технического образования, на уроках информатики мы лишь учились печатать на клавиатуре и играть в немудрёные игрушки. К вопросу, что такое «программирование» я решил подойти по-эриксоновски: я бы не хотел, чтобы это знание было испорчено несовершенным знанием другого человека. Это совпало с моим интересом к компьютерным железкам, в частности к Arduino.

Я подобрал для себя книгу Джека Пёрдэма “Beginning C for Arduino”. Во-первых, она интересна тем, что автор довольно много (и на уровне для самых начинающих) пишет о самом устройстве железок, о том, как именно связываются, соотносятся друг с другом код программы и работа непосредственно микроконтроллера (процессора).

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

И когда я прочитал одну главу из его книги, моё бессознательное очень чутко отреагировало на неё: «Вот-вот, это важная аналогия, не пропусти!» А потом я подумал, что понимание программирования Ричарда Бэндлера (70-х годов) и автора данной книги может быть схоже. И понял: надо перевести. Выношу на ваш суд: читайте, проводите аналогии, думайте.

В силу моей слабой причастности к информатике и компьютерному программированию, терминология моего перевода может отличаться от конвенциональной. Приятного чтения!

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

Неверный ход.

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

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

Это не так. Большинство студентов, кажется, даже не знали, с чего и как начинать решение задачи. Цель этого раздела — дать вам путь, с помощью которого вы начнёте создавать решение задачи по программированию.

Простой факт состоит в том, что любая программа, о которой только можно подумать, может быть сведена к пяти простым элементам, или шагам. Когда вы начинаете разрабатывать решение задачи по программированию, вы должны думать о программе в терминах 5 шагов: 1) Инициализация, 2) Ввод, 3) Обработка, 4) Вывод, 5) Завершение. Давайте рассмотрим эти шаги немного подробнее.

1. Инициализация (Initialization)

Задача шага Инициализации — установить окружение, в котором программа будет запускаться.

Например, если когда-нибудь запускали Microsoft Excel, Word или подобные программы, вкладка Файл обычно предлагает список недавно открытых файлов, интернет-браузеры позволяют выбрать стартовую страницу.

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

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

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

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

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

2. Ввод (Input)

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

Если вы пишите программу для охранно-пожарной системы, вы считываете информацию с дымовых датчиков, интерпретируете их текущее состояние и, в случае пожара, что-то делаете.

Если датчик показывает, что пожара нет, вероятно, прочитывается состояние второго ряда датчиков, и процесс повторяется.

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

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

Информация, или данные, приходящие от датчика, потенциометра, ручного пожарного извещателя, соединения с базой данных или принтером, Wi-Fi сигнала — список источников данных можно продолжать почти до бесконечности.

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

3. Обработка (Processing)

Продолжая наш пример с пожарной сигнализацией, как только получена информация от датчиков, некоторый код должен быть ответственен за определение — получена ли информация о пожаре, или нет. Другими словами, напряжение тока (т. е.

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

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

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

Однако, во всех случаях шаг Обработки отвечает за приём вводной информации и переработки её в иной вид данных.

4. Вывод (Output)

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

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

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

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

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

Проще говоря, шаг Вывода отвечает за использование результатов шага Обработки. Такое использование охватывает широкий спектр действий — от простого выведения информации на экране устройства до передачи полученного нового значения другой программе или процессу.

5. Завершение (Termination)

Шаг Завершения отвечает за «уборку» после того, как программа закончила выполнять свою задачу. В приложениях для настольного компьютера обычно шаг Завершения выполняется как Инициализация, но в обратном порядке.

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

Если Инициализация открывает базу данных или соединение с принтером, то шаг Завершения должен закрыть это соединение и освободить ресурсы для системы.

Многие приложения для микроконтроллеров, однако, не спроектированы так, чтобы завершаться указанным образом. Система пожарной сигнализации разработана так, что будет выполняться постоянно и всегда, пока всё идёт «нормально».

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

Вероятно, процесс Завершения отключает систему сигнализации до полной остановки.

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

Назначение пяти шагов программы

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

» Очевидно, что они не уделили достаточного внимания этой теме, потому что назначение пяти шагов программы — быть отправной точкой для разработки программы.

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

Большая ошибка.

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

Алгоритм подобен рецепту или набору чертежей: он описывает, что вам нужно сделать, чтобы достичь желаемого результата. Ровно то же и с программированием: пять шагов программы можно использовать для формулирования плана по решению задачи программирования. Несмотря на то, что алгоритмы больше связаны с шагами 2 и 3 (т. е.

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

Боритесь со стремлением «выглядеть занятыми», просто набивая код на клавиатуре без проекта программы, основанного на пяти шагах. Создание проекта программы может казаться очень трудозатратным, но, поверьте, вы сэкономите массу времени в дальнейшем. (Кто придумал фразу про «массу времени»? Неужели время — это то, где находятся бозоны Хиггса?)

Источник: http://nlp-practice.ru/2015/10/11/five-program-steps/

Что следует знать перед тем как «увлечься» программированием

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

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

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

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

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

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

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

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

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

Это как если вы пришли работать, скажем, крановщиком, вас в первый же день посадили в башню, и похлопали по плечу со словами «Ну, удачи!». А как же техника безопасности и базовое объяснение что делать, а чего делать не нужно? Как мне пользоваться инструментами? Что вообще у меня за инструменты в наличии? Что я должен знать перед тем как приступить к работе?

Статья носит сугубо рекомендательный характер, однако попадись мне подобный топик на глаза пол года назад, я бы значительно увеличил свою продуктивность, сэкономил уйму времени себе, а так же множеству людей с форумов, отвечавшим на мои абсолютно идиотские вопросы. К каждому пункту я добавил несколько ссылок, как отправных точек для начала обучения. Так как текст предназначается для абсолютных новичков (да и сам я еще таким себя считаю) — я буду изъясняться предельно просто и понятно, поэтому если вы — гуру, и вы нашли в моем тексте оплошность — судите, но не строго! Итак, что же следует знать, перед тем как увлечься программированием?

1. Терминал

Буду с вами предельно честен. Если бы кто-либо пол-года назад сказал мне, что люди этой планеты до сих пор активно используют командную строку, даже при наличии навороченных графических интерфейсов и самых передовых ОС — я бы рассмеялся этому человеку в лицо.

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

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

Я пытался держаться, повторяя себе, что терминал — штука ненужная, и наверняка человек из следующего скринкаста будет по-максимуму использовать ярлычки и мышку — но нет, чуда не происходило, пытка продолжалась и вскоре (после того как меня заинтересовала Node.js) я сдался.

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

Самообучение

25 вещей о терминале, которые должен знать каждый пользователь Mac (англ.)
How to be a terminal pro — серия отличных скринкастов от Tuts+

2. Регулярные выражения

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

Но насколько это усложнит процесс и путь к пониманию сути вещей? Решение сомнительное, правда? Так вот, регулярные выражения (они же регексы, с ударением на первый слог) — это, объясняясь простым языком, в какой-то степени вспомогательная азбука любого программиста, или, выражаясь языком викисловаря — «формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов». Выглядеть регекс может, например, так:

((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15})

Задача регулярных выражений — помочь программисту с поиском чего-либо. Сейчас объясню.

Если я в своей программе захочу найти все слова, частью которых является слово car (car, carrot, cartoon), мой регекс будет выглядеть так:

/car/ Если же меня интересует только слово car, я напишу: /\bcar\b/ Дальше — веселее. Можно фильтровать поиск через слово, через букву, исключать слова перед или же после искомого результата… Список возможностей фильтрации результатов при помощи регулярных выражений по-настоящему захватывает, и в паре с терминалом, про который я вам уже рассказал выше, эта штука просто невероятно крута. Несмотря на различающийся синтаксис отдельно взятых представителей ООП, многие из них поддерживают регексы и экономят уйму времени людям их использующим. «Ну поиск, кому оно надо? Я же буду учиться программировать, а не искать слова!» — наверняка подумаете вы. Я вас услышал и даже понял. Так что если вы все еще сомневаетесь в необходимости заморачиваться с регулярными выражениями, просто поверьте мне на слово — они вам пригодятся. Многие книги и скринкасты используют регексы в примерах, вообще не объясняя, что происходит — авторы думают, что вы уже владеете этими азами и особенно не акцентируют внимание на разжевывании написанного. Зубрить их совсем не обязательно, но, согласитесь, просмотр пары-тройки скринкастов на данную тематику вас явно не убъет.

3. Софт для разработки — знай свое оружие

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

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

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

В этой статье я не буду сравнивать эти редакторы между собой, вам придется сделать это самостоятельно — ведь вам с этим редактором жить, работать и смотреть на него и в горе и в радости. Я остановил свой выбор на редакторе Sublime Text 2.

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

div>(header>ul>li*2>a)+footer>p (используется плагин Emmet, если кому интересно)

4. Система контроля версий

«Ну а это еще что такое?» — спросите вы. О, система контроля версий это прекрасная вещь, без которой в наши дни не обходится ни один серьезный девелопер.

Википедия гласит — «Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.

» Систем контроля версий существует достаточно много, поэтому сразу скажу — ниже речь пойдет исключительно о GitHub, самом большом сервисе для совместной разработки проектов. Резонный вопрос: «Зачем мне этот Гитхаб осваивать, ведь мне пока нечего выкладывать?» А причин на то несколько.

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

Кроме того, вы сможете взглянуть на чужой исходный код и научитесь правильно его скачивать и «форкать» (копировать). В дальнейшем GitHub частенько будет всплывать в различных онлайн-курсах и скринкастах, и, конечно же, их авторы будут уверены в том, что вы знаете, как Гитхабом пользоваться. Поэтому если у вас найдется немного времени на неделе, сделайте себе одолжение — попробуйте Git.

5. История и культура

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

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

Заключение

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

Никогда не сдавайтесь!

  • новичкам
  • программирование
  • знание – сила

Источник: https://habr.com/post/157171/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.