Re[2]: Какой язык программирования нужно изучать в школе
От:
Аноним
Дата:
17.01.12 10:34
Оценка:
Доктор ТуамОсес: "Ну если уж и изучать в школе какой-нибудь ЯВУ, то это должен быть какой-нибудь Пролог или ЛИСП. Т.е. языки для разработки искусственного интеллекта"
Re[2]: Какой язык программирования нужно изучать в школе
Здравствуйте, Sinclair, Вы писали:
S>Вот это и есть главный источник азарта: ты чего-то пишешь, какие-то буковки, а потом запускаешь — и оно рисует ракету! S>Имхо, ребёнку важно получить некоторый результат своего труда. И уроки программирования должны давать это почувствовать.
Лого? Имеет смысл для начальной школы.
Re: Какой язык программирования нужно изучать в школе
В школе изучать C++? Что, простите? Теперь что, каждый человек, закончивший среднюю школу, будет знать C++?
Сдается мне, это стеб.
Да и зачем всем подряд изучать программирование? Чтобы оно совсем превратилось в доширачную профессию?
При этом я думаю, что и так главная проблема в современном программировании — недоученные программисты. Да, давайте еще подбавим безграмотных самоучек.
Re: Какой язык программирования нужно изучать в школе
Для начала выскажу основной тезис, от которого можно дальше плясать:
Цель обучения в школе или вузе — не научить человека делать что-то конкретное, а научить его думать в правильном направлении.
Школы бывают разные, и программирование в них тоже можно изучать по-разному.
1) Для особо интересующихся (т.е. для спецшкол, специализированных классов в школе или каких-нибудь факультативных занятий)
Вот, например, последние два класса я учился не в обычной школе, а в специализированном лицее с уклоном в ИТ (было это в середине 90-х, ИТ были тогда не так развиты, но значительный интерес к ним уже наблюдался). Там применялся такой подход, который я считаю очень правильным.
Сначала программирование объясняли на простеньком эмуляторе. Этакая виртуальная машина, которая умела выполнять 16 команд и имела чуть-чуть памяти. Дальше изучали обычный Си — ваяли на нем всякие небольшие программки а-ля игра "жизнь". И под конец изучали ассемблер x86 (естественно, в самом упрощенном виде — основные команды, только самые простые программы). Такой метод обучения хорошо способствует пониманию "откуда ноги растут".
2) Для всех (т.е. для обычного класса в обычной школе)
Тут на уроках информатики основной упор делается не на программирование, а на работу на уровне пользователя. Т.е. по-хорошему ученик должен уверенно освоиться с такими понятиями как "приложение", "окно", "файл" и т.п., не пугаться компьютера и не воспринимать его как непонятную шайтан-машину.
И с языком программирования тут несколько сложнее. Давать какой-то "игрушечный" язык типа Лого с рисующей черепашкой? Плохо, потому что с реальной жизнью вообще никак не стыкуется. Какой-то "нормальный" язык типа Паскаля? Тоже не очень, потому что многие так сразу не поймут.
Плюс еще, что важно — чтобы ученик, придя домой, мог на домашнем компе попробовать что-то из того, что изучил в школе.
Поэтому, я считаю, для начального обучения программированию идеально подошел бы какой-нибудь скриптовый язык ОС. Соответственно, задания могут быть такими: насоздавали в ворде файлов, сохранили, потом написали скриптик, который эти файлы разложит по нескольким директориям по какому-то хитрому критерию. Плюс к этому написать какой-то "фреймворк" — напирмер, рисовалку, которую можно вызывать из командной строки с параметрами и таким образом из скрипта дергать графику.
Но какой именно скриптовый язык — тут проблема, все имеют свои недостатки. Досовские bat-файлы? Слишком мало возможностей; что-то путное на них сделать, конечно, можно, но приходится много думать и извращаться — как уложить свой алгоритм в ограничения синтаксиса. bash? Но линуксовые системы изучаются далеко не во всех школах, да и синтаксис довольно экзотический. WSH? Есть риск закопаться в API. PowerShell? Чересчур сложно для начинающих и далеко не везде есть. В общем, надо как-то выбрать меньшее из этих зол
А вот дальше, например, в следующем классе, после того, как ученик освоился и научился скриптики писать — можно уже давать Паскаль, Си или что-то подобное
Re[2]: Какой язык программирования нужно изучать в школе
А>>Эпический ср^H^Hдискуссия на хабре: http://habrahabr.ru/blogs/study/136272/ LVV>Давать нужно современный компонентный паскаль в замечательной среде: школьной сборке от Ткачева. LVV>Школьное обучение не должно ставить цель профессионального обучения программиста. LVV>Только основы — чтобы понять принципы. LVV>И развитие мозгов. Программирование для этого подходит как нельзя лучше. LVV>А в школьной сборке Ткачевым учтен опыт обучения пятиклассников! LVV>Впервые в России (и как бы не в мире). LVV>И достаточно успешный опыт, между прочим.
Опыт обучения детей учтен в Scratch'e. И я сильно сомневаюсь пользе компонентного Паскаля в како-либо сборке.
Здравствуйте, Mamut, Вы писали:
А>>>Эпический ср^H^Hдискуссия на хабре: http://habrahabr.ru/blogs/study/136272/ LVV>>Давать нужно современный компонентный паскаль в замечательной среде: школьной сборке от Ткачева. LVV>>Школьное обучение не должно ставить цель профессионального обучения программиста. LVV>>Только основы — чтобы понять принципы. LVV>>И развитие мозгов. Программирование для этого подходит как нельзя лучше. LVV>>А в школьной сборке Ткачевым учтен опыт обучения пятиклассников! LVV>>Впервые в России (и как бы не в мире). LVV>>И достаточно успешный опыт, между прочим.
M>Опыт обучения детей учтен в Scratch'e. И я сильно сомневаюсь пользе компонентного Паскаля в како-либо сборке.
Дело в том, что означенную систему некоторые НЕ программисты, тусующиеся на oberoncore.ru, рассматривали. Пробовали.
И мнение сложилось такое. Да, интересно. Один день. Потом сильно надоедает, как яркая игрушка.
То есть, перебрали в этой системе с завлекательностью.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Какой язык программирования нужно изучать в школе
M>>Опыт обучения детей учтен в Scratch'e. И я сильно сомневаюсь пользе компонентного Паскаля в како-либо сборке. LVV>Дело в том, что означенную систему некоторые НЕ программисты, тусующиеся на oberoncore.ru, рассматривали. Пробовали. LVV>И мнение сложилось такое. Да, интересно. Один день. Потом сильно надоедает, как яркая игрушка. LVV>То есть, перебрали в этой системе с завлекательностью.
M>>>Опыт обучения детей учтен в Scratch'e. И я сильно сомневаюсь пользе компонентного Паскаля в како-либо сборке. LVV>>Дело в том, что означенную систему некоторые НЕ программисты, тусующиеся на oberoncore.ru, рассматривали. Пробовали. LVV>>И мнение сложилось такое. Да, интересно. Один день. Потом сильно надоедает, как яркая игрушка. LVV>>То есть, перебрали в этой системе с завлекательностью.
M>Были ли среди этих непрограммистов дети?
У одного мужика, который сам пробовал и детям подсунул. Но дети были уже большие — выпускной класс...
Говорят — не фонтан. Интересно первое время, но надоедает быстро.
Может быть, надо было раньше пробовать? Классе в 5-6-7 максимум?
Ткачев вполне успешно пятиклашек обучал — богатый опыт описал на сайте информатики-21.
Он на основании обучения пятиклашек и сделал вывод о необходимости русского языка.
Собственно, школьная сборка появилась как результат этого опыта.
ИМХО, работа — отличная. А главное — в рамках одной среды = все в одном.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Какой язык программирования нужно изучать в школе
M>>Были ли среди этих непрограммистов дети? LVV>У одного мужика, который сам пробовал и детям подсунул. Но дети были уже большие — выпускной класс... LVV>Говорят — не фонтан. Интересно первое время, но надоедает быстро. LVV>Может быть, надо было раньше пробовать? Классе в 5-6-7 максимум?
Ну, Scratch как раз для достаточно маленьких детей, хотя у них на сайте написано 8-6 лет
LVV>Ткачев вполне успешно пятиклашек обучал — богатый опыт описал на сайте информатики-21. LVV>Он на основании обучения пятиклашек и сделал вывод о необходимости русского языка. LVV>Собственно, школьная сборка появилась как результат этого опыта. LVV>ИМХО, работа — отличная. А главное — в рамках одной среды = все в одном.
Ну, возможно, хотя я достаточно скептически к этому отношусь.
Python будет в самый раз. Минимум синтаксических заморочек. Нет притянутости за уши к ООП, т.е. не надо для hello world создавать класс, чтобы спрятать в него какой-нибудь public static void main(String[] args). Нет возни с указателями.
На Python можно на пальцах показать и модульность (настоящую), и интроспекцию, и ООП, и потуги на функциональное программирование.
Re: Какой язык программирования нужно изучать в школе
Поверьте моему опыту. В школе не нужно преподавать устаревшие языки программирования. От этого ученики начинают ненавидеть предметы информатики и вычислительной техники. Язык программирования должен быть не сложный и в тоже время, современным. Учеников нужно заинтересовать предметом и они его будут изучать с удовольствием.
Одним из лучший языков программирования для изучения в школе я считаю PureBasic, потому что он обладает всеми необходимыми качествами — простотой и увлекательностью для учащихся. Для него имеются компиляторы под многие системы в том числе и бесплатные (Linux) что актуально в наших школах.
Re[3]: Какой язык программирования нужно изучать в школе
Здравствуйте, abibok, Вы писали:
A>Либо что-то совсем примитивное для иллюстрации работы циклов, условий и вызова функций. Либо вообще ничего. Учить школьников промышленному программированию — вредительство. Вместо этого их нужно учить прикладной информатике и общей компьютерной грамотности (интернет, офис, простейший графический редактор, умение пользоваться инфраструктурой — Wi-Fi, принтер, сканер, факс).
Это-то вообще зачем? Детки прекрасно разбираются в своих смартфонах, не требуя, чтоб их обучали. Как раз уровень офиса-принтера-сканера, не говоря уж про Wi-Fi . Боюсь, тут речь идет о праве гордо заявлять: "не знаю вашего ?&*((& офиса, в школе не учили".
Re[2]: Какой язык программирования нужно изучать в школе
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Эпический ср^H^Hдискуссия на хабре: http://habrahabr.ru/blogs/study/136272/
А>В рамках общей програмы, древнию асемблероподобоную версию Бейсика, ну там где GOTO 110, GOSUB 2020 и т.д. и т.п.
В наши дни Питон для этого есть. Конструкция
>>> "улыбок тебе казак"[::-1]
Всем же понравится.
Re: Какой язык программирования нужно изучать в школе
Помнится, мы в школе начинали изучать с Бейсика.
И кстати не зря, гениальный ведь язык был: простой, понятный, абсолютно ничего лишнего. Надо например, нарисовать окружность — ввел CIRCLE 100,100,100 и все, никаких циклов обработки сообщений и освобождений контекста устройства И что важно заметить, для компьютеров того времени и их возможностей, язык был вполне современный.
Имхо, современный язык должен быть:
— простым и позволяющий быстро получить результат с минимумом кода
— современным: ученик должен не писать нечто в древней консоли или самопальной среде, а иметь возможность получить результат в виде полноценной программы, которую можно запустить, показать друзьям и пр
— (как следствие предыдущего пункта) должна быть минимальная поддержка объектов, позволяющих использовать компоненты GUI хотя бы на базовом уровне (нарисовали кнопку, картинку, кликнули, добавился обработчик). Разумеется никаких конструкторов/деструкторов для начала, а что-то базовое и полуавтоматическое, типа есть объект label1, написали label1.caption = "Hello World", поменяли текст.
В общем, вырисовывается что-то типа Visual Basic, C# или что-то в этом роде, может с каким-то упрощенным интерфейсом, не знаю, существуют ли какие-то "школьные" версии.
Кстати. Ребенок в 7м классе, программирования у них нет совсем, на информатике только основы работы с ПК (файлы, папки, Ворд, Фотошоп и пр).
Re: Какой язык программирования нужно изучать в школе
Смысл изучения языка программирования в школе вообще не понятен, учитывая, что большей части деток все что светит с современными тенденциями — это потребление контента, из серии планшетов и игровых приставок.
Re[4]: Какой язык программирования нужно изучать в школе
Здравствуйте, Alexey931, Вы писали:
A>Это-то вообще зачем? Детки прекрасно разбираются в своих смартфонах, не требуя, чтоб их обучали. Как раз уровень офиса-принтера-сканера, не говоря уж про Wi-Fi . Боюсь, тут речь идет о праве гордо заявлять: "не знаю вашего ?&*((& офиса, в школе не учили".
Нихрена они не разбираются. Запустить игрушку, — все что они разбираются. А почему вот тут диаложек от системы с ошибкой выскакивает — они даже не думают о этом, быстренько на ок жмут, и все. Уживаются с вирусами, а не удаляют их, ну и т.д. и тп.
Re[3]: Какой язык программирования нужно изучать в школе
Здравствуйте, LaptevVV, Вы писали:
LVV>Во интересно, а почему же математику дают "для общего развития" фиг знает сколько! LVV>Все эти уравнения, системы уравнений, синусы, косинусы... А раньше еще и производные с интегралами... LVV>А еще геометрия отдельно есть — во укак!
А я кстати, тоже не понимаю, зачем ее столько. У меня большинство знакомых с вышкой даже школьного курса математики не помнят(кроме первых классов 4, максимум 5), потому что после школы и универа "сдали на пять свои знания преподу", выдохнули, и в реально жизни вообще никак и нигде этих знаний не применяли(и применять не будут), за сим все забылось очень быстро.
Re[4]: Какой язык программирования нужно изучать в школе