Сведения о вопросе

Henry

09:01, 11th August, 2020

Теги

Рекомендации по запуску дочернего программирования

Просмотров: 495   Ответов: 25

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

Многие из нас начинали с проприетарных основ, и они не причинили всем нам долгосрочного вреда :) но учитывая опыт, который вы имели с тех пор, и ваши знания о домене теперь есть лучшие варианты?

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

Раскрытие информации: чертовски трудно выбрать ответ 'correct' на подобный вопрос, поэтому тот, кто когда-либо имел лучший результат за несколько дней, получит отметку 'best answer' от меня, основываясь на выборе сообществ.



  Сведения об ответе

davran

19:02, 16th August, 2020

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


  Сведения об ответе

SSESION

00:40, 16th August, 2020

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

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

LEGO Mindstorms определенно находится в верхней части списка. Большинство школ теперь супер-склеивают кирпичи вместе, чтобы создать готовые модели, которые не могут иметь отколотых от них кусочков, но это не должно быть проблемой дома. На сайте образовательного дополнения Times (форум веб-сайта для еженедельной учебной газеты UK) тема "what programming language is best for children?" появляется довольно регулярно. Там много рекомендаций для Scratch в качестве альтернативы Mindstorms - немного больше свободы, чем Mindstorms, опять же, вероятно, лучше для более умного студента, которому также можно дать паяльник.

Я обнаружил, что более медленные ученики все еще могут иметь проблемы с Mindstorms, даже если среда программирования "graphical" - там все еще много происходит на экране, и есть довольно много, чтобы помнить (это была более старая версия, ум - еще не пробовал шикарный новый). По моему опыту, лучшим всесторонним введением в Программирование, вероятно, все еще является LOGO - на самом деле значительно более мощный язык, чем большинство людей полагают. Оригинальная книга Mindstorms Сеймура Паперта (ничего общего с LEGO - они украли название книги для своего продукта), одного из создателей LOGO, является канонической ссылкой для обучения программированию детей как "thinking skill" и для концепции конструктивизма в обучении.

У нас были занятия с 7 или 8-летними детьми по программированию LOGO. Обратите внимание, что мы не стремимся сделать их "разработчиками программного обеспечения", это карьерный путь, который они могут выбрать в какой-то момент после 16 лет. В юном возрасте мы пытаемся заставить их думать о "computer programming" как о еще одном инструменте-как задать проблему, которую нужно решить с помощью компьютера, точно так же, как они могут использовать карту разума, чтобы помочь им организовать и запомнить материал для экзамена. Ни один бедный ребенок не должен сидеть сложа руки и вдалбливаться в детали и использование определенного языка, они должны быть оставлены, чтобы исследовать и выяснить вещи, как им нравится.


  Сведения об ответе

+-*/

12:39, 29th August, 2020

Я поддержу предложения Джеффа о Фрограмме (раньше было KPL) и Алисе .

Мое единственное другое предложение- Lego Mindstorms NXT . Язык программирования NXT - это drag-and-drop, он очень прост в использовании и может выполнять некоторые очень сложные задачи, как только вы его изучите. Кроме того, маленьким мальчикам обычно нравится видеть, как что-то движется. :)

Я использовал Алису и NXTs с некоторыми маленькими детьми, и они очень хорошо к этому привыкли.


  Сведения об ответе

nYU

15:15, 27th August, 2020

Есть две возможности:

Скретч-разработано на MIT - http://scratch.mit.edu/

и

EToys от одного ноутбука на ребенка слава- http://wiki.laptop.org/go/Squeak


  Сведения об ответе

DINO

22:58, 16th August, 2020

Полное раскрытие: я один из тех парней, которые изобрели детский язык программирования , который теперь http://www.Phrogram.com, который другие рекомендовали здесь. Позвольте мне добавить некоторую информацию, ориентированную на программиста.

Это код IDE, а не drag-and-drop, или на основе конструктора. Это было намеренно с нашей стороны - мы хотели, чтобы было легко и весело заниматься реальным текстовым программированием, особенно программированием игр и графики. Это принципиальная разница между нами и Алисой и скретчем. То, что вы выберете, зависит от ребенка, его возраста и способностей, ваших целей. Использование их последовательно с одним и тем же Новичком может быть отличным способом - если вы сделаете это, я бы рекомендовал Scratch, Alice, Phrogram в качестве заказа. Phrogram работал лучше всего в течение 12 лет и выше, но я знаю пап с 6-летними детьми, которые учили своих детей с его помощью, и я знаю 10-летних, которые учили себя с ним.

Этот язык настолько похож на английский, насколько мы можем его сделать, и настолько минимален, насколько мы можем его сделать. Секрет соуса заключается в классовой объектной наследственности, которая опять же настолько проста, интуитивно понятна и похожа на английский язык, насколько это возможно. Объект heirarchy оптимизирован для игр и графики. Доступно 3D модели и 2D спрайт. Поддерживается абсолютное перемещение по экранным координатам или относительное перемещение ala LOGO - вперед(x), TurnLeft(y).

IDE поставляется с более чем 100 примерами, некоторыми языковыми примерами (циклы), некоторыми учебными примерами (массивы), некоторыми полнофункциональными играми и симами (Pong, Missile Command, Game of Life).

Чтобы дать вам представление о том, насколько высоко мы использовали язык и IDE: с 27 инструкциями вы можете летать на модели космического корабля 3D вокруг скайбокса 3D, используя клавиатуру. То же самое с 2D sprite-это 12-15 инструкций.

Мы работаем над Блейд-совместимым выпуском Phrogram, который позволит программам работать на XBox 360. Да, на XBox, на твоем большом TV. Хороший мотиватор для начала работы ребенка? :)

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

Имеется учебник и руководство пользователя,

Моя собственная электронная книга доступна в Amazon и других местах онлайн, "Learn to Program with Phrogram!," и позволяет новичку начать программировать классический понг.

Программа Phrogram Programming for the Absolute Beginner, by Jerry Lee Ford, Jr., также доступна в мягкой обложке по адресу Amazon и в других местах.


  Сведения об ответе

LAST

12:54, 20th August, 2020

Ради ребенка я бы пошел с Алисой . Любому ребенку понравится взаимодействие drag-and-drop, которое Алиса использует лучше, чем пытаться запомнить, как пишется и пунктуируется любой язык программирования. Он будет изучать основные структуры программирования (условные обозначения, циклы и т. д.).) и испытают удовольствие от создания анимационной программы, которую они могут показать другим членам семьи или друзьям.

Класс beginner CS в местном колледже сообщества фактически использует Алису для обучения программированию независимо от языка. Это обеспечивает хорошую основу для перехода к программированию на определенном языке (или нескольких языках) в будущем.


  Сведения об ответе

LIZA

07:05, 4th August, 2020

Недавно я видел презентацию о GreenFoot (a java based learning environment for children). Это выглядело потрясающе. Если бы у меня были дети, я бы дать ему попробовать

Ссылка на презентацию

Это очень игривая среда, где вы можете начать с очень простых методов. Дети учатся думать объектно-ориентированным способом (вы не можете создать экземпляр животного, но вы можете создать экземпляр кошки). И чем лучше они становятся, тем больше Java вы можете раскрыть для/с ними.


  Сведения об ответе

nYU

12:15, 5th August, 2020

Я бы пошел со скретчем, некоторые моменты относительно него.

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

Я хотел бы отметить, что хотя многие из нас начали программировать в молодом возрасте на basic или logo и потому, что программист позже в жизни не означает, что это хорошие языки для начала. Я думаю, что сегодня у детей есть гораздо лучшие варианты, такие как скретч или Алиса. Текстовые языки (python, ruby, basic, c# или даже c) зависят от внешних библиотек и инструментов (редакторов, компиляторов), в то время как что-то вроде Alice или scratch является всеохватывающим и будет учить детей (не нацеленных на подростков) концепциям программирования. Позже они могут двигаться дальше и расширять свое обучение.


  Сведения об ответе

LIZA

17:53, 13th August, 2020

Проверьте Phrogram (ранее KPL) и Alice


  Сведения об ответе

davran

01:37, 1st August, 2020

Я бы сказал: Дайте ребенку настоящий C64, потому что именно так я начал. Но сегодня..... Я бы сказал Ruby, но Ruby-это слишком хаотично. BASIC было бы лучше в долгосрочной перспективе. Процессинг прост в освоении, и это в основном Java.

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


  Сведения об ответе

crush

11:35, 17th August, 2020

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


  Сведения об ответе

P_S_S

16:33, 12th August, 2020

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


  Сведения об ответе

dump

14:14, 9th August, 2020

Ради ребенка я бы пошел с Алисой.

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


  Сведения об ответе

DO__IT

08:50, 17th August, 2020

Игра может быть другой подход. Вы можете начать простую разработку с легкого перетаскивания, а затем ввести более продвинутое Программирование по мере продвижения. Книга The Game Maker's Apprentice: Game Development for Beginners содержит ряд примеров игр и проведет вас через шаги, необходимые для их создания.


  Сведения об ответе

appple

23:11, 15th August, 2020

Сколько ему лет? Многие из нас в какой-то момент уставились на BASIC, но до этого я изучил концепции связывания команд вместе, переменных и циклирования с LOGO. Выяснение того, как нарисовать круг с треугольником, который может идти только по прямой линии и поворачивать, было моим самым первым достижением в программировании.

Edit: этот вопрос & его ответы заставляют меня чувствовать себя старым.


  Сведения об ответе

dumai

16:58, 8th August, 2020

Я думаю, что python-это хорошая альтернатива; это очень мощный язык, и вы можете легко делать много вещей (совсем не скучно).


  Сведения об ответе

+-*/

18:30, 24th August, 2020

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


  Сведения об ответе

baggs

10:35, 21st August, 2020

Хотя _ Why не давал ему много любви в прошлом году или около того, в течение некоторого времени я был действительно взволнован Hackety Hack . Я думаю, что ключ для большинства новых программистов, особенно детей, которые более чем apt теряют интерес к вещам, - это мгновенная обратная связь. Это была действительно замечательная вещь в Hackety Hack: несколько строк кода, и вдруг перед вами появляется нечто, что делает что-то. Есть несколько подобных приложений, направленных на такие вещи, как рисование графики (один из которых, я кратко помог Натану Вайзенбауму, Scribble! ). Дети просто нуждаются в положительной обратной связи, что они делают что-то правильное на регулярной основе, иначе нет ничего, что могло бы заинтересовать их в текущей задаче. Я думаю, что будущее за обучением детей программированию-это своего рода DSL, построенный поверх языка с дружественным синтаксисом (к ним, возможно, относятся Ruby, Python и Scheme), цель которого-обеспечить интуитивно понятную среду для построения простых игр (скажем, крестики-нолики или палач).


  Сведения об ответе

VERSUION

13:58, 13th August, 2020

Я думаю, что вы должны начать их в 27-м году. Чем скорее они научатся разбираться в указателях, тем лучше.

Смотрите раздел понимание указателей и должен ли я выучить C .


  Сведения об ответе

+-*/

16:09, 21st August, 2020

Я думаю, что первый вопрос заключается в следующем: какую программу было бы интересно создать? Одна из вещей, которая заставила меня начать программировать в детстве (в BBC basic, а затем QBasic), была простота написания графических программ. Я мог бы написать пару строк кода и сразу увидеть, как моя программа рисует линию на экране.

Самое близкое , что я видел в последнее время, - это библиотека pygame для python и обработки, набор библиотек java с IDE.

Я полагаю, что взлом веб-страниц будет еще одним хорошим способом начать работу: это повлечет за собой HTML, Javascript (использование библиотеки, подобной jQuery), возможно PHP или что-то в этом роде.

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


  Сведения об ответе

$DOLLAR

15:45, 22nd August, 2020

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


  Сведения об ответе

SEEYOU

20:47, 22nd August, 2020

Как я уже сказал Здесь, я бы пошел на Squeakland и знаменитый пример Drive a Car (powered by Squeak).

Синтаксис Smalltalk прост, что отлично подходит для детей.

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

И как сказали @cpuguru и @Rotem, царапина (также основанная на скрипе) тоже велика.


  Сведения об ответе

dumai

21:48, 14th August, 2020

Я думаю, что Java может быть хорошим выбором просто потому, что вы можете легко сделать GUIs и увидеть "cool things" происходящим. По той же причине, возможно, любой из .NET языков. Я также слышал много хорошего о скриптовых языках (Ruby и Python, особенно), которые помогают детям научиться программировать.


  Сведения об ответе

nYU

09:40, 18th August, 2020

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

Я возьму свое пальто.

Skizz


  Сведения об ответе

davran

01:46, 20th August, 2020

Я бы пошел с тем, что я хотел бы знать в первую очередь: простой MS-DOS box и интегрированный ассемблер (debug). Это здорово, чтобы действительно изучить и понять основы общения с компьютером.

Если это не отпугнет ребенка, то я бы пошел на "next level up" и представил C. Это не должно быть трудно, учитывая, что основная концепция указателей, регистров и инструкций в целом хорошо понятна к тому времени.

Однако я не совсем уверен, куда идти дальше. Сделайте большой скачок к Lisp, Haskell или аналогичным абстрактным языкам, или должны быть какие-то простые объектно-ориентированные языки (возможно, даже C++), или это будет больше больно, чем поможет?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться