Я вызвался сесть и поговорить о жизни и работе разработчика с 15-летним студентом с опытом работы на следующей неделе.
Уловки в том, что
- У меня есть только полчаса, и
- Я буду одним из тех, кто с ней разговаривает - другие люди, играющие разные роли в бизнесе, также будут работать с ней в течение дня.
Что мне следует освещать, и чему я могу научить ее всего за полчаса?
Я предполагаю, что она, вероятно, не имеет опыта разработки или программирования.
teaching
profession
Dexter
источник
источник
Ответы:
Я много общаюсь со старшеклассниками, поэтому отвечаю на этот вопрос довольно часто. Имейте в виду, что 15-летним детям гораздо легче объяснить программирование, чем 50-летним, поэтому вам не нужно ничего тупить или использовать надуманные аналогии.
Я обычно начинаю с примеров того, что программы:
После этого я обычно объясняю, что мы кодируем программы на формальном языке, который распознает компьютер, и часто пишем их так просто, как Блокнот. Языки выглядят как нечто среднее между математикой и английским языком, описывают понятия и дают формулы и инструкции для компьютера.
Затем они обычно спрашивают, нахожусь ли я на компьютере все время, поэтому я всегда на Facebook и почему мои глаза еще не испортились. Парни спрашивают, знаю ли я, как «взламывать людей», а девочки спрашивают, хорошие ли это деньги или сколько девочек на уроках информатики.
После этого, если им все еще интересно, они обычно начинают задавать конкретные вопросы, на которые гораздо легче ответить (или, по крайней мере, на Wiki): такие вещи, как создание игры, работа в Windows Messenger и т. Д.
Если у вас есть компьютер, вы можете показать и рассказать какой-нибудь код - что-то, что будет иметь ощутимый эффект, например, обработчик нажатия кнопки в диалоговом окне настроек в Firefox, основной цикл или физический код в игровом движке, некоторые JavaScript источник с сайта и т.д ..
источник
Я объяснил это моему пятилетнему ребенку следующим образом:
Я: «Вы знаете, как в историях люди произносят волшебные слова и меняют вещи в мире?»
Она: «Аааа?»
Я: «Вот что такое компьютерное программирование».
Она (тихо): «Ух ты».
15-30 минут недостаточно для объяснения чего-либо реального, а объяснение основной сложности - верный способ заставить их кричать. Ты работаешь в нем каждый день, ты забываешь, как это чертовски круто. Ни одна другая профессия в мире не создает функциональных вещей из ничего, кроме слов ... В какой-то момент все остальные должны войти в мир мяса и начать бить молотком по вещам. Только так они могут превратить свою идею в рабочую вещь.
Не нам.
источник
Человек 15 лет может понять любую концепцию. Я сам начал программировать в 14 лет (в школе, много, много лет назад).
30 минут достаточно для демонстрации. Покажите ей магию программирования с помощью чего-то столь же распространенного, как браузер.
источник
меры
Будучи почти 15-летним, я могу с уверенностью сказать, что у вас должно быть потрясающее начало.
Объясните, как вы это делаете.
10101010
весь день. Скажите им, что вы даже не знаете, как это сделать. ( Lie. Вы же знаете , что10101010
значит, правильно;)) Скажите им , что это было несколько лет назад.Покажите им образец какого-нибудь псевдокода. Сделать это легко понять:
Пройдите этот шаг за шагом. Скажите им, что это не совсем так, как выглядит код. Код выглядит так
English + Math
. Но нетрудно выучить «язык» (читай: синтаксис), на котором вы говорите.На этот раз покажите им пример с немного большей «математикой».
Объясните, что этот код добавляет два числа вместе, как калькулятор. Покажите им «настоящий» код для этого. (Убедитесь , что вы положили большую часть пользовательского интерфейса и другие вещи в отдельном файле, и сохранить файл, показать их короткими и простыми.) Измените его в программу вычитания (путем изменения знака от
+
к-
) прямо перед их глазами.Объясните, что им нужно знать, чтобы заниматься программированием. (На разных уровнях.)
x + 1 = 2
, тогдаx = 1
.Условия, которые вы можете использовать
Мы знаем больше, чем вы думаете.
Условия, которые вы должны объяснить
Да, нам все еще нужно кое-что объяснить.
10101010
.Условия, которые вы не можете использовать
Некоторые из нас знают это, но, пожалуйста, не говорите это в любом случае.
источник
Если вы начнете говорить о таких вещах, как процессы, шаблоны, требования и тому подобное, она немедленно отключится. Дети сегодня графичны и визуально мотивированы, поэтому я хотел бы внести кое-что, чтобы помочь продвинуть эти типы стимулов. Покажите ей что-нибудь притягательное в Интернете, а затем на высоком уровне опишите ей, что заставляет ЭТО случиться. Я бы даже предложил взять ваш ноутбук для разработки и сделать что-нибудь «крутое» на экране - измените код перед ней, а затем посмотрите, как он меняется на экране. В этом возрасте они ОЧЕНЬ умны, и все, что визуально поможет вызвать интерес.
источник
Alice
?Есть две замечательные аналогии, на которые я опираюсь при объяснении работы программистов. Один рецепт; эта метафора полезна для объяснения в небольшом масштабе, что делает каждая строка кода. Работа программиста - написание рецепта, а компьютер - повар.
Другая аналогия в том, что большая программа похожа на большую компанию. Существует целая куча разных отделов, которые сосредоточены на разных областях и отправляют сообщения туда и обратно, и все это в конечном итоге достигает целей компании. Работа программиста заключается в том, чтобы спроектировать организацию организации, а компьютер - это все люди в компании.
источник
Я бы сказал, держи это в общих чертах. Программирование и многие другие профессии сводятся к решению проблем. Покажите ей, как вы решаете проблемы ежедневно. Вы можете рассказать ей о проекте, над которым вы работали, и о том, как он поможет вашим клиентам. Также включите немного о том, почему вам (предположительно) нравится ваша работа.
В моем случае я разработал учебный веб-сайт с обучающими видео, где другие сотрудники публикуют учебные материалы. Я объяснил бы мотивацию проекта (дистанционное обучение других без необходимости связывать людей), проблемы, с которыми я столкнулся (мне не обязательно рассматривать их как сложные проблемы) и как я их решил. Я также хотел бы поговорить о том, почему я люблю программирование в первую очередь: я люблю создавать вещи и вклад программирования в современный мир.
источник
Приведите ей примеры программного обеспечения, над которым вы работали. У вас есть клиент, который публично использует ваше программное обеспечение? Вы разрабатываете приложение для дома, которое вы могли бы показать ей? Покажите ей конечный результат вашей работы, что конечный пользователь видит и использует.
Затем объясните, что вы помогли написать это. Пройдите части, которые вы написали. Покажите код, если можете. Опишите, как эти строки кода заставляют работать некоторую часть приложения.
Поговорите о том, сколько удовольствия вы получаете от просмотра вашего кода людьми.
Так я и объяснил своему 14-летнему двоюродному брату. Он был очень впечатлен и решил взять курс программирования на следующий семестр.
источник
Вы знакомы с настольной игрой Robo Rally?
Я обнаружил, что это идеальная забавная аналогия для программирования. Вы в основном программируете своего робота, используя простые команды (в основном стрелки), чтобы достичь определенного места на игровом поле раньше других.
Человек, я бы хотел, чтобы у меня все еще был мой BigTrak ...
источник
Покажите что-нибудь простое, но полезное. Хороший пример, я думаю, будет следующим:
Причины, по которым мне нравится этот подход:
Возможно, вы сможете придумать лучшие примеры, но я думаю, что стиль полезен для «первого вступления».
источник
Большинство 15-летних «в эти дни» имеют большой опыт работы с компьютерами. Я пошел бы для большего количества рук на подходе. Я покажу ей немного кода (не пытайтесь объяснить это подробно, но, возможно, расскажу об основах «потока») и покажу ей, каков результат. Даже HTML будет работать для такого рода примера. Затем скажите: «Каждый день я делаю в основном это… за исключением десятков тысяч строк кода и очень большой и сложной программы».
Затем объясните, какие проблемы вы решаете с помощью программирования, и почему вам нравится это делать. Например, я бы сказал, что мне нравится программирование, потому что «я люблю видеть, как мой код оживает на компьютере как приложение»
источник
Во-первых, у вас есть соревнование, которое нужно развенчать.
Фильмы, популярная культура и даже люди в этой области ( и этот вопрос к этому вопросу ) пытаются изобразить программирование (и основную часть области компьютерных наук) как некий вид магии. Это не волшебство.
Программирование - это просто описание задач, а затем их объединение для решения проблемы. Если вы пытаетесь найти параллель, используйте математику. Компьютер похож на учителя математики, который требует от вас показать всю свою работу .
С физической точки зрения компьютеры не умны - они знают столько, сколько мы им говорим. Поэтому, когда программист хочет создать программу, которая, например, воспроизводит музыку с компакт-диска, он «просто» должен сказать компьютеру, как читать данные, хранящиеся на компакт-диске, а затем как преобразовать эти данные в звуковые волны и, наконец, Как вывести эти звуковые волны из ваших динамиков.
Подняв эту идею на новый уровень, вы можете продолжить рассказ о том, как программирование создает задачи друг над другом. Точно так же, как он / она должен был выучить арифметику, прежде чем они могли изучать алгебру в математике, компьютерам также нужно научиться «выполнять основы», прежде чем вы сможете рассказать им, как выполнять более сложные задачи. За эти годы компьютерные ученые и программисты смогли «научить» компьютеры достаточно основам до такой степени, что мы сможем начать «разговаривать» с ними гораздо ближе к тому, как мы общаемся.
Вернувшись в реальную жизнь, ваш учитель математики может сказать вам, чтобы вы решали «15 к степени 3», но вы знаете, как это сделать, потому что ранее вас учили, что «X к силе Y» разбивается на задачи «Умножьте X на X и сделайте это Y раз» [технически Y -1 раз, но эх.]
Как и ваши математические классы, программисты создали базу «известных» задач, поэтому нам не нужно сосредотачиваться на деталях мелких вещей, и мы можем посвятить свое время решению реальных проблем, а не столько, как выполнить основную Задачи - теперь мы можем предположить, что компьютер понимает, как делать основные вещи.
источник
Я бы сделал то, что меня зацепило, когда мне было около 9. Вытащи С64 из лофта и сделай:
10 PRINT "YOU SMELL"
20 GOTO 10
(Спасибо папа).
Потом, когда веселье закончилось. Я бы показал ей игру с угадыванием чисел. Да, все в бейсике. Нет необходимости умирать на современном языке, чтобы показать компьютер с инструкциями.
источник
Может быть полезно начать с того, что она обычно делает, например, с Facebook, и объяснить ей, как один простой аспект, такой как вход в систему, может быть очень сложным.
Отсюда вы можете перейти к базам данных, дизайну приложений, а затем и к некоторым аспектам безопасности, которые она может убрать.
Вы даже можете спросить ее что-то вроде: «Если бы в Facebook можно было что-то изменить, что бы это было?» Затем объясните ей, как вы можете внести изменения и сколько людей будет вовлечено.
Сначала я научился программировать на Паскале, и я был полностью уверен, что моя программа приняла мой ввод, испортила его и напечатала что-то другое. Я подсел оттуда. Некоторые люди легко запираются.
источник
Я надеюсь, что ушел на работу где-нибудь, где, по-видимому, разрабатывается программное обеспечение, и она должна быть заинтересована в этой области?
Нет четкого ответа, я бы на 5-10 минут опрашивал ее о том, что она знает, а затем просто постараюсь развить это как можно лучше.
источник
Начните на высоком уровне. Возможно, объясните, что компьютерное программирование - это решение проблем: взятие проблемы и разработка решения, которое записано в виде набора инструкций, которые машина может использовать и понимать.
Сложнее всего придумать примеры, которые 15-летняя девушка нашла бы интересными и актуальными . Никогда не находясь в такой ситуации и не зная ее, я не уверен, что порекомендовать для этого ... Избегайте примеров кода до самого конца, за исключением очень простых или интересных случаев, таких как программа "Hello world" или что-то простое и графическое (нарисуйте несколько фигур в окне, отследите мышь и т. д.).
источник
Вот мой взгляд на это после пары неудачных и довольно неплохих попыток:
Программирование - это решение проблем.
Начните с конкретных вещей, которые запрограммированы и используются ими каждый день - интернет-браузер (facebook), мобильный телефон, кассовый аппарат и т. Д. Получите их, чтобы привести множество примеров. Убедитесь, что все эти вещи имеют своего рода компьютер. Сердцем компьютера является процессор.
Процессор похож на очень быстрый, но очень тупой рабочий. Если вы дадите ему несколько инструкций, он сделает их именно так, как вы говорите. Он не будет делать ничего лишнего и не скажет вам, если что-то, что вы сказали, сделать неправильно. Этот процессор делает все, хотя - если вы скажете ему точно, как это сделать, он может сделать телефонный звонок или поместить фотографию в электронное письмо.
Спросите ее, как она скажет очень быстрому, но очень тупому работнику купить банку содовой из автомата по продаже газировки Когда она начнет описывать шаги («Положите деньги в машину и нажмите кнопку»), начните анализировать их как программу («Что такое деньги? Как мне положить их в машину? Когда я кладу деньги в машину и нажимаю кнопка в то же время, ничего не происходит. "). Если у вас есть доска, начните слева с ее первым набором инструкций. Когда она пересмотрит их, разместите новый большой список с правой стороны. Когда у вас есть хороший набор инструкций, начните обобщать фигуры («Извлеките деньги из своего кармана и выньте соду из лотка с похожим звуком - какие части одинаковые / разные?») Возьмите обобщения и поместите их в середину и вычеркните части, которые они теперь охватывают. Постарайтесь со временем связать кусочки, чтобы она соответствовала ее оригинальным инструкциям, вроде вызовов функций. Другие хорошие упражнения: отправьте письмо по почте, пройдите через дверь, нарисуйте круг / квадрат / треугольник.
Таким образом, программирование - это решение проблем: разбивание проблем на части, выявление общих частей и группирование этих частей для решения проблем. Вскоре вы обнаруживаете, что некоторые детали являются общими для многих проблем, а затем вы начинаете собирать детали для решения проблем, о которых вы даже не подозревали.
Хорошо, к этому моменту она может понять, но ей, вероятно, скучно. Продолжайте с набором классных примеров программирования. Шейдеры и связанный с ними визуальный код легко продемонстрировать - вы можете создать изображение и начать вносить в него изменения с очень небольшими изменениями кода. Если она выразила интерес к Facebook, пообщайтесь с Facebook через REST, чтобы увидеть данные друзей друзей (ее 6 градусов). Если ей нравятся видеоигры, покажите пару демо-версий игр с открытым исходным кодом вместе с несколькими фрагментами их кода и тем, как они помогают работе игры. Завершите это, показав пару бесплатных инструментов и ресурсов, которые она могла бы исследовать дома. (Python, C # и т. Д.)
Мои неудачные попытки: попытка объяснить вычисление числа Пи (они спрашивали), настольная игра C-Jump http://c-jump.com/ (они не получили его, а инструкции глючили) и живое кодирование 2d игра (просто не мог удержать интерес, независимо от того, как мало шагов я делал между демонстрациями).
Удачи!
источник
Сделайте простую программу. Нет, не "Привет, мир!"
Я бы сказал, что есть много типов языков программирования - те, которые создают игры, те, которые управляют роботами, - но с чем вы собираетесь работать, это HTML.
Сделайте веб-страницу, на которой ничего нет, а затем добавьте форму, которая отправит электронное письмо на ее электронный адрес. Предположительно, у нее есть сотовый телефон, который может уведомить владельца, что у него есть новое электронное письмо, так что вы можете сказать ей, что это отличный способ для ее друзей и семьи связаться с ней. Если в будущем она получит свой собственный веб-сайт, вы можете сказать ей, что она может разместить форму на своем веб-сайте, что позволит ее клиентам и деловым партнерам связаться с ней.
Или, если она немного озорной, я расскажу вам, что меня заинтересовало в программировании: хакерство. В свое время я создал лучшую программу, когда-либо созданную для возни с AOL (за исключением одной программы, которая превзошла мою по одной из десятков моих работ) - в возрасте 14-15 лет. Что касается белой шляпы, я также создал одну из первых программ по удалению спама (1995). Я смог сделать свой онлайн-опыт намного более приятным, и мы на этом остановимся. Все, что я хотел сделать на компьютере, было приключением или головоломкой, которую я должен был разгадать, а то, что я хотел сделать на компьютере, было бесконечным. Конечно, заставить его работать иногда было головной болью, но написание программы, которая выполняла вещи лучше и быстрее, чем любой человек, или делать вещи, которые были просто невозможны для широкой публики, было похоже на создание прекрасного механизма, которым можно гордиться. Теперь вы, вероятно, не хотите ничего серьезного, но было бы чрезвычайно легко сделать что-то в Visual Basic, которое можно было бы запускать при запуске (сидя на боковой части экрана или на панели задач) и оттуда, Вы можете заставить ее запускать ее любимые веб-сайты, ее любимые программы и т. д. Вы можете познакомить ее с командами, необходимыми для запуска exe и веб-сайта, а затем просто попросить ее сделать несколько кнопок, а затем добавить код для этих кнопок. размещение ее любимых веб-сайтов (facebook, твиттер и т. д.) и программ (iTunes, текстовый процессор и т. д.). Если ее компьютер находится в ее комнате, вы также можете включить на него будильник для дополнительной функциональности. Конечно, 30 минут - слишком мало, чтобы провести ее через это, так что вам уже придется это делать. В конце вы отправите ей по электронной почте небольшое руководство на 2-3 страницы, код и файл .exe, а затем оставите ее с небольшим коммерческим шагом: сначала это будет непросто, но как только вы получите Поверьте, это не так плохо, будет чрезвычайно полезно в жизни и поможет развить ее аналитическое мышление.
источник
Раньше я учил 18-летних студентов колледжа, и я полагаю, что 15-летние примерно одинаковы. Не ожидайте успеха без практики. Мне потребовалось несколько недель в моем первом классе, чтобы «сломаться».
Самая важная вещь, которую я должен был выучить, заключалась в том, что то, что я думал, было настолько простым и очевидным, что я боялся, что не смогу заполнить время, совсем не так для студентов. Я узнал, что ты должен идти маленькими шагами - иначе это просто волшебство.
Как вы подходите к этому за 30 минут, я не уверен, но первое, что я сделал, это показал им маленький самодельный компьютер, который я построил, который был запрограммирован, чтобы проигрывать небольшую мелодию, нажимая на динамик. Я объяснил, что он может играть ноту, уменьшая счетчик, чтобы действовать как задержка между щелчками. Я просто написал псевдокод на доске, как рецепт. Затем был маленький конденсатор, который я мог подключить под провод, который заставил бы все это работать примерно в 1000 раз медленнее. Тогда они могли слышать щелчок - подождать - щелкнуть - подождать ... Затем, когда я отцепил конденсатор, он разразился маленькой мелодией.
Смысл этого состоял в том, чтобы компьютеры могли делать только простые вещи и делать их по одному. Они не начинают каждый шаг, пока не закончится предыдущий шаг. (Да, да, я знаю - конвейерная обработка и все такое, но мы говорим с новичками .) Только электронная скорость заставляет их, кажется, делать все сразу, что обычно предполагают новички (наряду с чтением мыслей) , Это одна из действительно базовых концепций, без которой вы не сможете начать понимать программирование и компьютеры. Для нас это настолько детально, что мы даже не осознаем, что знаем это, но новички этого не знают.
источник
Я знаю, что это не язык программирования, но я думаю, что HTML - хорошее место для начала. Потому что вы получаете немедленные результаты .... начните с
Привет, мир
Затем сделайте:
Здравствуйте, <b> Мир </ b>
И т.п.
источник
Если бы это был я, я бы сказал ей, что программирование - это разделение задачи на маленькие задачи таким образом, чтобы помочь вам решить их; а затем выразить эти маленькие задачи на языке, который не может быть неправильно понят идиотским компьютером. Но вы также должны сделать это так, чтобы другие программисты тоже могли это понять - и это не то же самое.
То есть, в дополнение к тому, что все остальные сказали ...
источник
Это скорее мой личный опыт, чем прямой «ответ».
Почему я заинтересовался? Мои родители купили IBM PC XT в 1984 году (я родился в 1984 году). Он имеет 640 КБ ОЗУ и 20 МБ HDD и 5 "FDD и работает под управлением MS-DOS v3.2. Мне не разрешали трогать его, пока я не был в 5-м стандарте, и когда мне наконец разрешили его использовать, я вылил все свои годы накопленного любопытства в это.
С другой стороны, моей сестре разрешали использовать тот же компьютер и макинтош Quadra 610, когда она этого хотела, и она обращала на него столько же внимания, сколько и на стол, на котором он был установлен.
Учить мою сестру ... Я пытался научить свою сестру программированию на бейсике. Я сделал ее во всем, от запуска компьютера до ввода программы и ее выполнения. Это было как прямая программа.
Это заняло полчаса. Когда она наконец выполнила это, она напечатала слово «CAT», и она была в ярости. Она ожидала, что появится изображение кота. Она выбежала из комнаты, и это был конец программирования навсегда!
Мораль: результат должен быть пропорционален времени и усилиям, которые они вкладывают.
Обучение старшеклассников Labview и Lego NXT Я был наставником FIRST Robotics в течение года и должен был руководить детьми при программировании робота в NI Labview. Честно говоря, требуемый навык программирования был намного выше уровня старшеклассника. Но соревнования были направлены на то, чтобы увлечь ребят инженерным делом и поднять планку способности принять вызов. Пока программы имели только оператор if и один цикл, все было в порядке. Люди покинули раздел программирования робота, когда увидели кодовую диаграмму, которую я создал для робота, который мы создали в прошлом году.
Столько, сколько люди утверждают, что 15-летние могут делать сложные вещи и могут иметь концентрацию внимания в течение нескольких часов, я обнаружил странное отсутствие у них мотивации делать это. Они хотели делать легкие вещи, которые не обременяли бы их мозг. Они предпочли CAD и фрезеровать детали на токарном станке, чем писать программы.
источник
Что такое CS?
Я думаю, что прежде чем вы приступите к демонстрации, это поможет вам вкратце рассказать о том, какое место занимает CS в мире. Мне понравилось описание Хэла Абельсона CS по отношению к математике: в то время как математика помогает вам описывать мир с точки зрения законов, CS помогает вам описывать, как делать вещи. Его примером была функция квадратного корня: математика определит ее, но не поможет найти ее для любого заданного ввода. CS будет. На более низком уровне электротехника и физика заложили основу для аппаратного обеспечения, обеспечивающего доступ к Интернету, но оставили открытым вопрос о том, как заставить людей использовать его.
Каково быть программистом?
Тогда возникает вопрос, каково это быть программистом. То, что привлекло меня к этому, было то, что у него есть более быстрое решение попробовать что-то, проверить это, исправить это, чем любая другая техническая область. Это безостановочное решение проблем, тогда как в других областях время выполнения одного цикла может составлять месяцы. Это также полезно почти для любой другой технической области, что больше, чем можно сказать для ... большинства других технических областей. Так что, если вы еще не знаете, что вы хотите сделать (вероятно), это хорошая вещь, чтобы получить хорошее рано. В колледже мало что сделает вас более полезным для большего числа профессоров, чем возможность кодировать свои эксперименты.
Глазная конфета, привязанная к коду
Тогда, конечно же, не забудьте демоверсии. Было бы здорово получить копию Quake (с открытым исходным кодом), а также внести некоторые однострочные изменения (например, изменить силу тяжести) и перекомпилировать, например. Также попросите ее взглянуть на код. Заверьте ее, что она не должна многого понимать, сейчас это может показаться бессмысленным, но опять же, то же самое делают газеты на иностранных языках, которых она еще не выучила. Вы можете сказать, что, тем не менее, она может видеть, что вещи назначаются вещам, объектам говорят, что делать, и здесь мы устанавливаем гравитацию и т. Д.
источник
Я начал программировать, когда мне было 14 лет. Хотя большинство (47 из 50 студентов, которые поступили) либо бросили учебу в середине года, либо просто решили не переходить на углубленный курс в следующем году, я остался с этим и узнал кое-что очень важное:
Программирование дает вам возможность создавать что-то из ничего. У вас есть возможность превратить слова в полезный инструмент, который удовлетворяет потребности, развлекает вас и ваших друзей или просто показывает, что вы можете показать своим друзьям и сказать: «Посмотри, что я сделал».
Сначала нас учили «Hello World», но я не интересовался, пока не смог заставить свой код взаимодействовать с пользователем . В тот момент, когда нас учили читать ввод с помощью «cin», я решил создать программу Mad-Lib, которую мы могли бы сыграть в классе. Моим первым препятствием было чтение ввода, содержащего пробелы, с последующим форматированием вывода. Позже я хотел сохранить эти истории в файл, и мне нужно было изучить файл ввода-вывода. Устранение препятствий для достижения моих собственных целей - вот что меня удерживало.
Позже в том же году мы обнаружили, что сетевые администраторы регистрировали наше использование «Net send» и клиента Novell SendMessage, которые мы использовали для общения во время компьютерных занятий, и отключили его после того, как студенты использовали его для обмана на тесте. Поэтому я написал чат, чтобы заменить тот, который отключили администраторы. Это была первая действительно полезная вещь, которую я создал. Я смоделировал это после системы чата Battle.Net, включающей регистрацию пользователей, модераторов и даже базовую систему шифрования и теневых файлов, чтобы предотвратить вмешательство пользователей (все файлы должны были находиться на общем сетевом диске, чтобы студенты могли доступ и использование программы). Это были не концепции, о которых я уже знал, а решения, которые я сам придумал, чтобы решить проблему. Для меня это была радость программирования.
Поэтому для правильного ответа на вопрос, помимо обсуждения того, что означает разработка программного обеспечения, интерактивная демонстрация, вероятно, является отличной идеей. Желательно что-то, что решает ее проблему, например, автоматическое изменение размеров всех этих гигантских снимков с ее камеры. Хотя она немного сложнее, ей может понравиться простая веб-страница, где можно оставить сообщение, которой она может поделиться со своими друзьями. Вы можете отправить его кому-нибудь по электронной почте в любое время, когда будет опубликовано новое сообщение, и попросить ее отредактировать код, чтобы отправить его на свой электронный адрес вместо вашего. Кроме того, пусть на странице отобразится последнее число комментариев X, и попросите ее также откорректировать это число, и посмотрите, каковы результаты.
источник
Там, где я раньше работал, иногда приходили дети с опытом работы. Некоторые интересовались компьютерами, некоторые - нет. Мы привыкли заставлять их сидеть перед компьютером и писать им игру в догадки. (Компьютер случайным образом выбирает число, пользователь получает обратную связь, если его предположение было слишком высоким / низким.) Это легко сделать, и это действительно забавный результат. Нет ничего более могущественного, чем показать им, что ОНИ могут создать.
источник
Если вы хотите привлечь и удержать чье-то внимание, спросите, не говорите. Спросите, как бы они выполнили простую задачу, например, выпили воды. Затем покажите им, как следование предоставленным инструкциям (таким как «Идите по коридору») на самом деле не решает проблемы поворота налево, поворота вправо, остановки и т. Д. Понимание и обработка этих граничных условий - вот дело программирования! Затем вы можете показать, как цикл «делать до» может справиться с ситуацией типа «ходить до стены», чтобы сделать мета-задачи из задачи «один фут впереди другого» ходить.
источник
Я не уверен, что это легенда или правдивая история, но я читал о том, почему везучий суров в один прекрасный день. Частью истории было то, как он показывал программирование ребенку (или, возможно, даже детям), которых он встретил в поезде.
Как некоторые из вас могут знать, _why был парень из Ruby (а Ruby, в общем-то, довольно дружелюбен к обычным людям). Он работал над какой-то игрой в Ruby, в то время как какой-то ребенок подошел к нему, чтобы посмотреть, что он делает. Сначала он показал им результат - рабочую игру. Затем он показал ребенку, как он может изменить вещи в коде, чтобы изменить результат. Затем он позволил ребенку поиграть с кодом и увидеть измененный результат.
Я думаю, что это должно быть вашим общим рабочим процессом - результат, изменение, игра. Вы должны найти какой-нибудь проект (игра была бы лучшим выбором) на понятном человеку языке и показать его ребенку.
Как мне грустно, я понятия не имею, правда ли эта история или нет. Это все еще очень круто.
Кроме того, еще одна вещь. Я помню свой первый опыт программирования -
MessageBox
в Delphi. Это было круто, потому что я мог заставить компьютер делать то, что я хочу, и сразу увидеть результат.Затем появились микроконтроллеры. Они были даже лучше, потому что мой код мог изменить реальный мир. Я имею в виду, что присвоение некоторого значения переменной перестало быть настолько абстрактным, так как это вызвало появление напряжения на выходном порте, что затем заставило мой двигатель двигаться. Это было круто. Вы можете выбрать этот способ - показать ребенку что-то вроде Arduino.
Видите ли, я думаю, что это все о том, чтобы изменить и увидеть результат.
источник
Покажите ей конечный результат некоторых вещей, которые вы сделали. Поговорите в целом о вашей роли в проектах. Может быть, даже помочь ей сделать привет, если она заинтересована.
источник
Моя любимая аналогия для программирования - волшебство (стиль Гарри Поттера), как Satanicpuppy. Я использую это для нетехнических сверстников, а также детей, кажется, что это работает довольно хорошо, и определенно передает силу, которую дают нам компьютеры.
Компьютеры - наши волшебные палочки. Они позволяют нам совершать магию при правильном щелчке запястья и заклинаний. Как программисты, мы имеем доступ к книгам заклинаний (библиотекам), разработанным и усовершенствованным нашими предшественниками. Мы можем создавать новые заклинания и заклинания или работать с существующими. Некоторые из них просты, некоторые требуют больше практики, чтобы действительно эффективно использовать, часто есть компромиссы и много разных способов решить одну и ту же проблему (я должен использовать хорошее зелье или заклинание?).
Эта расширенная метафора действительно может быть хорошо натянута, и она часто позволяет мне передать мою страсть к программированию таким образом, чтобы это было доступно людям вне поля.
источник
Лучший способ понять детей - это сначала быть ребенком! В детстве я ненавидел делать домашние задания, наложения и т.д ..! так что есть точки входа, где вы можете привлечь их внимание. В течение 30 минут, хотя мы не можем объяснить все, мы можем попытаться дать им своего рода представление, где заинтересованные дети находят это источником вдохновения. Начните с связанных с ними тем, таких как домашние задания и т. Д. Скажите им, как компьютер может написать наложение всего за несколько секунд и т. Д.
Желаю тебе всего самого лучшего.. ! отличная работа
источник