Лучшие способы научить начинающих программировать?

голоса
325

Оригинальный вопрос

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

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

Язык мы работаем с является Python , но совет на любом языке приветствуется.


Как помочь

Если у вас есть хорошие, пожалуйста, добавьте следующее в своем ответе:

  • Начинающие упражнения и идеи проекта
  • Ресурсы для обучения начинающих
  • Экранные / блог / бесплатные электронные книги
  • Печать книг, которые хороши для начинающих

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


Интернет - ресурсы для обучения начинающих:


Рекомендуемые книги печати для обучения начинающих

Задан 06/08/2008 в 06:01
источник пользователем
На других языках...                            


86 ответов

голоса
4

Если он заинтересован, не являются мелкими деталями хорошими деталями? Использование Python, вы уже разрезали GUI отходящим от него, так что путаница исчезла. Почему бы не выбрать проект, игра или что-то, и реализовать его. Классический привет-ло число угадайку может быть просто реализован из командной строки в 20-30 строк кода (в зависимости от языка, конечно) и дает переменные, условия, циклы, и ввод данных пользователем.

Ответил 06/08/2008 в 06:08
источник пользователем

голоса
2

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

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

Ответил 06/08/2008 в 06:13
источник пользователем

голоса
0

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

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

Только мой $ 0,02

Ответил 06/08/2008 в 06:16
источник пользователем

голоса
2

Что-то вы должны быть очень внимательными в то время как обучение вашего брата к программе для него не слишком сильно полагаться на вас. Часто, когда я ловлю себя, помогая другим, они начнут думать обо мне, как ответ книги на все их вопросы и вместо того, чтобы экспериментировать, чтобы найти ответ, они просто спрашивают меня. Часто лучший учитель экспериментирование и каждый раз, когда ваш брат имеет такой вопрос «Что будет, если добавить 2 в строку?» вы должны сказать ему, чтобы попробовать и посмотреть на себя. Кроме того, я заметил, что когда я не могу получить понятие через кого-то, это помогает увидеть некоторые примеры кода, где мы можем смотреть на каждого сегмента в отдельности и объяснить его по частям. В качестве примечания люди, новые программирования часто возникают проблемы с идеей объектно-ориентированного программирования, они говорят, что они понимают это, когда вы учите его к ним, но не получит ясного представления о нем, пока на самом деле его реализации.

Ответил 06/08/2008 в 06:18
источник пользователем

голоса
30

Вы можете попробовать использовать Алису . Это 3D - программа , предназначенная для использования в вводных классах программирования.

Два самых больших препятствий для новых программистов часто:

  • синтаксические ошибки
  • мотивация (написание что-то значимое и весело, а не надуманный)

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

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

Отказ от ответственности: Я работал над Алисой.

Ответил 06/08/2008 в 06:29
источник пользователем

голоса
15

Хороший питон курс МТИ Нежное Введение в программирование с помощью Python . Это все бесплатно в Интернете, и вам не нужно быть uberstudent MIT , чтобы это понять.

Edit [ Justin Standard ]

Этот курс использует эту бесплатную онлайн книгу: Как думать как ученый
я определенно находя его весьма полезным.

Ответил 06/08/2008 в 06:47
источник пользователем

голоса
118

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

1) FizzBuzz. Начните с программами командной строки. Вы можете написать некоторые забавные игры, или инструменты, очень быстро, и вы узнаете все особенности языка очень быстро , без необходимости изучать инструменты GUI первыми. Эти ранние приложения должны быть достаточно простыми , что вам не нужно будет использовать какие - либо реальные средства отладки , чтобы заставить их работать.

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

Некоторые проекты:

  • Привет мир!
  • Возьмите год моего рождения, и рассчитать свой возраст (всего (сейчас - то) не месяц поправок). (простая математика, вход, выход)
  • Спросите направлении (вверх, вниз, влево, вправо), а затем сказать пользователю свою судьбу (падение в яму, найти торт, ECT). (Булева логика)
  • FizzBuzz, но рассчитывать один раз в секунду. (Loops, таймеры, и больше логики)
  • В зависимости от их возраста некоторые действительно нравится приложение , которое вызывает пользователям случайное оскорбление на некотором интервале. (Loops, массивы, таймеры, и случайным образом, если вы сделаете интервал случайным образом )

2) Простой проект После того, как они имеют хорошее представление о возможностях языка, вы можете создать проект (простые, веселые игры работают хорошо.). Вы должны стараться иметь первый проект сможет быть завершена в течение 6-12 часов. Не тратить время на архитектор это рано. Пусть его дизайн , даже если он сосет. Если он рассыпается, говорить о том, что произошло , и почему это не удалось, а затем выбрать другую тему и начать заново.

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

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

Некоторые проекты:

  • Виселица игра
  • Экспериментируя с робототехникой ( Векс и Mindstorms варианта)

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

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

Некоторые проекты:

  • Tetris
  • Текстовый файл на основе движок блога
  • Более продвинутая робототехника работа
Ответил 06/08/2008 в 07:00
источник пользователем

голоса
2

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

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

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

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

Ответил 06/08/2008 в 07:07
источник пользователем

голоса
0

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

Может быть, что маршрут будет работать с ним тоже?

Ответил 06/08/2008 в 07:20
источник пользователем

голоса
1

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

Ответил 06/08/2008 в 08:15
источник пользователем

голоса
2

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

Меня, я предпочитаю начинать с большой картины и углубиться в мельчайших. Первым, что я хотел бы знать, как все это совмещается, то все, что объектно-ориентированные абракадабра, то о классах и случаях и так далее. Я хотел бы знать основные понятия и немного теории, прежде чем я изучить синтаксис. У меня было небольшое преимущество, потому что я написал несколько игр в BASIC 20 лет назад, но ничего особенного, так как.

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

Золотое правило здесь, чтобы разузнать падающий стиль вашего студента.

Ответил 06/08/2008 в 11:44
источник пользователем

голоса
7

http://tryruby.hobix.com/">Try Ruby (в вашем браузере)

Ответил 06/08/2008 в 17:37
источник пользователем

голоса
0

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

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

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

Ответил 06/08/2008 в 18:32
источник пользователем

голоса
5

Это фантастическая книга, мои маленькие братья использовали, чтобы узнать:

http://pine.fm/LearnToProgram/

Конечно, самое главное, чтобы начать на реальной, полезной программе какой-то НЕМЕДЛЕННО после окончания книги.

Ответил 07/08/2008 в 06:33
источник пользователем

голоса
0

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

Ответил 07/08/2008 в 06:35
источник пользователем

голоса
0

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

Я думаю, что одна из самых больших проблем с обучением программированию в реферате, что это не есть реальный контекст, который ученик может получить эмоционально вкладываются в. Программирование трудно, и там должен быть какой-то реальный выигрыш, чтобы сделать это стоит усилий делать это. В моем случае, я бы сделал информатику в универе, узнали Pascal и COBOL там, и узнал, BASIC дома до этого, но я никогда не получил где-нибудь с ним, пока я не стал самозанятых веб-дизайнер в 90-е и мой клиенты нужны функциональные возможности на своих веб-сайтах, и были готовы платить примерно в 10 раз больше для функциональных возможностей, чем для дизайна. Положив на стол еду адская мотиватор!

Так я узнал, Perl, то ASP / VBScript, то JavaScript, то Flash / ActionScript, то PHP - все для того, чтобы сделать материал, который я хотел случиться.

Ответил 07/08/2008 в 08:47
источник пользователем


голоса
1

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

Ответил 07/08/2008 в 23:12
источник пользователем

голоса
4

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

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

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

Edit: [Justin Standard]

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

Ответил 09/08/2008 в 02:37
источник пользователем

голоса
1

Меня учили, научиться решать проблемы в языке агностиком способом с использованием схем и PDL (Program Design Language). Через пару недель, я научился конвертировать PDL я написал на языке. Я рад , что я узнал , что путь , потому что я провел большую часть моих лет программирования, решение задач без привязки к языку. Какой язык я использую всегда является деталью реализации и не является частью дизайна.

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

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

Ответил 09/08/2008 в 03:23
источник пользователем

голоса
0

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

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

Я думаю , что одна из самых больших моментов , которые я бы обеспечить то , что они понимают основные концепции рамок. Я знаю , что вы работаете в Python (который я не имею ни малейшего понятия о) , но, например, с ASP.NET , чтобы заставить людей понять страница / код позади модели может быть реальной проблемой, но ее критическое , что они это понимают. В качестве примера, я недавно был вопрос на форуме о « где я положил мой код доступа к данным, в файле„ККС“или в файле„ASPX“ ».

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

Удачи!

Ответил 09/08/2008 в 07:52
источник пользователем

голоса
1

Я бы рекомендовал также смотреть некоторые видеоролики - они, как правило, создается в контексте конкретной технологии не язык, хотя, если есть отображается Python код, который будет делать :). Дело в том, - они созданы несколько хороших программистов и смотреть, как хорошие программисты программа хорошая вещь. Вы и ваш брат может сделать некоторые пэра программирования, а также, что может быть еще лучше идея. Только не забудьте объяснить, почему вы делаете что-то так, а не этак. Я думаю, что лучший способ научиться программировать это из хороших примеров и стараться не увидеть даже плохие.

Ответил 09/08/2008 в 09:17
источник пользователем

голоса
1

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

Ответил 09/08/2008 в 17:28
источник пользователем

голоса
1

Там уже была куча больших ответов, но для абсолютного новичка, я бы искренне рекомендую Hackety Hack . Она была создана необоснованно плодовитым why_the_lucky_stiff специально , чтобы обеспечить / LOGO / Pascal-среду BASIC для новых программистов экспериментировать. Это в основном пятно рубина IDE с некоторыми большими библиотеками (флэш - видео, чат, веб - сервер) и интерактивные уроки. Это делает хороший шаг для программирования, так как он выбрал уроки , которые делают забавные, полезные вещи. «Привет, мир» может не произвести впечатление сразу же, но создание пользовательских IM - клиента за 20 минут может вдохновить кого - то , чтобы держать обучение. Повеселись!

Ответил 11/08/2008 в 05:30
источник пользователем

голоса
1

Скопируйте некоторый простой код построчно и заставить их читать и интерпретировать его как они идут вместе. Они скоро будут работать его. Я начал программировать на Acorn Electron с фрагментами кода из Acorn журналов. Я не имел ни малейшего представления о программировании, когда мне было 6, я использовал, чтобы скопировать текст, но постепенно я узнал, что означают разные слова.

Ответил 11/08/2008 в 13:23
источник пользователем

голоса
0

Я бы рекомендовал в первую преподавать самые основы, которые используются практически во всех языках, но делать это без языка. Outline всех основных понятий If-Else If-Else, Loops, классы, типы переменные, структуры, и т.д. Все, что является основой большинства языков. Затем перейти на действительно понимающее булевом, сравнение и сложном или заявления, чтобы получить ощущение от того, что результатов являются более сложными выражениями.

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

Ответил 11/08/2008 в 13:30
источник пользователем

голоса
0

Мой любимый «начать учиться кода» проекта это игра Змеи или Tron , потому что он позволяет запускать медленные (переменные для сохранения текущей «позиции червя», массивы , чтобы сохранить позиции червя , если червь больше , чем один «кусок», петли , чтобы сделать движение червя, если / переключатель , чтобы позволить пользователю изменить направление червя, ...). Она также позволяет включать все больше и больше вещей в проект в долгосрочной перспективе, например , объектно - ориентированное программирование (один червь один объект с возможностью иметь два червей в то же время) с наследованием (переход от «Змеи» в «Tron "или наоборот, где червь слегка изменяет поведение).

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

Ответил 11/08/2008 в 13:59
источник пользователем

голоса
1

Это может показаться тупым, но почему вы пытаетесь научить ваш брат к программе?

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

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

Ответил 13/08/2008 в 07:10
источник пользователем

голоса
1

Я хотел бы предложить , принимая подход похож на том , что книги, Accelerated C ++ , в котором они покрывают части C ++, которые обычно полезны для создания простых программ. Для любого нового программирования я думаю , имея что - то показать на некоторое количество усилий , это хороший способ , чтобы держать их интересует. После того, как вы покрыли основы Python , то вы должны сидеть сложа руки и пусть experiement с языком.

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

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

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

Я надеюсь, что я был какой-то помощи. :)

Ответил 13/08/2008 в 10:29
источник пользователем

голоса
0

Эта нить очень полезно для меня как новичка (> 100 строк кода) программиста.

Исходя из того, что я пережил, когда я закончил с «Hello World» и перейти к переменным и «если / другое» заявление, я получил всесильный со слишком большим количеством синтаксиса; не зная, что делать с ними.

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

Могу ли я задать вопрос здесь?

Что лучше изучить язык сценариев , как AutoHotkey первый?

Edit: [Justin Standard]

Я думаю , что научиться чему - то макро- на основе , как AutoHotkey только поможет минимально. Попробуйте учить язык «реального» программирования первым. Проще всего начать с (по мнению большинства людей) являются питоном и рубиновые . Я предпочитаю питон, но и довольно просто. Существует также полный StackOverflow пост , который отвечает на вопрос о том, какой язык , чтобы начать с.

Ответил 14/08/2008 в 02:30
источник пользователем

голоса
0

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

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

Только тогда я дал бы им «задания», чтобы попытаться достичь.

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

Я бы абсолютно рекомендую придерживаться языка , который имеет сбор мусора, как D , Perl , или какой - то интерпретируемый язык , как JavaScript. Это может быть хорошей идеей , чтобы держаться подальше от Perl до Perl 6 не ближе к завершению, поскольку она фиксирует некоторые трудности чтения и понимания Perl.

Ответил 14/08/2008 в 17:23
источник пользователем

голоса
1

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

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

Для «если» заявление в Python, начните с:

if  :

В C / C ++ / C # / Java:

if () 
{

}

В Pascal / Delphi:

If () Then
Begin

End

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

Edit: [ Justin Standard ]

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

Ответил 16/08/2008 в 01:46
источник пользователем

голоса
0

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

Назад к моей первой CS 101, я начал с понятиями, что алгоритм был построив Tequila Sunrise (шаг за шагом процесс, который может быть повторен в любое время с нужными ингредиентами, что приведет к той же продукции), оттуда мы перейдем к основным математическим функциям с помощью схемы (как EHaskins говорил ... начать с малыми, а затем наращивать), а оттуда понятия петель, булевой логики, структуры, а затем строить в концепцию объектов и некоторые имитации казни .. ,

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

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

Оттуда на небе есть предел!

Ответил 16/08/2008 в 16:56
источник пользователем

голоса
1

Как об этом: Нерест следующее поколение хакеров Ната Торкингтон.

Ответил 18/08/2008 в 16:24
источник пользователем

голоса
0

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

Я нашел C Primer Plus, 5 - е издание очень полезно в качестве начинающего программиста с практически нет опыта программирования. Он не предполагает никакого предшествующего опыта программирования, весело читать и охватывает C в глубине ( в том числе последнего стандарта C99).

Ответил 19/08/2008 в 09:37
источник пользователем

голоса
1

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

Ответил 19/08/2008 в 15:52
источник пользователем

голоса
28

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

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

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

Теоретически, вы можете придерживаться Python, поскольку Python может сделать почти что угодно. Это хорошее средство для обучения объектно-ориентированного программирования и (большинство) алгоритмов. Вы можете запустить Python в интерактивном режиме, как в командной строке, чтобы получить представление о том, как это работает, или запускать целые сценарии сразу. Вы можете запускать сценарии интерпретируются на лету, или скомпилировать их в исполняемые файлы. Есть тысячи модулей для расширения функциональных возможностей. Вы можете сделать графический калькулятор, как тот, в комплекте с Windows, или вы можете сделать клиент IRC, или что-нибудь еще.

XKCD описывает власть Питона немного лучше: «Вы летите! Как?»  "Python!"

Вы можете перейти на C # или Java после этого, хотя они не предлагают много, что Python не уже есть. Преимущество этого том, что они используют синтаксис C-типа, которые используют многие (я осмелюсь сказать, большинство?) Языки. Вам не нужно беспокоиться об управлении памятью, но вы можете привыкнуть к тому, немного больше свободы и меньше от с рук переводчика языка. Python навязывает пробелы и отступы, который хорошо большую часть времени, но не всегда. C # и Java позволяют управлять собственным пробельные, оставаясь при этом сильно типизированных.

Оттуда, стандарт C или C ++. Свобода на этих языках почти экзистенциальная. Вы теперь отвечаете за свое собственное управление памятью. Там нет мусора, чтобы помочь вам. Это где вы научить действительно продвинутые алгоритмы (как и слияние сортировки). Здесь вы узнаете, почему «ошибка сегментации» является ругательством. Здесь вы загрузить исходный код ядра Linux и смотреть в Бездну. Начните писать циклический буфер и стек для работы со строками. Затем обработайте свой путь.

Ответил 20/08/2008 в 22:09
источник пользователем

голоса
2

Если брат твой имеет доступ к ITunes, он может загружать видео лекции вводного курса информатики данной Ричард Бакленд в Университете Нового Южного Уэльса. Он привлекательный инструктор и охватывает основы вычислительной техники и языка Си. Если ничего другого, скажите вашему брату, чтобы играть порно- в фоновом режиме и некоторые концепции могут тонуть через осмос. :)

COMP1917 Higher Computing - 2008 Сессия 1 http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444

Если ссылка не работает, вот путь:

Главная страница -> ITunes U -> Машиностроение -> COMP1917 Higher Computing - 2008 Сессия 1

Ответил 20/08/2008 в 22:54
источник пользователем

голоса
0

Для меня, исследуя и экспериментируя в IDE сама помогла мне научиться Java и Visual Basic, но я изучил основы программирования трудный путь: Perl 5. Там не было свободным IDE тогда, так что это означает, набрав коды в блокнот , сохранив его, а затем запустить интерпретатор Perl.

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

int a = 5;

for (int i = 0; i < a; i++) {
     System.out.println("i is now " + i);
}

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

Ответил 22/08/2008 в 11:32
источник пользователем

голоса
11

Главное в том , что данное лицо должно иметь какие - то проблемы , что они хотят , решающие. Если у вас нет программы , которую вы хотите записать (и что - то разумное и вполне определенное, а не «Я хочу , чтобы написать следующий Quake!») , То вы не можете научиться программировать, потому что у вас нет ничего , чтобы мотивировать вас , Я имею в виду, вы могли бы прочитать книгу и иметь общее представление о синтаксисе и семантики языка, но пока у вас есть программа , которую вы хотите написали вы никогда не понять крапивы.

Если этот импульс существует, то все остальное просто мелкие детали.

Ответил 22/08/2008 в 11:35
источник пользователем

голоса
1

Python легко для новых разработчиков , чтобы узнать. Вы не запутаться в специфике управления памятью и определение типа. Погружение в Python является хорошим Руководство для начинающих Python программирования. Когда моя сестра хотела узнать я указал программирование ее на линию «Head Start» книги , которые она нашла очень легко читать и понимать. Я считаю , что трудно только начать учить кого - то , потому что у вас нет лексикона для использования с ними. Во- первых у него прочитал несколько книг или учебников и запросит у вас вопросы. Оттуда вы можете назначить проекты и оценку им. Я считаю , что трудно научить программировать , потому что я узнал его в течение почти 15 лет мастерить вокруг.

Ответил 22/08/2008 в 15:09
источник пользователем

голоса
1

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

Ответил 22/08/2008 в 21:27
источник пользователем

голоса
1

Я бы рекомендовал книгу Чарльз Петцольд в Кодекс - The Hidden Langauge компьютерного оборудования и программного обеспечения в качестве превосходного общего введения , как компьютеры работы.

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

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

Ответил 23/08/2008 в 19:14
источник пользователем

голоса
2

есть wikibook , что очень хорошо для обучения питона .

Я не знаю, как Викиучебники являются для других языков, но я лично узнал питон из wikibook, как это было в феврале 2007 года

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

Ответил 26/08/2008 в 04:39
источник пользователем

голоса
1

Я не знаю точно , что будет лучше для вашего брата, но я знаю , что я начал с питоном. Я играл в различные игры с самого раннего возраста , и хотел , чтобы мои собственные, так что мой дядя познакомил меня с Python с Pygame библиотеки. Она имеет много учебников и делает все это легко (намного легче , чем OPENGL на мой взгляд). Это является ограничено 2d, но вы должны начинать с простого в любом случае.

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

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

Ответил 26/08/2008 в 20:12
источник пользователем

голоса
0

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

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

Тогда это просто код, код, код. Код каждый пример прямо из книги. Затем измените его немного, чтобы сделать другое действие. Обучение программе является активным процессом, не является пассивным. Вы не можете просто прочитать C ++ Как программировать на Dietal и затем ожидать код C ++ без того активно делал это во время чтения.

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

Ответил 27/08/2008 в 16:25
источник пользователем

голоса
1

Начните задавать ему этот вопрос: « ? Какие вещи вы хотите сделать с вашим компьютером »

Затем выберите набор действий, которые соответствуют его ответ, и выбрать язык, который позволяет эти вещи делать. Все лучше, если это простой (или упрощаемый) сценариев среды (например, Applescript, Ruby, любая оболочка (КШ, Bash, или даже .bat файлы).

Причины:

  1. Если он заинтересован в результатах, он, вероятно, будет более мотивирован, чем если бы вы иметь его подсчитывать кролик фибоначчиевых.
  2. Если он получает результаты, которые он любит, он, вероятно, придумать вариации действий, которые Вы создаете.
  3. Если вы изучаете его, он не проводит серьезную карьеру (еще); всегда есть время, чтобы переключиться на языках «промышленной прочности» позже.
Ответил 29/08/2008 в 00:59
источник пользователем

голоса
1

Хороший ресурс, чтобы научить молодых людей является бесплатной электронной книги «Придумайте свои собственные игры с Python»:

http://pythonbook.coffeeghost.net/book1/IYOCGwP_book1.pdf

Ответил 01/09/2008 в 14:21
источник пользователем

голоса
0

Что-то рассмотреть ... не каждый способен программировать:

Некоторые люди просто не могут получить прошлые вещи, как:

А = 1

В = 2

А = В

(Эти люди будут по-прежнему думают, что А = 1)

Джефф говорил об этом тоже. На самом деле, мой пример в ссылке (и объяснил, для загрузки).

Ответил 04/09/2008 в 21:23
источник пользователем

голоса
0

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

Ответил 05/09/2008 в 03:20
источник пользователем

голоса
0

Некоторая дополнительная информация , что кто - то может прикрепить к сообщению ранее Джейсон Пратта на Элис ... В частности, Storytelling Alice вариант.

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

Ответил 06/09/2008 в 16:30
источник пользователем

голоса
0

Один я со своими детьми является CEEBot . Это не питон, но он учит стиль программирования C / Java в удовольствие, робот-программирования типа игры. Она направлена на 10-15 - летних, но это действительно хороший.

Ответил 06/09/2008 в 17:42
источник пользователем

голоса
0

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

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

Ответил 07/09/2008 в 21:25
источник пользователем

голоса
1

Если он заинтересован, чем я бы не беспокоиться о фокусировке на играх или этажерки. Я бы просто взять эту книгу для начинающих Приучите себя х 'вы собираетесь бросить и дать ему его, и пусть он изо всех сил через него. Может быть, говорить об этом после, а затем сделать еще и еще. После того, как я бы пару программ с ним, чтобы он мог узнать, как мелкий и хромой те книги, которые он читал, были. Тогда я бы начать с него код что-то для себя. Сайт отслеживать статистику по софтболу или что-то будет заниматься его. Для меня это была база для вина обратно в тот же день.

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

Ответил 08/09/2008 в 18:40
источник пользователем


голоса
12

Python пакет VPython - 3D Программирование для простых смертных ( видео - учебник ).

Пример кода:

from visual import *

floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
ball = sphere (pos=(0,4,0), radius=1, color=color.red)
ball.velocity = vector(0,-1,0)
dt = 0.01

while 1:
    rate (100)
    ball.pos = ball.pos + ball.velocity*dt
    if ball.y < ball.radius:
        ball.velocity.y = -ball.velocity.y
    else:
        ball.velocity.y = ball.velocity.y - 9.8*dt

VPython прыгающий мяч http://vpython.org/bounce.gif

Ответил 08/09/2008 в 19:26
источник пользователем

голоса
1

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

Ответил 10/09/2008 в 01:29
источник пользователем

голоса
0

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

Ответил 12/09/2008 в 21:51
источник пользователем

голоса
0

Несколько других стартовых платформ:

  • Хороший программируемый калькулятор (это то, что я узнал о еще в 70-е годы), а затем HP25 HP41, теперь TI69 и т.д.
  • Интерактивная Художественная платформа, такой как «Информ 7» обеспечить другой угол на всем этом
  • Flash / ActionScript

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

LBB

Ответил 16/09/2008 в 07:51
источник пользователем

голоса
0

Я бы порекомендовал Think Python .

Ответил 16/09/2008 в 11:31
источник пользователем

голоса
1

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

Ответил 19/09/2008 в 12:43
источник пользователем

голоса
0

Ваш вопрос очень зависит от возраста и образования вашего брата, но если он является ребенком / подростком, я бы рекомендовал сделать некоторые GUI программирования или графического программирования первый (с Canvas и т.д.). Он выглядит хорошо, и у вас есть непосредственные результаты. Алгоритмы скучные и слишком абстрактны для молодых людей (до того сказать, 15 лет).

Когда я начал программировать на ZX Spectrum (я был, как 12 лет), я любил рисовать различные вещи на экране, и это было все еще интересно. Я не узнать о реальных алгоритмических методов, пока я не был, может быть 18. Не следует не вводить в заблуждение, что такое «просто» программирование неправильный старт; интерес человека обучения это является наиболее важной частью этого.

Итак, я хотел бы посмотреть в PyKDE, PyGTK, PyQt или Python + OpenGL (есть, конечно, некоторые учебники по сети, я знаю некоторых чешских них, но это не поможет :)).

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

Ответил 19/09/2008 в 13:08
источник пользователем

голоса
1

Очень хорошее видео курс Введение Стэнфордского университета (не требуется никаких предварительных знаний):

Программирование Методология

Научу вас хорошую «методология» каждый программист должен знать и некоторые программирования Java.

Ответил 20/09/2008 в 23:23
источник пользователем

голоса
0

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

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

1) Короче говоря, «Hello, World!» - программа типа, которые до сих пор имеют некоторые логические и / или расчеты, сделать это до нескольких программ, которые могут иметь ошибки

Ответил 21/09/2008 в 23:27
источник пользователем

голоса
0

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

Ответил 21/09/2008 в 23:30
источник пользователем

голоса
0

+1 Стенфордского университета лекции. http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

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

Ответил 03/10/2008 в 12:38
источник пользователем

голоса
0

Я полагаю , « Computer Science Unplugged » в качестве дополнительного дидактического материала.

Ответил 12/10/2008 в 00:32
источник пользователем

голоса
0

«Кто боится C ++» По Heller

Может быть стоит выстрел

Ответил 30/10/2008 в 05:38
источник пользователем

голоса
0

Microsoft Small Basic является бесплатной основе .NET среда программирования стремится быть «весело» среда обучения для начинающих. Язык является подмножеством VB.NET и даже содержит «Черепаха» объект знакомый с языка Лого. Сайт содержит шаг за шагом учебник.

Ответил 18/11/2008 в 02:40
источник пользователем

голоса
0

Я согласен с superjoe30 выше, но у меня не хватает репутации еще, чтобы оставить комментарий.

Я был профессором CS в течение 4-х лет. Языки были Basic, а затем Паскаль, но это на самом деле не имеет значения, какой язык.

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

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

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

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

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

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

Удачи. Обучение это тяжелая работа, но радует, когда вы видите, студенты растут.

Ответил 18/11/2008 в 03:06
источник пользователем

голоса
1

Книга: Программирование на Java для детей, родителей и прародителей (PDF)

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

Ответил 14/02/2009 в 14:47
источник пользователем

голоса
12

Начните с Turtle графики в Python.

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

>>> from turtle import *
>>> setup()
>>> title("turtle test")
>>> clear()
>>>
>>> #DRAW A SQUARE
>>> down()        #pen down
>>> forward(50)   #move forward 50 units
>>> right(90)     #turn right 90 degrees
>>> forward(50)
>>> right(90)
>>> forward(50)
>>> right(90)
>>> forward(50)
>>>
>>> #INTRODUCE ITERATION TO SIMPLIFY SQUARE CODE
>>> clear()
>>> for i in range(4):
        forward(50)
        right(90)
>>>
>>> #INTRODUCE PROCEDURES   
>>> def square(length):
        down()
        for i in range(4):
            forward(length)
            right(90)
>>>
>>> #HAVE STUDENTS PREDICT WHAT THIS WILL DRAW
>>> for i in range(50):
        up()
        left(90)
        forward(25)
        square(i)
>>>
>>> #NOW HAVE THE STUDENTS WRITE CODE TO DRAW
>>> #A SQUARE 'TUNNEL' (I.E. CONCENTRIC SQUARES
>>> #GETTING SMALLER AND SMALLER).
>>>
>>> #AFTER THAT, MAKE THE TUNNEL ROTATE BY HAVING
>>> #EACH SUCCESSIVE SQUARE TILTED

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

Ответил 25/02/2009 в 22:00
источник пользователем

голоса
1

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

Ответил 18/03/2009 в 15:51
источник пользователем

голоса
1

Я думаю, что Python действительно большой язык, чтобы начать с: :-)

Я предлагаю вам попробовать http://www.pythonchallenge.com/

Он построено как небольшое Приключение и каждый Решение соединяют вас с новой хорошей проблемой.

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

Ответил 08/07/2009 в 10:57
источник пользователем

голоса
1

Я могу рекомендовать мой проект, PythonTurtle .

Резюме:

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

Это выглядит следующим образом:

альтернативный текст http://www.pythonturtle.com/screenshot.gif

Ответил 04/08/2009 в 22:42
источник пользователем

голоса
2

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

Некоторые возможные проекты (в произвольном порядке):

  • Монета флип-имитатор. Пусть вводимые пользователем данные требуемого количества испытаний для листать монет. Выполнить его и отобразить результаты наряду с процентом за головы или хвосты.

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

    Вот пример расширенного преобразователя с той же идеей: http://pastebin.org/6541

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

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

  • Берет ввод некоторых (предположительно больших) чисел грошей и превратить его в большие номиналы. Например, 149 пенсов = 1 доллар, 1 квартал, 2 Dimes и 4 пенни.

  • Создание простого менеджера списка. Уметь добавлять / удалять списки и добавлять / удалять записи в этих списках. Вот пример из рождественской менеджеры списка: http://pastebin.org/6543

  • Создать программу , которая будет строить , а затем проверить ли введенные числа образуют магический квадрат (с 2D - массив). Вот некоторые примеры кода, но он должен реально напечатать квадрат на каждом этапе для того , чтобы показать , где пользователь находится в терминах Buliding площадь: http://pastebin.org/6544

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

Ответил 04/08/2009 в 23:20
источник пользователем

голоса
1

Попробуйте найти копию (пронзительные) Руководство Почему к Руби в Интернете. Оригинальный сайт отсутствует , но я уверен , что есть несколько зеркал там. Это не ваше типичное руководство по программированию; это ставит уникальную (и смешно) спину на изучение нового языка , который мог бы удовлетворить свой друг. Не говоря уже, Ruby является отличным языком , чтобы узнать с.

Ответил 26/08/2009 в 16:22
источник пользователем

голоса
0

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

Обычно я начинаю с примером калькулятора. Я говорю себе представить, и есть ящик для каждого переменного и у вас платы 10 карт с номерами 0 - 9 напечатанных на них. Говорят, что коробка может содержать один картон в то время, и подобным же образом объяснить, как работают элементы программирования

И акцент на том, как каждый оператор работает .. как простой оператор «=» всегда вычисляет правую сторону первого в одно значение. и поставить это значение в поле с именем «NUM_1» (который является имя переменной)

Это было очень и очень эффективным, так как они способны представить себе поток очень быстро.

Ответил 18/12/2009 в 15:59
источник пользователем

голоса
2

Просто сделать это весело!

Поразительно Scala может быть проще , если вы пытаетесь Коджо

Ответил 19/03/2010 в 14:44
источник пользователем

голоса
2

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

Ответил 07/04/2010 в 01:35
источник пользователем

голоса
1

Academic Earth ссылки предлагает бесплатно Компьютерная наука из лучших университетов. Они имеют раздел , ориентированный на Beginning Информатику. Языки преподаются в начальных курсах различны:

  • MIT - Введение в информатику и программирование - Python
  • Стэнфорд - Компьютерные науки I: Программирование Методология - Java
  • Гарвард - Введение в Computer Science I - C (основной фокус), с несколькими другими посыпают для хорошей меры (например, SQL, PHP, LISP, Assembler и т.д.)
  • Беркли - диалект языка LISP
Ответил 17/04/2010 в 13:33
источник пользователем

голоса
8

Я не знаю , если кто - то говорил об этом здесь, все же, но Вы можете проверить Zed Shaw «s Python на Hard Way Подробнее

Надеюсь это поможет

Ответил 19/10/2010 в 01:42
источник пользователем

голоса
2

Python вызов

Ответил 08/12/2010 в 17:58
источник пользователем

голоса
2

Пройдя через несколько бесплатных электронных книг, я нашел лучшую книгу для обучения программы был руководитель Первого программирования опубликованного O'Reily Press. Он использует Python как язык и дает вам программы для работы на с самого начала. Они все более интересно, что «Hello World». Это стоит денег я потратил на него, и так как он был за некоторое время, вы можете быть в состоянии найти более дешевый подержанный экземпляр на Ebay или Amazon.

Ответил 03/01/2011 в 02:54
источник пользователем

голоса
0

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

Что-то, где он может знать, что выход должен быть, и указать его к материалам (он-лайн или в печатном виде), имеющих отношение к проекту. Если он приходит в питон или программирования «холодный» быть терпеливым, как он работает свой путь через понимание основы, такие как синтаксис, ошибки, обзорный и быть готовым отойти в стороне и позволить ему бежать и делать свои собственные ошибки, когда вы начинаете видеть свет колба идти над головой.

Ответил 12/05/2011 в 14:28
источник пользователем

голоса
0

Я настоятельно рекомендую Python программирования: Введение в Computer Science 2nd Edition по John Целле . Она ориентирована на начинающих, и имеет дело с семантикой программирования. После прочтения вы сможете подобрать другие языки гораздо быстрее из - за семантический против синтаксического подхода Zelle в. Проверьте это!

Ответил 29/05/2011 в 04:05
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more