Re[2]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 12:26
Оценка: +2 :))) :)
Здравствуйте, pestis, Вы писали:

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


Собирать в городской квартире машину тьюринга страшно непрактично: все будут постоянно спотыкаться о бесконечную ленту!
Re[2]: Приобщение школьника к программированию
От: Mr.Delphist  
Дата: 25.04.17 09:30
Оценка: 1 (1) :))) :)
Здравствуйте, pestis, Вы писали:

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


— Он сможет вести нормальную жизнь?
— Нет. Он будет инженером.

https://www.youtube.com/watch?v=Lb2DXL-GCU0
Re: Приобщение школьника к программированию
От: alpha21264 СССР  
Дата: 26.04.17 09:26
Оценка: 20 (2) +1
Здравствуйте, Мемега, Вы писали:

М>Привет всем,


М>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?


М>Жду ваших советов


Я своего школьника приобщал с 7-го класса.
Паскаль.
Писали программу, разгадывающую судоки.
Писали полгода.

Теперь его уже не надо приобщать — сам кого хочешь приобщит.

Течёт вода Кубань-реки куда велят большевики.
Re: Приобщение школьника к программированию
От: pestis  
Дата: 25.04.17 07:26
Оценка: :)))
Здравствуйте, Мемега, Вы писали:

М>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)?


Начинать нужно с реальной машины тюринга, хотя бы из лего, а потом ассемблер, сишечка и протоколы, можно немного крипты.
Re: Приобщение школьника к программированию
От: De-Bill  
Дата: 25.04.17 01:42
Оценка: 12 (2)
М>Жду ваших советов

Pascal + https://www.codingame.com/ + наставничество + интернет.
Re[4]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 12:24
Оценка: 1 (1) +1
Здравствуйте, LaptevVV, Вы писали:

DB>>Хороший не перегруженный язык для изучения базы. К тому же у языка Pascal есть очень хороший и мощный плюс — на нём можно выступать на олимпиадах любого уровня, начиная от школьных, заканчивая IOI.

LVV>Сейчас можно на всем — от Васика до Питона.

Питон, по-моему, ужасен. Он динамически типизованный, и использует отступы для выражения структуры программы. Что может быть хуже значимых пробелов?
Re: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 07:14
Оценка: +2
Здравствуйте, Мемега, Вы писали:

М>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?


Ну Паскаль я бы точно сейчас не посоветовал.

Может, Go?
Re[5]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 15:38
Оценка: +2
Pzz>Питон, по-моему, ужасен. Он динамически типизованный, и использует отступы для выражения структуры программы. Что может быть хуже значимых пробелов?
Преподы, обучающие школьников, думают наоборот!
Значимые пробелы — это прекрасное педагогическое воздействие на неокрпшие умы начинающих программистов.
Пиши с отступами — иначе не будет работать...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 26.04.17 04:13
Оценка: 5 (1)
Тут советовали паскаль.
Как вариант среды могу порекомендовать BlackBox — школьную сборку Федора Ткачева.
На сайте Информатика-21.
Мужик учит именно пятиклассников и специально для своих занятий состряпал в BlacBox себе школьную сборку.
Вообще из паскалевских BlackBox самая простая и все включает. Там прямо в среде куча примеров (в том числе и графика, и формочки),
которые прямо в среде можно запустить и посмотреть.
Да еще сам Ткачев в школьную сборку нужное вставил.
Сниппеты, функциональные клавиши как в ТурбоПаскале сделал.
Для преподав помощь написал.
Примеры программ из ЕГЭ вставил.
Сделал русско-английский переключатель — для новичка важно видеть русский текст.
Если пойдет — переключаемся на английский и пишем.
Можно еще купить книжку Вирта Алгоритмы и структуры данных — там сидюк есть.
На сидюке — куча доков вместе со средой.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Оффтоп
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.04.17 19:56
Оценка: 3 (1)
Здравствуйте, Sharov, Вы писали:

S>Но выше я уже написал, что это язык уровня Эрланга. Т.е. не для новичков. И создавался он для задач, которых Вы предлагаете не касаться.


А что такое "язык уровня Эрланга"? Эрланг, как язык, является языком семества ML, при этом динамически типизованный, что само по себе занятно, и чисто функциональный, в том смысле, что в нем все "переменные" immutable.

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

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

Что делает их языками одного уровня?

S>МИТ перешел, все перешли на питон. Огромная пользовательская база, поэтому новичку будет где подсмотреть. Т.е. особого менторства не надо. Куча онлайн курсов. Мне Го нравится больше.


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

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


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

Pzz>>Кроме того, использование Go позволяет поиграться с многопоточностью очень простым образом, без необходимости сломать себе мозг (многие ли программисты реально умеют писать многопоточные программы?), что само по себе весьма полезно.


S>Если в многопоточность не умеют многие профессиональные программисты, чего уж о новичках говорить


Многопоточность в стиле Тони Хоара — вещь простая для понимания, за то и ценится. Другой вопрос, что в реальной взрослой программе может возникнуть вполне обоснованная потребность отойти от этой модели. Например, из соображений эффективности. Но вот это-то как раз новичку изучать не обязатекльно.
Приобщение школьника к программированию
От: Мемега Литва  
Дата: 24.04.17 19:31
Оценка: +1
Привет всем,

возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?

Жду ваших советов
memega
Отредактировано 24.04.2017 19:32 Мемега . Предыдущая версия .
Re[2]: Приобщение школьника к программированию
От: De-Bill  
Дата: 25.04.17 10:40
Оценка: +1
Pzz>Ну Паскаль я бы точно сейчас не посоветовал.

Хороший не перегруженный язык для изучения базы. К тому же у языка Pascal есть очень хороший и мощный плюс — на нём можно выступать на олимпиадах любого уровня, начиная от школьных, заканчивая IOI.
Re[2]: Приобщение школьника к программированию
От: Мемега Литва  
Дата: 25.04.17 11:28
Оценка: +1
Здравствуйте, pestis, Вы писали:

P>Здравствуйте, Мемега, Вы писали:


М>>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)?


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


Как вариант — начинать с книги Петзольда "Код". Но бпюсь, что ваш набор для пятиклассника слишком трудным выйдет, парень звезд с неба не хватает
memega
Re[6]: Приобщение школьника к программированию
От: De-Bill  
Дата: 25.04.17 11:42
Оценка: +1
LVV>А, понятно.
LVV>У нас городская (или областная?) проходила — разрешали на всем.

Всё сильно зависит от проводящих олимпиады. На некоторых и на PHP разрешают. В любом случае, у Pascal есть целый ряд преимуществ. Он не перегружен библиотеками, в отличие от java и подобных. Он компилируемый, т.е. работает реально в 5-10 раз быстрее, чем python и подобное (а на олимпиадах это важно), он не слишком низкоуровневый, как C, и не слишком высокоуровневый, как python. Плюс к этому статическая типизация, и строгая типизация.
Re[2]: Приобщение школьника к программированию
От: Michael7 Россия  
Дата: 26.04.17 03:05
Оценка: +1
Здравствуйте, pestis, Вы писали:

P>Здравствуйте, Мемега, Вы писали:


М>>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)?


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


Школьнику вначале нужно что-то очень простое, почти что интуитивно ясное, но такое, с чем он очень быстро сможет получить интересный для себя результат. Грузить его машинами Тьюринга — это примерно тоже самое, что начать изучать арифметику в начальной школе с понятия поля в алгебре. Искусственные же системы для детей, чтобы там не пытались придумать выглядит для школьника как игрушка.
Re: Приобщение школьника к программированию
От: Michael7 Россия  
Дата: 26.04.17 03:13
Оценка: +1
Здравствуйте, Мемега, Вы писали:

М>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?


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

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

Если сильно не углубляться — это довольно просто. Заниматься этим можно практически на любом компьютере в любой операционной системе. Результат наблюдаем сразу. Javascript на начальном уровне прост, а начать можно и без. Результатом можно похвастаться. Результат может иметь некоторую практическую ценность. И это воспринимается не как игрушка или что-то отвлеченное и непонятно кому и зачем нужное, вроде написания программ под паскаль, а как младшая ступенька вполне взрослого чего-то, с чем уже имели дело. Сайты в интернете сразу становятся из чего-то абстрактного чем-то более понятным.
Re[11]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 26.04.17 03:15
Оценка: +1
O>Ну почему все хотят сделать их своих детей задротов? Оглянитесь вокруг. Качайте дитю софт скилс, отправляйте на карате, учите математике, логике, языкам.
С карате согласен, а остальное — все в одном флаконе программирования...
И математика, и логика, и языки...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Приобщение школьника к программированию
От: pestis  
Дата: 26.04.17 04:51
Оценка: -1
Здравствуйте, Мемега, Вы писали:

М>Как вариант — начинать с книги Петзольда "Код". Но бпюсь, что ваш набор для пятиклассника слишком трудным выйдет, парень звезд с неба не хватает


Так может если срать не получается и жопу не мучать? Если паренек туповат чтобы работать с абстракциями, пусть спортом занимается, на гитарке лабает или гайки на мотоцикле крутит.
Re: Приобщение школьника к программированию
От: jahr  
Дата: 24.04.17 20:06
Оценка:
Здравствуйте, Мемега, Вы писали:

М>Привет всем,


М>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?


М>Жду ваших советов


https://habrahabr.ru/company/piter/blog/269757/

По Scratch тоже какая-то удачная книжка была, но сейчас что-то не могу найти
Re[2]: Приобщение школьника к программированию
От: es3000  
Дата: 25.04.17 06:48
Оценка:
J>https://habrahabr.ru/company/piter/blog/269757/

Читал, что Minecraft "ломает" психику ребенку.

А тут еще и программирование в Minecraft!
Получается ядреная смесь.

Может быть начать с чего-то типа LightBot:
https://play.google.com/store/apps/details?id=com.lightbot.lightbot
Отредактировано 25.04.2017 6:52 es3000 . Предыдущая версия . Еще …
Отредактировано 25.04.2017 6:48 es3000 . Предыдущая версия .
Re: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 07:16
Оценка:
Вот с этого: http://www.ozon.ru/context/detail/id/35202116/
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Приобщение школьника к программированию
От: Мемега Литва  
Дата: 25.04.17 11:26
Оценка:
Здравствуйте, De-Bill, Вы писали:

М>>Жду ваших советов


DB>Pascal + https://www.codingame.com/ + наставничество + интернет.


Спасибо! А может быть еще и учебник порекомендуете?
memega
Re[2]: Приобщение школьника к программированию
От: Мемега Литва  
Дата: 25.04.17 11:27
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вот с этого: http://www.ozon.ru/context/detail/id/35202116/


Спасибо! Обязательно посмотрю
memega
Re[3]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 11:28
Оценка:
DB>Хороший не перегруженный язык для изучения базы. К тому же у языка Pascal есть очень хороший и мощный плюс — на нём можно выступать на олимпиадах любого уровня, начиная от школьных, заканчивая IOI.
Сейчас можно на всем — от Васика до Питона.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Приобщение школьника к программированию
От: De-Bill  
Дата: 25.04.17 11:31
Оценка:
DB>>Pascal + https://www.codingame.com/ + наставничество + интернет.
М>Спасибо! А может быть еще и учебник порекомендуете?

Нет, учебник не подскажу, так как занимаюсь с ребёнком сам, и вижу, что вызывает трудности, что понятно, а что слишком легко. Поэтому и путь обучения несколько другой, чем в учебнике, а темы зависят от решаемой задачи. Например, ребёнок хорошо понимает рекурсию, подход devide & concure, может написать merge sort с нуля, но не умеет работать с динамической памятью.
Re[4]: Приобщение школьника к программированию
От: De-Bill  
Дата: 25.04.17 11:35
Оценка:
DB>>Хороший не перегруженный язык для изучения базы. К тому же у языка Pascal есть очень хороший и мощный плюс — на нём можно выступать на олимпиадах любого уровня, начиная от школьных, заканчивая IOI.
LVV>Сейчас можно на всем — от Васика до Питона.

Это правила IOI, которая будет проведена в этом году.
Participation
Young people between 14 and 20 who enjoy programming of complex algorithms and who master one of the programming languages C or C++, Java or Pascal.
Re[5]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 11:37
Оценка:
LVV>>Сейчас можно на всем — от Васика до Питона.
DB>Это правила IOI, которая будет проведена в этом году.
DB>Participation
DB>Young people between 14 and 20 who enjoy programming of complex algorithms and who master one of the programming languages C or C++, Java or Pascal.

А, понятно.
У нас городская (или областная?) проходила — разрешали на всем.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Приобщение школьника к программированию
От: Мемега Литва  
Дата: 25.04.17 12:05
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Мемега, Вы писали:


М>>возник вопрос — с чего начать изучение программирования школьнику (5-6 класс)? Сам начинал с турбо паскаля и турбо ассемблера, и книжки Нортона. Но может сейчас стоит что-нибудь посовременнее? Что почитать?


Pzz>Ну Паскаль я бы точно сейчас не посоветовал.


Pzz>Может, Go?


Спасибо, посмотрю, что за штука
memega
Re[3]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 12:14
Оценка:
Здравствуйте, De-Bill, Вы писали:

Pzz>>Ну Паскаль я бы точно сейчас не посоветовал.


DB>Хороший не перегруженный язык для изучения базы. К тому же у языка Pascal есть очень хороший и мощный плюс — на нём можно выступать на олимпиадах любого уровня, начиная от школьных, заканчивая IOI.


У него с реализациями как-то не очень. И нормальной спецификации никогда не было. Фактически, паскаль — это не один стандартный язык, а множество похожих, но несовместимых диалектов.
Re[6]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 16:06
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Пиши с отступами — иначе не будет работать...


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

Все-таки, человеческая голова подходит для более осмысленной работы, чем подсчет пробелов и слежение за типами.
Re[7]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 17:48
Оценка:
LVV>>Пиши с отступами — иначе не будет работать...
Pzz>Мне больше нравится подход golang, когда редактор сам форматирует программу в читабельный вид при первой возможности, и попробуй откажись.
С этим я согласен, но что-то не видать сред для обучения, которые учитывали бы неопытность новичков.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Приобщение школьника к программированию
От: pagid Россия  
Дата: 25.04.17 17:51
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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

В MS Basic такая фигня была, очень неприятная в процессе использования и на мой взгляд вредная в процессе обучения.
Re[8]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 25.04.17 18:57
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Пиши с отступами — иначе не будет работать...

Pzz>>Мне больше нравится подход golang, когда редактор сам форматирует программу в читабельный вид при первой возможности, и попробуй откажись.
LVV>С этим я согласен, но что-то не видать сред для обучения, которые учитывали бы неопытность новичков.

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

Уж не знаю, среда это была, или четверг. А может и вовсе пятница.

Язык назывался Фортран 4, а вычислительная машина — ЕС ЭВМ.

Мне эту программу зачли в качестве решения задачи по матану. Там надо было "подсчитать" сумму последовательности (доказать, что получается 2^100), ну а я подсчитал со всеми знаками
Re[9]: Приобщение школьника к программированию
От: LaptevVV Россия  
Дата: 25.04.17 20:24
Оценка:
Pzz>Я свою первую программу (в школе) написал ручкой на специальном бланке, с которого специально обученные тетеньки перебили ее на перфокарты. Мне потом распечатку принесли. Бланки эти были жутким дефицитом, я их руками по линеечке рисовал под копирку
Pzz>Уж не знаю, среда это была, или четверг. А может и вовсе пятница.
Pzz>Язык назывался Фортран 4, а вычислительная машина — ЕС ЭВМ.
Pzz>Мне эту программу зачли в качестве решения задачи по матану. Там надо было "подсчитать" сумму последовательности (доказать, что получается 2^100), ну а я подсчитал со всеми знаками
Ты не сравнивай наше образование и нынешнее.
Я вообще компьютер первый раз в универе увидел в зимнюю сессию.
Но почему-то ни у кого из нашего набора не было проблем с написанием программ для Минска-22 в машинных кодах.
А потом — на языках высокого уровня, на том же фортране и PL-1.
Вот объясни мне, чем нынешнее обучение в школе отличается от того, когда нас учили?
Почему они приходят ну просто никакие?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Приобщение школьника к программированию
От: opt1k США  
Дата: 26.04.17 00:57
Оценка:
Ну почему все хотят сделать их своих детей задротов? Оглянитесь вокруг. Качайте дитю софт скилс, отправляйте на карате, учите математике, логике, языкам.
Коплю на ланцер
Re[3]: Приобщение школьника к программированию
От: pestis  
Дата: 26.04.17 04:46
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Школьнику вначале нужно что-то очень простое, почти что интуитивно ясное, но такое, с чем он очень быстро сможет получить интересный для себя результат. Грузить его машинами Тьюринга — это примерно тоже самое, что начать изучать арифметику в начальной школе с понятия поля в алгебре. Искусственные же системы для детей, чтобы там не пытались придумать выглядит для школьника как игрушка.


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

А вот подход "ребенку будет интереснее написать игру на питоне или мод для майнкрафта" ни к чему хорошему не приведет. Игру писать долго и нудно, а в результате она все равно получится говном и ребенок быстро потеряет интерес ко всей этой богадельне.
Re[3]: Приобщение школьника к программированию
От: pestis  
Дата: 26.04.17 04:48
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Собирать в городской квартире машину тьюринга страшно непрактично: все будут постоянно спотыкаться о бесконечную ленту!


Есть реализации и на конечной ленте. К тому же сделать эмуляцию бесконечной ленты для нормального инженера не составит труда.
Re[4]: Приобщение школьника к программированию
От: Michael7 Россия  
Дата: 26.04.17 05:05
Оценка:
Здравствуйте, pestis, Вы писали:

P>Вот как раз машина тюринга это простое, интуитивно ясное и с ней можно играть. Поэтому для ребенка это самое оно. Естественно, псевдонаучную заумь в стиле лекций для первого курса можно и нужно заменить на нормальное объяснение "для пятиклассника".


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

P>А вот подход "ребенку будет интереснее написать игру на питоне или мод для майнкрафта" ни к чему хорошему не приведет. Игру писать долго и нудно, а в результате она все равно получится говном и ребенок быстро потеряет интерес ко всей этой богадельне.


Кто-то уже предлагал, что если начать с написания в редакторе html-страницы и javascript? Это хорошо тем, что позволяет в самом начале не углубляться в заумь, браузеры прощают поначалу даже грубые ошибки (лишь бы это в стиль не превратилось). Есть интересный и притом "настоящий компьютерный" результат.
Re[5]: Приобщение школьника к программированию
От: De-Bill  
Дата: 26.04.17 05:16
Оценка:
M>Кто-то уже предлагал, что если начать с написания в редакторе html-страницы и javascript? Это хорошо тем, что позволяет в самом начале не углубляться в заумь, браузеры прощают поначалу даже грубые ошибки (лишь бы это в стиль не превратилось). Есть интересный и притом "настоящий компьютерный" результат.

Думаю, что это очень плохой подход. При обучении математике детям никогда не дают примеры и задачи, которые надо решать в 10-20 строк. Так как мозг неподготовленного человека запутается в своём же решении. Представляющая интерес HTML страница будет занимать несколько экранов, при этом назначения большинства элементов будут непонятным.
Re[5]: Приобщение школьника к программированию
От: De-Bill  
Дата: 26.04.17 05:24
Оценка:
M>Кто-то уже предлагал, что если начать с написания в редакторе html-страницы и javascript? Это хорошо тем, что позволяет в самом начале не углубляться в заумь, браузеры прощают поначалу даже грубые ошибки (лишь бы это в стиль не превратилось). Есть интересный и притом "настоящий компьютерный" результат.

Добавлю. HTML+javascript ещё плохо тем, что разработка на этом добре — это применение "рецептов". Нет простой и конечной модели атрибутов, тегов, операций, с помощью которых можно сделать всё что угодно. В итоге — это не программирование и мышление а поиск рецептов в google.
Re[6]: Приобщение школьника к программированию
От: Michael7 Россия  
Дата: 26.04.17 06:38
Оценка:
Здравствуйте, De-Bill, Вы писали:

DB>Думаю, что это очень плохой подход. При обучении математике детям никогда не дают примеры и задачи, которые надо решать в 10-20 строк. Так как мозг неподготовленного человека запутается в своём же решении. Представляющая интерес HTML страница будет занимать несколько экранов, при этом назначения большинства элементов будут непонятным.


Какие там 20 строк, одна строчка типа <h1>Привет!</h1> уже может порадовать. Простейшие программы на javascript тоже пишутся в несколько строк и без понимания про модели документов и т.п. Я просто не знаю, что еще бы из современного могло быть вот так сразу заработать и чтобы это не было спецсредой для обучения или чем-то консольным. Спецсреда оторвана от реальности, а консольное слишком сурово в эпоху планшетов и смартфонов.
Re[2]: Приобщение школьника к программированию
От: Sharov Россия  
Дата: 26.04.17 12:34
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Может, Go?


С нуля? 10-11 летним? Надеюсь, это шутка была...
Кодом людям нужно помогать!
Re[3]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.04.17 15:00
Оценка:
Здравствуйте, Sharov, Вы писали:

Pzz>>Может, Go?


S>С нуля? 10-11 летним? Надеюсь, это шутка была...


А чем, собственно, Go хуже питона или паскаля?
Re[4]: Приобщение школьника к программированию
От: Sharov Россия  
Дата: 26.04.17 16:59
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Sharov, Вы писали:


Pzz>>>Может, Go?


S>>С нуля? 10-11 летним? Надеюсь, это шутка была...


Pzz>А чем, собственно, Go хуже питона или паскаля?


Он как бэ сложней, и я бы не сказал, что это язык "общего пользования". Это язык для всяческих параллельных активностей и организации их взаимодействия. Он конкурирует с эрлангом, растом и т.д. Эрланг явно на язык для ознакомления не тянет. Плюс синтаксис у Го не самый удачный, на мой взгляд. Я бы начал либо с питона -- куча курсов для всех уровней, либо с Паскаля -- классика, мой первый язык в вузе.
Кодом людям нужно помогать!
Re[8]: Приобщение школьника к программированию
От: Слава  
Дата: 26.04.17 17:21
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Пиши с отступами — иначе не будет работать...

Pzz>>Мне больше нравится подход golang, когда редактор сам форматирует программу в читабельный вид при первой возможности, и попробуй откажись.
LVV>С этим я согласен, но что-то не видать сред для обучения, которые учитывали бы неопытность новичков.

Что же это за среда должна быть? С несколькими разными интерфейсами, разной степени детальности? И вероятно с учебным курсом, который состоит не из одной линии обучения, а из нескольких — для учащихся разного уровня.
Re[5]: Приобщение школьника к программированию
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.04.17 17:23
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Он как бэ сложней, и я бы не сказал, что это язык "общего пользования". Это язык для всяческих параллельных активностей и организации их взаимодействия. Он конкурирует с эрлангом, растом и т.д. Эрланг явно на язык для ознакомления не тянет. Плюс синтаксис у Го не самый удачный, на мой взгляд. Я бы начал либо с питона -- куча курсов для всех уровней, либо с Паскаля -- классика, мой первый язык в вузе.


Он как бэ сложный в некоторых местах, а в основном — наоборот, очень простой.

И если этих мест не касаться, то эта сложность из него не прет.

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

Что до паскаля, он 1) мертв 2) нет такого языка "паскаль", есть много несовместимых диалектов, и все они более-менее мертвы 3) в синтаксисе его есть забавные ошибки. Например, то, что вызов функции без параметров синтаксически неотличим от получения значения переменной, это очень само по себе мило, и, если не ошибаюсь, имеет интересное последствие в виде того, что функция не может вернуть указатель на функцию, потому что если она его вернула, и он без параметров, то как понять в точке вызова, он сам нам нужен, или результат вызова этой функции?

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

Что до синтаксиса Го, лично мне он очень нравится, но это вопрос вкуса. И очень нравится его совершенно концлагерная среда разработки, навязывающая один единственный идеологически верный стиль форматирования текста, не прощающая лишних или недостающих запятых и неиспользуемых импортов и переменных, хотя первые два дня меня это сложно передать, как раздражало. Наверное, это стокгольмский синдром
Re[6]: Оффтоп
От: Sharov Россия  
Дата: 26.04.17 18:41
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Sharov, Вы писали:


S>>Он как бэ сложней, и я бы не сказал, что это язык "общего пользования". Это язык для всяческих параллельных активностей и организации их взаимодействия. Он конкурирует с эрлангом, растом и т.д. Эрланг явно на язык для ознакомления не тянет. Плюс синтаксис у Го не самый удачный, на мой взгляд. Я бы начал либо с питона -- куча курсов для всех уровней, либо с Паскаля -- классика, мой первый язык в вузе.


Pzz>Он как бэ сложный в некоторых местах, а в основном — наоборот, очень простой.


Pzz>И если этих мест не касаться, то эта сложность из него не прет.


Я не против Го, сам его пытаюсь изучать. Во всяком случае, это следующий язык, после js, в который я инвестирую свое время. Всякие C# версии 78 мне уже не так интересны.

Но выше я уже написал, что это язык уровня Эрланга. Т.е. не для новичков. И создавался он для задач, которых Вы предлагаете не касаться.

Pzz>Питон, на мой взгляд, вообще плохо подходит для обучения. Во-первых, я не люблю динамически типизованных языков, хотя готов согласиться с тем, что это мое личное мнение. Во-вторых, его стиль жизни предполагает активное использование миллиона доступных для него библиотек на все случаи жизни, а в них надо уметь ориентироваться, а это как-бы не совсем для начинающих. В третьих, его идеомы включают в себя весьма нетривиальные штучки из функционального программирования, а с этим я бы тоже не стал торопиться. Ну и тех, кто использует отступы вместо begin/else или фигурных скобок — я бы с такими людьми плохо поступил, будь моя воля


МИТ перешел, все перешли на питон. Огромная пользовательская база, поэтому новичку будет где подсмотреть. Т.е. особого менторства не надо. Куча онлайн курсов. Мне Го нравится больше.

Pzz>Что до паскаля, он 1) мертв 2) нет такого языка "паскаль", есть много несовместимых диалектов, и все они более-менее мертвы 3) в синтаксисе его есть забавные ошибки. Например, то, что вызов функции без параметров синтаксически неотличим от получения значения переменной, это очень само по себе мило, и, если не ошибаюсь, имеет интересное последствие в виде того, что функция не может вернуть указатель на функцию, потому что если она его вернула, и он без параметров, то как понять в точке вызова, он сам нам нужен, или результат вызова этой функции?


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

Pzz>Кроме того, использование Go позволяет поиграться с многопоточностью очень простым образом, без необходимости сломать себе мозг (многие ли программисты реально умеют писать многопоточные программы?), что само по себе весьма полезно.


Если в многопоточность не умеют многие профессиональные программисты, чего уж о новичках говорить
Кодом людям нужно помогать!
Re[8]: Оффтоп
От: Sharov Россия  
Дата: 26.04.17 20:14
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Sharov, Вы писали:


S>>Но выше я уже написал, что это язык уровня Эрланга. Т.е. не для новичков. И создавался он для задач, которых Вы предлагаете не касаться.


Pzz>А что такое "язык уровня Эрланга"? Эрланг, как язык, является языком семества ML, при этом динамически типизованный, что само по себе занятно, и чисто функциональный, в том смысле, что в нем все "переменные" immutable.


Pzz>Go, в то же время, является строго типизованным императивным языком из семейства Си, в котором есть чуть-чуть функциональщины в виде замыканий, причем никто не заставляет ими пользоваться, а immutable данных в нем нет вообще.


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


Pzz>Что делает их языками одного уровня?


Они "призваны" решать один класс задач. Они, если угодно, конкуренты. Решают они эти задачи, как выше уже описано, совершенно по-разному, но задачи, породившие эти языки, крайне близки, до степени неразличимости.
Для меня советовать Го это как советовать Эрланг. Да можно и с Хаскеля начать. А че такова?
Кодом людям нужно помогать!
Re[9]: Оффтоп
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.04.17 20:26
Оценка:
Здравствуйте, Sharov, Вы писали:

Pzz>>Что делает их языками одного уровня?


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


Что значит, "призваны"? Go — это язык из мира веба, а ерланг — из мира телекома. Это совершенно разные миры с совершенно разными задачами и взглядами на жизнь.

S>Для меня советовать Го это как советовать Эрланг. Да можно и с Хаскеля начать. А че такова?


Я советую исходя из того, каков сам язык, а не что о нем думают маркетологи. Эрланг, как язык, гораздо ближе к Хаскелю, чем к Го.
Re[10]: Оффтоп
От: Sharov Россия  
Дата: 27.04.17 11:17
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Sharov, Вы писали:


Pzz>>>Что делает их языками одного уровня?


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


Pzz>Что значит, "призваны"? Go — это язык из мира веба, а ерланг — из мира телекома. Это совершенно разные миры с совершенно разными задачами и взглядами на жизнь.


Общее в их природе -- языки создавались под нагруженные задачи. Что веб, что телеком обработка огромного числа запросов одновременно. Это их фундаментально общее. Подход к решению задачи разный, да.
Кодом людям нужно помогать!
Re[11]: Оффтоп
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.04.17 11:24
Оценка:
Здравствуйте, Sharov, Вы писали:

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


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

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

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

Когда телефонная станция не работает полдня, об этом вряд ли напишут в газете. Когда пару часов не работает гугль или скайп, об этом и по телевизору расскажут (если телевизор заодно не перестанет работать).
Re[12]: Оффтоп
От: Sharov Россия  
Дата: 27.04.17 11:29
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Sharov, Вы писали:


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


Pzz>У них даже взгляды на то, что должно происходить, если нагрузка превышает рассчетную, разные.


И? Ну да, дьявол в деталях. Но для меня это сути не меняет.
Кодом людям нужно помогать!
Re[3]: Приобщение школьника к программированию
От: yenik  
Дата: 29.04.17 05:39
Оценка:
P>>Начинать нужно с реальной машины тюринга, хотя бы из лего, а потом ассемблер, сишечка и протоколы, можно немного крипты.

М>Как вариант — начинать с книги Петзольда "Код". Но бпюсь, что ваш набор для пятиклассника слишком трудным выйдет, парень звезд с неба не хватает


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

print 'Hello world!'

Паскаль хорош в качестве второго языка программирования.
Re[4]: Приобщение школьника к программированию
От: cures Россия cures.narod.ru
Дата: 30.04.17 13:40
Оценка:
Здравствуйте, yenik, Вы писали:

Y>Моё мнение — только не Паскаль, он слишком сложен.


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

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


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

Y> ПривеМир должен выглядеть примерно так:


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

Y>Паскаль хорош в качестве второго языка программирования.


Это раньше был, когда плюсы на 8086 еле ворочались. Сейчас они стали лучшим вторым языком.
На самый крайний случай вторым можно взять Питон — это современный бейсик с человеческим лицом.
Кто советует на Паскале на олимпиадах выступать — пусть сам каждый раз любую сортировку, не говоря уже о всяких деревьях, руками пишет. А учить сначала его, чтобы к олимпиадам перейти на нормальный язык — это уже слишком хитрая многоходовочка.
Re[7]: Приобщение школьника к программированию
От: VladiCh  
Дата: 30.04.17 19:23
Оценка:
Здравствуйте, De-Bill, Вы писали:

LVV>>А, понятно.

LVV>>У нас городская (или областная?) проходила — разрешали на всем.

DB>Всё сильно зависит от проводящих олимпиады. На некоторых и на PHP разрешают. В любом случае, у Pascal есть целый ряд преимуществ. Он не перегружен библиотеками, в отличие от java и подобных. Он компилируемый, т.е. работает реально в 5-10 раз быстрее, чем python и подобное (а на олимпиадах это важно), он не слишком низкоуровневый, как C, и не слишком высокоуровневый, как python. Плюс к этому статическая типизация, и строгая типизация.


"Не перегружен библиотеками" — это как раз минус.
Стандартные структуры данных — делай сам вместо использования чего-нибудь библиотечного.
С точки зрения самообразования это может быть и хорошо, но для олимпиады как правило не очень.
Re[8]: Приобщение школьника к программированию
От: De-Bill  
Дата: 02.05.17 01:26
Оценка:
VC>"Не перегружен библиотеками" — это как раз минус.
VC>Стандартные структуры данных — делай сам вместо использования чего-нибудь библиотечного.
VC>С точки зрения самообразования это может быть и хорошо, но для олимпиады как правило не очень.

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