Pull to refresh

Comments 46

Есть сомнения в целесообразности изучения Java-script/Ajax в 9 классе школы. Думаю, что за 12, и даже за 24 урока школьники не проникнутся ни жаба-скриптом ни, тем более, айяксом.
JavaScript имхо необходим к изучению сразу после изучения HTML. А вот Ajax, конечно, будет актуален только после PHP
вот алгоритмизацию с легкостью можно давать на питоне, его синтаксис вкупе с модулем для мат вычислений этому способствует.
Хорошое пособие по питону на русском языке? Плииз!;)
А разве не правильней изучать ajax в связке с php, чтобы сразу показать деткам как оно все вместе уживается?
Изучать алгоримизацию на Паскале… Я конечно понимаю, что возможностей языка для этого хватает, что куча литературы, но на дворе 21 век. Мне всегда казалось что лучше учить на том языке, который больше пригодится. Например, на яве, С#, питоне.
Извините, но это бред. Надо начинать с процедурного программирования на том же Паскале или на С/С++ хотя бы. Иначе у вас получаются обычные быдлокодеры, которые ничего кроме слова «объект» не знают.
Сам учусь на педагога. За время обучения я прекрасно понял, что голые алгоритмы интересны только ограниченному кругу учащихся (это с любой теорией). Гораздо проще заинтересовать аудиторию, если использовать современные средства и реальные задачи. Такой курс построить сложнее, но он намного эффективнее. При этом новые знания нужно подавать не как основной материал, а как средства решения задачи.
А исполнители куда у вас делись? Вопрос в том, что учить надо не с 9 класса, когда уже не на уме, а… :), а с 5-6 го, тогда к 9 классу можно пересесть на Pascal, C, Python и кучу других языков.
Легко и просто показать им эффект генерения огня на том же паскале. Даже, как это ни показалось бы смешным, в 320х200 до сих пор выглядит отлично. А сие есть пример усреднения. Причем можно тут же проводить эксперименты на различные веса точек усреднения. И уже неважно — что это Паскаль :)

Есть ли примеры из современного серьёзнго «энетрпрайз» программирования, которые бы не были абстрактной мегатонной кода и могли бы вживую изучаться в условиях школы/курсов/etc?
Взять тот же С#, тоже легко привести пример с огнем, но используя уже современные средства.
Естественно. Можно на чем угодно, главное чтобы задача не была монстром как многие «современные реальные задачи».
Если обучаемый заинтересуется (а это вообщемто главня цель) и начнет копать дальше самостоятельно, то ему будет проще это сделать. Рано или поздно придется переходить на современные средства, придется немного переучиваться, а здесь он уже будет знать инструмент и сможет сосредоточиться непосредственно на программировании.

К тому же, современные средства более удобны. У нас в университете обучение программистов никакое, начали с паскаля, никто толком ничего не понял. Слудующий семестр начали изучать Delphi (хорошо что хотябы его), народ почувствовал, что может уже создать что-то напоминающее нормальные приложения и заинтересовался. Поигравшись с перетаскиванием контролов по форме, некоторые стали писать что-то свое. Заинтересовав таким образом, можно потом уже копать глубже.
Вопрос не столько в языке, сколько в IDE. Когда человек может писать на синем экране, максимально сокращая имена переменных (писать лень, а автозаполнения нет), постоянно мотая экран туда сюда — толк от этого может и есть, а вот желание программировать убивает напрочь. Я в своё время терпел паскаль исключительно потому, что догадался писать код в Notepad++, и мне не пришлось терпить убогий интерфейс 15-летней давности.
UFO landed and left these words here
Аякс — это просто такая технология посылания асинхронных запросов. Аяксу вообще по большому счету плевать что там в бекэнде — php, java, xml в файлах или json в тех же файлах.

А вот показать как правильно ей пользоватся, этой технологией, уже возможно только на более мение грамотной системе где и бэкэнд на уровне и фронтэнд не отстает. А тут уже нужны другие базовые знания, которых у школьников и студентов мало вообщем-то…
Ну вот зачем в школе ajax, mysql, html? Про основы алгоритмов и принципы учить надо, на основе того же паскаля, который для этих целей создавался.
Это дополнительное образование. Для желающих. Желающих масса, а учат их в большей части всякой ерунде, по принципу «Я вчера прочел/прочла книгу „HTML для идиотов“ а сегодня расскажу вам первые 2 страницы»
В сторону Scheme или Lisp смотрели?
Ага а у нас учитель по информатке имел примерно такой план:

*9-11 классы:
Двоичная система счисления; Дать детишкам поиграть в cs.

:)
Мне все больше кажется, что это негласная образовательная программа по всей России.
Еще опционально сюда добавляется MS Office.
Ну да — Pascal и иже с ними туда обычно и не добираются :(
Javascript отнюдь не так прост, как многим кажется. Не стоит давать его как один из первых языков. Он серъёзно отличается от самых популярных языков (отсутсвие классов, замыкания, прототипы). Давать его вы будете, наверное, на уровне несложной манипуляции с DOM, поэтому у школьников сформируется превратное представление об этом красивом языке.
Это действительно большая проблема?
На уровне «куроводства» нельзя давать Javascript?
Вобще то я за эту тему взялся, чтобы дать альтернативу написанию HTML на FrontPage.
Если Вы про куроводство от Котерова — то нет.
«Нет» — в смысле «нельзя», или «нет» в смысле «не нельзя»??? ;)
Но для написания хороших сайтов JavaScript не является обязательным! Для хорошего сайта главное — это контент, и во вторую очередь дизайн, и уже только потом всякие «удобности». Например, я бы абсолютно не расстроился, если бы на хабре для написания комментариев открывалась отдельная страница, а не яваскриптом формочка отображалась; это абсолютно не важно, так как посетитель приходит на сайт за контентом. Если это объяснить детям, они это поймут, не глупые ведь.

А JavaScript это действительно «самый недооценённый язык в мире». Все думают, что он очень простой, но на самом деле в нём слилось столько различных концепций и парадигм, и для полноценного понимания всего этого нужен существующий опыт или время на полноценное изучение. К сожалению, многие, кто пишет на JavaScript, тоже не знают действительную мощь языка и даже половину его возможностей.

У вас почему-то все языки императивные и со строгой типизацией (Pascal, C, C++). Какой в этом смысл? Паскаль как песочница для алгоритмов возможно ещё ничего (хотя есть лучшие альтернативы). Но Си… Мне честно очень интересно, все ли понимают, что такое указатель? Как работает механизм препроцессора? Что такое статическая память? Как объявить переменную типа «указатель на массив из пяти int»? Си это сложный язык и изучать его поверхностно просто вредно. Ученику может быть многое непонятно если он не знает как работает микропроцессор (например, что отрицательные числа представляются в дополнительном коде; как происходит вызов функций). Программирование может превратиться в программирование перестановками en.wikipedia.org/wiki/Programming_by_permutation Про сложность C++ вообще не хочется вспоминать. «C/C++» вообще нельзя писать, это два разных языка с разной идеологией. То, что хорошо в Си, может быть плохим тоном в C++, и наоборот. C++ это не Си, в который добавили ключевое слово class.

Я думаю, что хорошим первым языком является Scheme. Посмотрите SICP и HtDP. Изучение Паскаля и Си на 90% является изучением синтаксиса и борьбой с компилятором чтобы тот «разрешил» наконец запустить программу. Синтаксис Scheme настолько простой и однородный, что его можно объяснить за 10 минут. Уже через 30 минут обучаемый под руководством преподавателя может написать небольшую процедуру, вычисляющую что-то околоматематическое. Scheme действительно позволяет изучать алгоритмы и различные приёмы программирования, не втягивая кучу ненужных деталей, которые только мешают увидеть «большую картину» (а это, в том числе, синтаксис, управление памятью, строгая типизация).

SICP скорее всего не подходит как первый курс для всех (он сложен для тех, кто не собирается получать инженерную профессию). А немного переработанный HtDP вполне подойдёт.
Вот только что такое указатель, как работает механизм препроцессора, что такое статическая и данамическая память, как объявить переменную типа «указатель на массив из пяти int» — очень хорошо рассказывают, не в школе правда, а с дисциплиной о микропроцессорах — то вообще все низкоуровневые операции и почему это именно так, а никак иначе — становится яснее самого ясного.

Только вот в основном все эти знания используются неправильно. А правильность использования приходит уже потом, после пары лет работы. Потому что людям не рассказывают так же тщательно как это все можно применять в реальных приложениях, а не в академических примерах, которые слишком уж далеки от реальности.
Вот именно поэтому я против изучения Си в школах. В том объёме, в котором его могут дать, он больше навредит пониманию самого процесса вычислений.
Не учите детей языкам программирования, учите их программированию.
Потому что, во-первых, как ни странно, но большей части группы то что вы им преподаете нахрен не нужно и соответственно усвояемость нулевая.
А во-вторых, тем кому это нужно, без знания основ толком не понять самой сути программирования и в результате в голове каша, когда человек знает что такое рубанок, но не знает как им работать.
Оптимально было бы вот так:
1 год — гонять по задачкам(есть классный учебник Окулова — Основы программирования), реализация на паскале, прививать грамотный стиль кода.
2 год — 50 процентов времени то же самое, остальная половина — C/C++, ибо это тру и без него никуда(начинать кстати обучение с них не стоит — никто не врубится и в 10 процентов его возможностей).
3 год — учить чему либо полезному на практике, желательно на плюсах, можно добавить питона/пхп.

Тем кому будет интересно — еще в первый год начнут лезть во всякие темы типа пхп, аякс, и прочее.
И наверняка они будут думать что вы преподаете им то что скучно и не интересно и вообще неприменимо в реале, но спустя некоторое время все поймут. И будут действительно программистами, а не кодерами.
Я работаю на соц. заказ. Если приходят 20 чел. делать свой мега-супер сайт, я должен попытаться их этому научить. А попутно научить программированию (чтобы совесть не мучала, поскольку по большому счету вы правы:)
Самое обидное — думать дети не привыкли.
Да уж, не позавидуешь…
Я бы на вашем месте провел с ними беседу и объяснил что дыма без огня не бывает.
Тогда хотя бы они будут знать почему самостоятельно дальше «мега-супер сайта» они продвинуться не смогут. Может быть задумаются.
>во вторых книжку по PHP+MySQL можно купить на каждом углу

Плохой аргумент. Большинству этих книг место на помойке ибо на них и растут быдлокодеры ибо не знают, как правильно должно быть.
Сам это понимаю. Акынство наших технических писателей уже не раз обсмеивал. Стараюсь покупать переводы. Они НАМНОГО качественее писаны.
1) Научите детей понимать что в интерфейсе зачем. На уровне «навёл мышку — всегда будет подсказка», «нажал кнопку — произошло действие», «кнопка — почти всё маленькое, прямоугольное, выделенное подобией объёма». С такой базой разберутся и в MSO и в OOo.
2) Покажите, как получать справку: для команд консоли это либо /?, либо --help, либо -h, либо man, смотря где и как.
3) Покажите, как искать в интернете: ключевое слово первым, дальше уточняющие, типа: «php array sort reverse», «html фон цвет».
4) Убедите налечь на English. Спасёт во многом.
5) Покажите детям, что нужно доверять: интерфейсу, компьютеру, программам. Объясните что ничего не появляется просто так, каждое окно об ошибке — что-то значит.
А дальше уже как выше написали — программировать, алгоритмы осваивать… Кстати, советую руби. В викиучебнике вроде оч хороший ман есть, прямо для детского сада. Научатся все, потом спасибо скажут что не паскаль.
Меня несколько пугает то, что слышал руби жеско объектно-орентированный. И олимпиады в которых мы традиционно принимаем участие Паскаль/С.
НО СПАСИБО за совет (плюсы кончились)
Ну вот тут посмотрите, есть хорошая командная строка, которая работает интерпретатором, кроме того, можно запускать обычный скрипты (пример чуть выше с хелло-вордом).
UFO landed and left these words here
По поводу Web позвольте с вами не согласиться. Базовые веб-мастерские знания достаточно полезны, на мой взгляд.
А вот про C++ полностью согласен. Изучал в школе Паскаль, потом самостоятельно стал учить PHP, C++, и понял: вот она, суть программирования, и вот он, настоящий Синтаксис :)
Базовые знания в школьном веб-программировании, как показывает практика, это обычно кривой HTML 3.2 + основы CSS1.
Жаль, что таких преподавателей, как вы, я в свои школьные годы не застал. Изучали хоть и Паскаль, но база знаний получилась неплохая.
Завидую вашим ученикам, чесслово :) Думаю, если бы в школе меня научили PHP, я сейчас знал бы о нем намного больше.
Мне кажется, что самое необходимое это дать именно базовые знание о том «где расположен забор от которого копать». За такое время программистов не сделаешь, но его вполне достаточно, для формирования у человека интереса к программированию.
Дал Вам кармы, дал бы здоровья, да не в моих силах! Просто его пожелаю Вам.

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

ps Побольше бы таких, как Вы, мне бы не пришлось свои посты слезные писать.
имхо, для понимания принципов программирования хтмл с яваскриптом не катят. Идеалом тут является дельфи/паскаль.
Или Вы специально выбираете направление на веб-программирование?
Sign up to leave a comment.

Articles