forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   С чего начать обучение программированию? (http://forum.boolean.name/showthread.php?t=15256)

Morganolla 06.08.2011 23:39

Ответ: С чего начать обучение программированию?
 
Наверно питон на начальном уровне, там нет типов, но есть ООП! Только надо найти хороший учебник для начинающих.

Randomize 07.08.2011 14:54

Ответ: С чего начать обучение программированию?
 
Эрланг

Romanzes 07.08.2011 15:25

Ответ: С чего начать обучение программированию?
 
Нам в 5-м классе впаривали обучающий язык "Кенгуренок Roo", потом QBasic. Roo предельно простой и примитивный, никаких переменных вообще нет, зато есть функции, суть заключается в написании программ для кенгуренка, который скачет по экрану и рисует линии. Мне в том возрасте было довольно интересно. Благодаря этому языку я понял смысл функций и вообще заинтересовался программированием. Но эта программа вроде бы только для DOS. (Но на XP запускается без проблем)
Сейчас в школах впаривают некое Лого, подозреваю, что это унылая поделка без души.

ffinder 07.08.2011 16:01

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

Я вспомнил, что сам начинал с Spectrum BASIC. Там не было никаких контекстов устройств, переключения графический\текстовый режим, долгой компиляции, сохранения програм по куче файлов и прочей несущественной для старта ерунды.
Был REPL, и можно было вводить программу построчно.
Все или работало сразу, или выкидывало однострочные сообщения об ошибках.
Еще было подобие IntellySens'а. Ключевые слова и синтаксические конструкции вводились одной кнопкой.

И я решил для пробы найти что-то подобное.
Нагуглился какой-то BASIC256. На нем и началось обучение. После нескольких странных приколов (диалекты Бейсика же) - обучение перешло на Blitz3D.

Что пошло хорошо:
1. В Бейсике можно писать осмысленные программы из 2-3 строк.
2. Понята логика работы основных конструкций: Print, Input, If Then Else, For Next (т.е. не собственное безошибочное написание, а именно что они делают).

Что пошло не так хорошо:
1. Нет навыков набора латиницей. Это очень замедляет всё.
2. Синтаксис, его надо учить, да.

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

Теперь развернуто отвечу falcon'у, т.к. он затронул методологию обучения.
Цитата:

Сообщение от falcon (Сообщение 198257)
Но вообще начать было бы здорово с основ алгоритмизации, объяснить, что из себя представляет память, как происходит выполнение программы. Так сказать настроить на нужную волну. И ещё было бы здорово привить привычку чтения технических книжек.

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

Цитата:

Сообщение от falcon (Сообщение 198257)
Очень важно, что бы не приходилось объяснять начинающиму перед тем как он распечатает свой первый Hello World, что такое дерективы препроцессора, импорт пакетов, модулей, что такое пространства имён, объекты, перегруженные операторы, точка входа, функции.. а ведь всё это необходимо что бы распечатать текст в Java, C# и C++..
в этом больше приимущество паскалей и бейсиков. Они действительно проще.

+100500

Цитата:

Сообщение от falcon (Сообщение 198257)
python, на мой взгляд, отличный выбор.
В отличии от классических паскалей и бейсиков, изучение питона - путь не тупиковый (да простят меня дельфисты).

согласен, но все-же ООП на Питоне это нечто своеобразное, совсем не по законам жанра. И куча приколов с динамической типизацией, которые надо будет объяснять. И еще одна "радость" в Питоне - создание полей классов на ходу при обращении к ним. Т.е. опечатался, например вместо name набрал nmae - и "компилятор" тебе ничем не поможет, ищи ошибку по всему тексту.
Да, я знаю, что можно перегрузить get_attr. Но это явно уже не про обучение программированию.
Цитата:

Сообщение от falcon (Сообщение 198257)
Питон тоже обладает этими приимуществами, но плюс к тому этот язык сейчас весьма актуален :)

ответил про "преимущества".

ffinder 07.08.2011 16:07

Ответ: С чего начать обучение программированию?
 
Цитата:

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

А вот это просто отличная идея.
Надо показать, что все сайты в интернете внутри используют HTML.
Возможно будет небольшое "озарение":)

Цитата:

Сообщение от Randomize
Эрланг

ты знаешь, если бы у ирланка синтаксис был не настолько дурацким, а на уровне бейсика - это был бы ясный и решительный win.

falcon 07.08.2011 16:45

Ответ: С чего начать обучение программированию?
 
Цитата:

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

Цитата:

согласен, но все-же ООП на Питоне это нечто своеобразное, совсем не по законам жанра.
вероятно вся твоя критика питона действительно оправдана.
Просто меня жутко бесит, что зачастую приходится начинать обучение с паскалей и бейсиков.. Начинающий, как никто склонен к субъективным убеждениям (аля "на %user languge% можно сделать всё!" ) из-за которых они всеми силами воют за делфи, не слазают с бмакса, и т.д.
И так хочется, что бы первый язык, тот язык на котором у новичка начнёт что-то получатся был бы актуальным и востребованным. Что бы если прогинг вышел за рамки хобби, и потихоньку переростал в профессию, можно было бы найти работу или поучавствовать в серьёзных опен сорс проектах..
в этом плане паскали и бейсики мертвы.. И очень хочется найти альтернативы. Пока что мне питон кажется убедительной альтернативой)
в конце концов введение в ооп будет не на начальном этапе))

h1dd3n 07.08.2011 18:16

Ответ: С чего начать обучение программированию?
 
PascalABC (.NET) там все для обучения есть. Простое рисование и т.д., однако синтаксис паскаля (хоть и с фишками .net). Я начинал с такой убогой хрени как libertybasic. Что-то понимать начал только когда перешел на бмакс.

RBK 08.08.2011 04:46

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

ffinder 21.08.2011 22:21

Ответ: С чего начать обучение программированию?
 
Итак, продолжение [s]марлезонского балета[/s]
Сейчас обучение идет по двум фронтам.
1. тренировка набора латиницей. используется программа BabyType. ученик осилил 34 уровень.
2. Microsoft Kodu. игровой sandbox и немного программирования с помощью пиктограмм. Довольно забавно. Используются очень высокоуровневые конструкции (опрос клавиатуры/мыши/джойстика, действия: прыжок, движение (по вейпоинтам включительно), поворот...). Встроенный редактор террейна, расстановка объектов, программирование логики объектов, изменение свойств объектов.

Теперь про COLOBOT.
Это игра не для обучения программированию. Уж точно не для обучения с нуля.
Скорее это игра для заскучавших бородатых дядь-программистов.
Возможно попробую её позже. Когда уже будут твердые базовые навыки у малого.

Mr_F_ 21.08.2011 23:56

Ответ: С чего начать обучение программированию?
 
как-то вы недостаточно хардкорны.
всё что нужно для обучения программированию - это ярое желание.
я сидел в возрасте сабжа и даже раньше, и читал древние бабушкины книжки по dos-коммандам, переводил хелп qbasic'а с гигантским бумажным словарём.

Hurrit 22.08.2011 07:38

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

Randomize 22.08.2011 07:51

Ответ: С чего начать обучение программированию?
 
Ммм? http://smallbasic.com/

St_AnGer 22.08.2011 10:33

Ответ: С чего начать обучение программированию?
 
я начинал с QuickBasic на бумаге, т.к. доступ к пк был раз в неделю только. И какая же была радость когда получалась анимация человечка из пяти линий, или какой нибудь кораблик... Basic ведь для того и basic, что с него начинать очень просто

RBK 22.08.2011 13:17

Ответ: С чего начать обучение программированию?
 
Цитата:

Сообщение от ffinder (Сообщение 199600)
Теперь про COLOBOT.
Это игра не для обучения программированию. Уж точно не для обучения с нуля.
Скорее это игра для заскучавших бородатых дядь-программистов.
Возможно попробую её позже. Когда уже будут твердые базовые навыки у малого.

Посмотри в разделе Упражнения, именно там обучение с нуля.
Упражнения идут в таком порядке:
  • как выполняется программа
  • переменные
  • условия
  • циклы
  • функции(в конце рассматривается рекурсия)
В справке идет немного теории, потом практическое задание.

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

AVL 22.08.2011 16:35

Ответ: С чего начать обучение программированию?
 
А почему не сразу C++? Я в школе изучал QBasic, потом VB, в универе на первом курсе был паскаль. На втором курсе будет C++, я решил на каникулах немного его изучить. Так вот - перейти с бейсика на паскаль было намного проще, чем с паскаля на C++.


Часовой пояс GMT +4, время: 16:04.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot