Как стать автором
Обновить

Комментарии 129

На сколько мне известно, сейчас у нас ситуация с программированием в школе как и на западе. Те школьники, которые умеют хоть как-то программировать получают знания и мотивацию из других мест (кружки, спецкурсы). Но часть школ идет на то, что организуют такие курсы на базе школы. Компетенция учителей информатики — это вообще отдельная песня.
UPD. Забавно на фоне этого видеть в ЕГЭ задания по программированию. Что как бы нам говорит: невозможно сдать ЕГЭ по информатики «на отлично» обучаясь в обычной российской школе.
Если информатика не является обязательным предметом (т.е. ее обязательное наличие определяется не на федеральном уровне, а на уровне муниципалитета или конкретной школы), то не только программирования имеет все шансы оказаться в дополнительном образовании, но и весь предмет. Но из того, что я знаю, сейчас в школах программирование дают и наблюдается рост «частоты» его преподавания.
Была одна очень неплохая иллюстрация, вот здесь.

Правда, и сам фрагмент, и содержащий его репортаж удалены/скрыты. Разумеется, впрочем, вне YT есть много копий, например здесь.
Нам с пятого класса преподавали программирование (первые пару лет детский ЛОГО, правда). Не на спецкурсе, всем, на уроках
Круто. Предполагаю, что это была не обычная школа. А мы на информатике печатали тексты в MS Word, потом нам рассказали про блок-схемы. В 11 классе, к счастью, пришел новый преподаватель, который познакомил нас с Pascal, что, в итоге, повлияло на выбор профессии :)
Ну мне потом на первом курсе СПбГУ на специальности «Прикладная математика и информатика» Word преподавали. Но я уже работала по специальности в тот момент =)
Забавно на фоне этого видеть в ЕГЭ задания по программированию. Что как бы нам говорит: невозможно сдать ЕГЭ по информатики «на отлично» обучаясь в обычной российской школе.

Не знаю, возможно все изменилось, но когда я сдавал ягу в 10 году, для сдачи егэ по информатики не нужно было практически знать ни одного ЯП, т.к. все задачи были из разряда «посчитайте, сколько времени вася будет качать файл» или «как игрок1 должен разделить камушки, чтобы при любом раскладе остаться в выигрыше?». А задачи на программирование сводились к «определите, попадает ли точка в заданный сектор», решаемые обычным if'ом из трех условий, для написания которых достаточно пару часов потратить на любой учебник. Собственно, от информатики в этом тестировании одно слово, в основном задачи на примитивную арифметику в контексте IT. То есть вместо «Поезд вышел из пунта А в пункт Б, с расстоянием s, и проехал его за время t» говорится, как уже выше сказанно, «Файл размером S скачался за время t».

Так что со школьными знаниями сдать ЕГЭ по информатике несложно, вопрос только: а был ли мальчик?
Я закончил школу 7 лет назад. У нас были попытки внедрения изучения Паскаля и Бейсика, но проц 90 — это был, я даже не знаю как назвать, КенгуРу кажется и просмотр флеш роликов. Печально.
Знакомый преподает Java.
У дочки преподавали vb, javascript и actionscript, но на таком уровне, что программированием я бы это не назвал.
Ходили слухи, что где-то преподают Haskell, но что это за школа я выяснить не смог…
Что ж. Я закончил Лабораторию непрерывного математического образования. Выпуск 2012 года.
Если говорить только о программировании только в моей (сильной) группе, то ситуация была примерно следующая.
  • 8 класс. Основной язык — OCaml. Было введение в функциональное программирование, выворачивание мозга в сторону рекурсии и списков, написание и осознавание List.ml, а под конец развлекались рисованием фракталов типа звёздочки Коха, кривой Пеано и деревьев.
  • Летний лагерь между 8 и 9 классом. Примитивно-рекурсивные функции.
  • 9 класс. В первом полугодии лямбда-исчисление и парсеры, на спецкурсе — FASM, интерпретатор и компилятор Brainfuck. Во втором — сортировки, автоматы, поиск подстрок и OpenGL.
  • 10 класс. Haskell. В первом полугодии ярко выраженной главной темы не было, а во втором — алгоритмы сжатия.
  • 11 класс. Java. Реализовывали стандартные структуры данных вроде списка/двусвязного списка/хеш-таблиц/поисковых деревьев/красно-чёрных деревьев. Под конец было немножечко многопоточности.

полный архив исходников классных и домашних заданий

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

Кстати, мы в 8 класс набираем каждый год.
Подозреваю, что автора интересует ситуация по общеобразовательным средним школам. Ваш пример относится к средне-техническому образованию, некое подобие техникума или колледжа.
Thanks!
Хотя порядок изучения странный, подход мне нравится :-).
НЛО прилетело и опубликовало эту надпись здесь
А, по-вашему, это не программирование? Что ж, тогда будет интересно узнать, что Вы считаете программированием.
НЛО прилетело и опубликовало эту надпись здесь
Ой, сколько пафосных аббревиатур. Честно признаюсь, из вашего списка терминов знаю только ООП, рефакторинг и TDD. Но зачем это специально проходить? Неужели специалист по CS не осилит самостоятельно освоить ремесло кодинга aka software engineering?
НЛО прилетело и опубликовало эту надпись здесь
Вы абсолютно правы. Computer Science и программирование — это разные вещи.

А снисходительное отношение «Неужели специалист по CS не осилит самостоятельно освоить ремесло кодинга » — это глупость, которая мешает увидеть правду.

Сразу вспоминается Шелдон из серии про битвы роботов:
— Конечно я смогу заменить Говарда, ведь инженерия — младшая сестра физики. Кстати, кто-нибудь знает, как открывать ящик с инструментами?

Вы знаете, я закончил профильный ВУЗ, но даже у нас это не преподавали (кроме ООП).
НЛО прилетело и опубликовало эту надпись здесь
Я вообще-то заканчивал Технический Университет Гамбурга :)

Возможно это связано со спецификой ВУЗа, но у нас был четкий перекос в сторону математики и «железа».

Хотя когда я закончил они ввели такие «вкусные» предметы как Functional Programming, Data Mining, Information Retrieval и прочее…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Любопытно, по этой классификации написание библиотеки (с разработкой части алгоритмов и структуры классов для неё) — программирование или нет?
НЛО прилетело и опубликовало эту надпись здесь
Всё равно разделение выглядит несколько искусственным. Особенно с учётом этого:
Иногда бывает что для решения software engineering задач нужно привлекать скиллы в computer science (как правило либо для оптимизации вычислений, либо для решения классических задач).

Я правильно понимаю, что алгоритмы здесь относятся к computer science, а архитектура приложения — к software engineering? Но ведь есть же и алгоритмы, работающие в масштабах всей архитектуры — какой-нибудь сборщик мусора или диспетчер параллельных вычислений, и алгоритмы, требующие для реализации сложной архитектуры… Да и вообще, кто будет переносить большой алгоритм в облако — программист или специалист по CS? Ни тот, ни другой в одиночку, скорее всего, не справятся.
Конечно, можно сказать, что эти ситуации находятся на стыке наук. Но этот стык, похоже, занимает уже заметно больше 0.01% от общего числа задач — а значит, там находится почти всё, что относится не к «ремеслу», а к новым разработкам и исследованиям… Так зачем же разделять науки?
Вижу свою ошибку.
Действительно, если инженер захочет сам выточить нужную ему деталь, у него это получится совсем не так хорошо, как у токаря.
Интересно, изучает ли токарь сопромат?
НЛО прилетело и опубликовало эту надпись здесь
Там вроде написано, что у них уклон в исследования и всё такое.


Ну это у них написано потому что это университет. Просто в Германии программистов учат везде: от ПТУ (Berufsschule), и института (Fachhochschule) до университетов. При этом «технический» в названии ВУЗа означает то, что там упор идёт на технические специальности (в первую очередь математика, которая есть в каждом семесте) и исследования.

В реальности в ПТУ учат информатике примерно так:
1. Прочитайте книжку «С# для начинающих» и напишите консольное приложение.
2. Сделайте оконное приложение с 5-6 кнопками.
3. Сделайте веб-приложение с 5-6 кнопками.

На этом все заканчивается. Структуры данных и алгоритмы (обычно) не рассматриваются вообще.

В университете же подходят с другой стороны, в результате:

1. Успешно сдав экзамен по Compiler Construction я не мог не то что запрограммировать компилятор, я до конца не понимал весь pipeline, зато в деталях знал какие-то абстрактные вещи (сейчас вот и их не помню).
2. Успешно сдав экзамен по Software Engineering, я вообще не знал что такое SOLID. Паттерны были, но вскользь. Зато было навалом разных автоматов, сетей Маркова и Петри и разного рода математики.

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

Я не встречал ещё книг, типа «Паттерны проектирования на F#»,

О, есть такая книга!!!
F# for Developers
Это единственная (известная мне) книга по функциональному программированию, где автор рассматривает функциональный язык с точки зрения обычного разработчика (та же Real World Functional Programming от Петричека и Скита, например, даже рядом не стояла).

И тут я понял, что учился где-то не там.
8 класс. Основной язык — OCaml

10 класс. Haskell

11 класс. Java


Странная какая-то эволюция наоборот в 11 классе. У вас каши в голове после такой программы не образовалось? Нам тоже в универе в не помню каком курсе задали курсач, компилятор паскаля на OCaml с недельным экспресс курсом по данному языку. Тык я после такой бредовой программы долго плевался когда слышал про OCaml. Но вот потом с опытом пришло и осознание и переосмысление многих аспектов, так что сейчас с удовольствием погружаюсь в мир F#. Несмотря на все это считаю вышеописанный университетский курс отстойным.
Я встречал много профессоров-информатиков, которые считают что процедуральное и объектно-ориентированное программирование, будучи преподанным первым, необратимо калечит наше сознание и воздвигает в нашем сознании некие «рамки», за пределы которых нам сложно выйти.
Поэтому во многих ВУЗах сейчас функциональное программирование преподается до процедурального, как более естественное. И судя по тому, что я вижу — действительно это неплохо работает. Это мне после многих лет ООП сложно на гора выдавать алгоритмы с хвостовой рекурсией или pattern matching, а вот первокурсникам еще не знакомым с другими языками — одинаково сложно всё и это даже как бы проще…
Классическая информатика сразу сбивает тебя с ног тем, что требует большого объема «инсайдерских» знаний об устройстве памяти, указателях, переполнении, стеке и прочем. А вот же Хаскеле невозможно даже переполнение численной переменной (integer overflow), да и запись похожа на математическую…
Да вообще процедуральное и объектно-ориентированное программирование сильно изменяют и я бы даже сказал притупляют восприятие многих аспектов студентами. Тут ведь тоже все зависит от преподавателя. К сожалению ВУЗы часто ориентируются на рыночный спрос для того и адаптируют свои программы под штампование армий java или c# кодеров. Хотя я могу лишь судить на данный момент о ситуации во Франции и Бельгии.
Да нет, никакой каши, по крайней мере у меня, в голове не было. Не то чтобы мы 3 года занимались функциональщиной, а потом внезапно пересели на Java. В течение этого времени мы успели попрогать на том же OCaml (он поддерживает императивность, а объектная ориентированность упоминается в названии языка), Pascal (в рамках подготовки к олимпиадам), FASM, Forth (забыл упомянуть, мы его вскользь затрагивали то ли в 9, то ли в 10 классе), плюс я ещё активно питонил. Вроде, где-то ещё C проскальзывал. А Java понадобилась в основном как не слишком сферический инструмент, который к тому же ещё и массово поддерживается на олимпиадах. Забавно, что на плюсах я не прогал до сих пор.
Сочувствую насчёт OCaml. У меня первое впечатление от знакомства с ним лучше всего описывалось фразой «у этого языка вообще есть синтаксис?». Но потом проникся, и понеслось.
Паскаль — это классно. Он гораздо дружелюбнее Си или Джавы. Начинать именно с такого языка как раз таки стоит. Хотя всевдоязык ещё лучше, но обычно на него «нет времени».

Цель в начале разобраться что к чему, понять что такое компилятор, как работает отладчик и увидеть магию своими глазами. Языки, особенно в коммерческом программировании дело десятое.
Go наше все! ;)
Паскаль навсегда привил любовь к объявлению переменных в начале подпрограммы.
Что часто считается антипаттерном, т. к. увеличивает логическое время жизни переменной.
Не совсем понял о чем вы.
Я подразумевал примерно следующее — создаю класс, сверху объявил все его поля, дальше иду описывать методы.
Согласитесь, что
создаю класс, сверху объявил все его поля, дальше иду описывать методы
и
объявлению переменных в начале подпрограммы
существенно разные вещи. К тому же, какие нафиг классы в паскале (а не в object pascal или delphi)?

Антипаттерн, который был озвучен в первом варианте, прекрасно описан у МакКоннелла в ''Code Complete''.
Я вам удивлю, но вообще паскаль объектно-ориентированный.
Википедия мне в помощь — статья про Турбо Паскаль.
В версии 5.5 в него были введены передовые возможности объектно-ориентированного программирования.

И в методах я тоже все используемые переменные стараюсь описывать в начале. Так нагляднее.
Спасибо, Макконнела почитаю.
Википедия мне в помощь — статья про Турбо Паскаль.
В версии 5.5 в него были введены передовые возможности объектно-ориентированного программирования.
Ага, а язык стал называться Object Pascal.
Опять же википедия говорит что нет.
Object Pascal выпустила Apple. Turbo Pascal выпустил Borland. И Турбо с версии 5.5 уже был объектно-ориентированным.
Ссылка
Я учил ООП по книжке, в которой половина исходников была на Турбо Паскале, половина на С++. Автор кажется Максимова, но могу ошибаться.
Я точно помню классы, виртуальные методы и даже динамическую типизацию в именно в Турбо Паскале.
Object Pascal is an extension of the Pascal language that was developed at Apple Computer by a team led by Larry Tesler in consultation with Niklaus Wirth, the inventor of Pascal. It is descended from an earlier object-oriented version of Pascal called Clascal, which was available on the Lisa computer.

In 1986, Borland introduced similar extensions, also called Object Pascal, to the Turbo Pascal product for the Macintosh, and in 1989 for Turbo Pascal 5.5 for DOS. When Borland refocused from DOS to Windows in 1994, they created a successor to Turbo Pascal, called Delphi and introduced a new set of extensions to create what is now known as the Delphi language.
en.wikipedia.org/wiki/Object_Pascal

Я крайне не рекомендую опираться на русскую википедию. Огромное количество ляпов и пропущенных мест.
My English is still very bad to read foreign Wiki immediately. Увы.
Признаю, был неправ.
Какой подвох со стороны Борланда! А ведь я им доверял.
*динамическую типизацию — конечно же динамический полиморфизм!
Извините.
Ога, объявил 30 переменных, а на первом же if обработал эксепшн и вышел из программы — супер!
Есть грязный хак — объявил, но не инициализировал!
И что? В большинстве современных ЯП в момент вызова функции/метода память под локальные переменные выделяется сразу скопом для всех, и не важно, где вы там в теле указали. Я хотел возразить товарищу grossws насчет «удлинения времени жизни переменной», но потом взгляд споткнулся о слово «логического», и все встало на свои места. С данной формулировкой я полностью согласен.
В российской школе я закончил 9 классов и информатика была, правда тема программирования была упомянута, но не затронута. Я сходил только уроков на 10 за весь учебный год в 9 классе и все что нам нужно было делать — это печатать и форматировать в ворде. Ну и учить всякие определения типа что такое ЭВМ, что такое монитор, что такое жесткий диск, сколько битов в байте и прочее…

Потом учился в Канадской школе 2 года и взял полугодовой курс Computer Programming. Первое задание курса — небольшой тест с вопросами типа «кто разработал джаву?». Финальное задание — написать программу, которая подсчитывает средную арифметическое из n чисел на той же джаве.

Не могу понять, почему мне так не повезло со школами в двух (!!!) странах. Впрочем, я наконец-таки закончил школу этим летом и невозможно описать как сильно рад, что больше туда никогда не вернусь!
А остальные дисциплины на каком уровне преподавались?
В 2004 был лого (черепашка), чуть позже паскаль и в старших классах (2008) бейсик.
Закончил школу в этом году. Учился в Саратове. Учили мы Паскаль. Учитель утверждал, что именно с этого языка легче всего переучиться на другой.
Учитель лжет. Утверждаю, как учившийся Паскаль и переучивающийся на Java. Первые пару недель-месяц были адом
Переход с Pascal на Java слишком экстремален, C/C++ должен быть между ними, но переход все-равно будет болезненным.
Для меня переход с паскаля на си был просто сказкой. Неделя на синтаксис и постепенное заучивание часто используемых методов. А уж как на си после паскаля связные списки реализовывать — это вообще отдельная песня была.
Мне преподносилось это как «Паскаль дисциплинирует». И с этим я на 100% согласен. Другое дело, что другие языки прилично так отличаются от него и на переучивание может уйти немало времени.
А как нормальный ассемблер дисциплинирует… Учит думать, а потом делать. И понимать, что делаешь.

Я, к сожалению, не застал курса по embedded вместо обычного оконно-рисовального курса на 1-2 курсах Физфака.
По ассемблеру полностью согласен. Но неокрепшие детские мозги такое не выдержат точно. У студентов-то не у всех хватает мозгов.
Я предлагаю его для студентов, скорее. Причем не безумный x86 (или тем более amd64), а какой-нибудь нормальный RISC (из простого — AVR, если посложнее — ARM).

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

Вообще от 1/3 до 2/3 студентов того же Физфака надо отчислять. Правда, желательно, чтобы при этом не было такого бреда касательно армии.
Переучивался с Pascal на C++: забыл всё чему научили и начал писать программы на cpp.
Победит паскаль и бейсик, а лучше бы учили си. Такой же простой язык если брать только обычную математику, зато синтаксис тот, что используется практически везде. Чего нельзя сказать про паскаль и бейсик.
Обычно все зависит не от того что лучше, а от того, что может учитель. Сейчас пошли молодые кадры и стал появляться С++. В педвузах лет 15 назад наверно чаще преподавали basic и pascal. Поэтому школа не может плыть в ногу со временем, она всегда немного в прошлом, т.к. кадры меняются реже, чем технологии.
Си разве появился намного позже паскаля? Скорее действительно дело в том что «В педвузах чаще преподавали» и наличии обучающего материала.
И я не согласен что для начального обучения программированию все 3 вышеуказанных языка — прошлое. На яве или плюсах сразу чтоли учить писать?
Я в дополнительном образовании сначала даю Python (если возраст подростка позволяет, иначе сидим в KTurtle и Scratch), и только потом Pascal (потому что он есть в ЕГЭ, хотя говорят, что там можно использовать любой язык, но не факт, что проверят).

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

У меня проверили Python в ЕГЭ. Просто в начале кода написал
# Python 2.7.2
Вау, очень хорошая история! Интересно, они бы проверили Tcl/Erlang/Lua/Haskell?
Если бы не проверили, можно было бы сходить на апелляцию и объяснить им там, что они неправы. По крайней мере, на апелляциях по информатике и математике вроде даже адекватные люди сидят.
Откуда, интересно, молодые кадры в современной системе образования?
А что в этом удивительного? Закончил молодой человек пед.университет, это года в 22 примерно. Допустим он немного увлекается программированием, кодит на C++. При прочих равных ему ничего не помешает преподавать предмет с использованием этого языка.
Нет, понятное дело что ничто не мешает, но насколько я понимаю, по крайней мере в РФ, участие в образовательной системе очень сложно обосновать как финансово так и психологически.
Уже множество раз говорили о том, чем си плох в качестве первого языка. В двух словах (чтобы не повторяться, ибо на том же хабре уже было несколько холиваров): 1) си слишком низкоуровневый; 2) в самом простом hello world на си (и особенно на с++) используется большая мешанина понятий и знаний, потребуется не один день, чтобы хотя бы понять, почему hello world именно такой.

Далеко не все приходят в вуз, уже зная что-нибудь. И если 5 человек знают, что такое "#include «stdafx.h»", то остальные 25 — нет. Потому я сомневаюсь, что си подходит первым языком даже на первом курсе вузов, что уж говорить про среднюю школу.
Никакого холивара. Я высказал своё мнение что си был бы полезнее в дальнейшем схожестью с современными языками.
Как уже сказали выше сложность зависит от преподавателя.
В дальнейшем — конечно! Пожалуй, на втором-третьем курсе, когда параллельно начинаются системные дисциплины, лично мне кажется, для си — самое время.
сложность зависит от преподавателя.

Согласен, у нас вообще было так — «берём в такой-то папке шаблон, подставляем команду для вывода на экран сообщения, видите, как всё просто!» И ещё долго никто не понимал, зачем наверху красуется подключения некоего stdio.h (собственно, первое время никто не понимал, что это вообще подключение чего-то, а не некие метаданные). Лично я догадался только тогда, когда решил с нуля что-то написать.
Лично с вами согласен, но единственное, что немного раздражает, так это почему они не заменяют Pascal на Java или C#? Так бы мы получали после 3 лет колледжа программиста, который знает неплохо C++ и C#/Java, вместо C++ и Паскаль.

Паскаль, мне лично, нравится, его легко читать и ему просто научить, но денег с ним заработать не получится. Можно пробоваться пробиться в Delphi, на дельфийцев сейчас спрос большой, но работа в 95% — поддержка древнего ПО. Скучная работа. Очень.
Pascal до сих пор используется, мне хочется надеяться, как первый язык, чтобы ввести в курс CS людей, которые после школы умеют только менять стили в Word. Вы пишете на доске hello world, а ваши студенты вуза/колледжа хлопают большими глазами:

program Hello;
begin
      writeln('Hello, world.')
end.

Всё, что вам нужно объяснить, это:
1) программа начинается со слова «program»;
2) begin-end;
3) почему «end.» (с точечкой);
4) writeln — написать в консоль, строки пишутся в кавычках.

Тот же код на C#:

class Test
{
      static void Main()
      {
            System.Console.WriteLine(«Hello world»);
      }
}

Уже сходу несколько вопросов: что такое классы? что такое процедура? что такое «System.Console»? Console — класс? что такое классы? что такое static? что такое void?

И если на часть вопросов можно дать быстрый ответ, то на часть — нет (ни в коем случае не произносите «пространство имён»!). И тогда вам придётся всё подробно объяснять, оставляя студентов в тихом ужасе от количества непонятной информации. Либо говорить: «Просто запомните, что надо писать вот так. Позже я вам объясню, почему». Во втором случае вы рискуете получить студентов, которые к третьему курсу пишут #include «stdafx.h», потому что «так надо», не понимая, что это значит и почему программа иногда не компилируется (в каком-то файле забыли дописать магическую строчку).

Сколько бы я ни плевался от паскаля (я ненавижу его тихой ненавистью), я считаю, что всё-таки он намного лучше в качестве первого языка. А вот когда мозги ребятишек окрепнут и они хотя бы будут знать, что такое класс, им можно начать давать C#, полностью забив на паскаль. Это второй курс. В лучшем случае — последнее полугодие/триместр первого курса.
Некоторых плавать учат в бассейне с жилетом, досками и инструктором, а некоторых с обрыва в реку спихивают.
(Я просто обязан написать этот традиционный комментарий к сравнению хелловолдов.)

# Python
print("Hello, world.")

Всё, что нужно объяснить:
1. Что такое print и скобочки.
2. Что такое строка и почему она в кавычках.
В битве Pascal vs C# победил Python!)

А если серьёзно, я не имею представления о пайтоне как о первом языке. На первый взгляд у него тоже есть свои плюсы, минусы, особенности. Например, необходимость правильно проставлять отступы — это, несомненно, плюс.
Как только я дочитал сравнение hello world на pascal и на c# — сразу же подумал о Python :-D
В ВУЗе, С — самое то. Мне пытались на первом курсе втюхивать Java, я плевался и ненавидел и писал на С++.
В школе учил Паскаль. Работали в Borland среде, а после перехода на Linux, в PascalABC. Несмотря на это, были люди, кто учил PHP\C++, но по собственной инициативе. Официально программа была весьма слабой.
13 лет назад учил в школе Basic

Сейчас на кружке программирования даю основы на Питоне + C для Arduino + HTML/JS для веба. С Нового года беру группу 4 класса, там будет Scratch.
Один из школьных учителей информатики занимается по PascalABC.
Другой занимается по другой программе, на партах лежат учебники 9 класса по JS. Более младшие — Basic.
хех, в школе изучали кумир, а преподаватель был заместо интерпритатора
Закончил школу 7 лет назад. В школе не преподавали ЯП вообще. Максимально до чего дошли так это системы исчисления (2 8). До 16-тиричной не добрались вовсе. Сомневаюсь что моя учительница по информатика знает что это такое. Учились рисовать презентации в Power Point, печатать документы в ворде и составлять таблички в экселе (без формул).

Завидую тем у кого java, python да и вообще какой-либо ЯП в школе преподают. Это очень сильно должно сказаться на мышлении уже со школьной скамьи. Также это должно повлиять на формирование другого, более глубокого понимания алгебры и геометрии. И это правильно! И не важно нужно это будет в последствии или нет — форма мышления правильная, логичная.
В универе: 1 год — паскаль, и хватит, дальше 6 семестров эксель, ворд и поверпоинт :(
Из результатов опроса видно, что Бейсик жив. Интересно, это следствие еще живой старой школы или говорит о том, что у Бейсика есть будущее (как средства обучения программированию).
Преподаём младшеклассникам по материалам www.codeclub.org.uk — в этом году Scratch, в следующем будет Python.
У Вас есть переводы занятий или Вы на лету даете материал?
Я тестово перевел первое занятие и закоммитил его авторам, дальше хотел переводить по ходу курса. Но если у Вас уже есть, может, объединим усилия?
Пробовала на 5-6 классе Python. Им скучно. Даже если логику могут понять, нет опыта, чтобы осознать зачем это надо. Поэтому если связка Лого и Скретч пройдена, а до «настоящего программирования» контингент еще не дорос, то нашла выход — HTML+CSS. Здесь и новизна (по сравнению с логическим программированием), и простота и красота.
В 179-й школе (Москва) массово учат Python'у и, в меньшей степени, C/C++, ещё в меньшей для 7-8 классников КуМир.
В 57-й школе (Москва) массово учат Pascal'ю и Python'у (и не массово C++).

В школе учил Pascal, в МГУ — C.

Сам в данный момент преподаю Python для восьмиклассников. Пребываю в аргументированной уверенности, что Python на данный момент — лучший выбор для школы. Школьники после уроков информатики в своих старых школах (с их word, excel и powerpoint) пребывают по большей части в восторге.
Дополню: В Колмогоровской школе (СУНЦ МГУ, бывш ФМШ 18) изучали C и Pascal (в 2005), в зависимости от класса.
Дочке преподавали Perl
А в какой школе?

ЗЫ В Уральском гос. университете (во всяком случае, до его слияния с УГТУ-УПИ, несколько лет назад) основы программирования студентам младших курсов читали на перле.
Москва, шк.54, «мехматовский» класс.
муравей, кенгуру и borland turbo pascal был
Закончил школу в 2007, учили Паскаль.
Прихожу к выводу, что хорошо было бы давать детям связку Flash + ActionScript 3 — язык с джаваподобным синтаксисом, при этом всё очень наглядно благодаря тесной интеграции с нарисованными во флеше объектами — можно манипулировать ими прямо в коде, и на выходе получается не скучный результат вычислений, а вполне себе интерактивное поделие. Плюс все «взрослые» вещи типа принципов ООП в наличии и их можно доступно объяснить на примере какой-нибудь простенькой аркадки.
Встаёт, правда, вопрос о лицензировании софта — сам флеш далеко не бесплатный, а в сторонних IDE теряется вот эта прелесть моментальной доступности нарисованных объектов из кода.
Тогда уж лучше Qt
Да, Macromedia Flash — очень классная штука. И именно из-за высокой цены лицензии нет возможности использовать.
Закончил школу в 2008, на информатике тоже был паскаль. Но зато, когда я учился в 8 классе, один из 11-классников начал вести кружок по обучению Macromedia Flash (на тот момент 5/6). Туда ходили только я, да мой лучший друг, но игры писать было очень интересно и просто. А потом понеслось: в 6 версии выпилили работу с файловой системой, а замены какой-то еще не было и пришлось учить и другие языки, чтобы делать сохранения в играх :)
В свободное от основной работы время, то бишь по субботам, преподаю информатику в классах Юношеской Математической Школы в СПб. У нас дети с 7 класса учатся. Начинаю с рисования алгоритмов на блок-схемах на бумажке. Потом на PASCAL алгоритмы. Потом на С (10 класс). В 11 классе делаем большие проекты на Java — игры, демонстрационные приложения к выч. математике, file explorer-ы и прочие штуки — дети сами выбирают себе проект по желанию. С одним из классов когда-то давно в 11 классе затрагивали Haskell, чтобы посмотреть на функциональщину. Некоторые потом в Универе спасибо говорили за правильно «сломанные мозги» =) Но больше не экспериментировала — не успеваю. Пишем под Linux в школе, дома дети в основном под виндой. Компилируют программы в школе gnu компиляторами. Для Java ставлю им Intellij Idea.

У меня самой было примерно оно же. Тоже училась в ЮМШ. Только Java не было, были основы ООП на C++.
В школе (гимназия, физмат-класс) был basic и pascal, в универе (МЭИ, факультет электротехники) был pascal/delphi на первых двух курсах + mathcad.
Закончил школу в 2007-м, был отдельно Pascal (TurboPascal), основы постройки интерфейса в Delphi (6 или 7, не помню). В привязке к макросам MS Office был Basic. Logo был ещё в классе седьмом вроде.

В Чехии, на сколько я понимаю, в школе тоже программирования нет, ибо на первых курсах ВУЗа разбирается алгоритмизация и программирование на Java от самого начала (основные понятия, типы данных и т.д.). Java тут вообще идёт как основной ЯП в техническом ВУЗе.
Закончил школу в 2005. У нас преподавали C и Pascal, в зависимости от класса и личных предпочтений. До этого (в других школах в 7-9 был pascal), ранее (5-6, в Хабаровске) был какой-то basic на машинках от yamaha =)

Результат опроса будет всё равно смазан, если человек учил несколько языков.
закончил в 97, преподавали TPascal 6-7, asm(как отдельно, так и встроенный в паскаль) на базовом уровне, выпускной проект на С++ писал (вышел программистом-математиком 2 разряда). У нас было две группы в одном классе, с углубленным изучением и без.
Закончил в 2005 году. 5 класс — QuickBasic, 6- ничего не было, учитель сменился, 7 — чтото русское ( вроде переведенного промптом паскаля «если aaa/ начало: / конец», 8-9 паскаль, 10-11 вроде был AS но меня просто с уроков гнали — мучал учителей информатики.
Этим летом младший братишка закончил школу (Самарская область) и поступил в Самаре в универ на программную инженерию. Говорит, что большинство студентов его группы либо не изучало информатику совсем, либо это были уроки типа Word, PowerPoint, CorelDraw И не более.
Закончил школу в 1994 году. 10-11 класс — была информатика, программировали на корветовском Бейсике, на котором к тому моменту я уж года два писал. А до бейсика были ПМК «Электроника Б3-34» и «Электроника МК-52». В свободное от школы время пробовал другие диалекты — GWBasic, Turbo BASIC, Quick Basic. В универе — Паскаль/Delphi, Ассемблер, С/С++/C Builder плюс всякие прикладные языки типа VBA, языков всяких пакетов типа Quattro Pro да FoxPro. Perl и JavaScript освоил на старших курсах самостоятельно.
В основном изучали паскаль. Но как-то к нам устроился неплохой препод и пару лет мы малочисленной группой изучали C и Asm на факультативной основе.
Хоть C++ и является моей любовью, считаю что учить низкоуровневым языкам не имеет смысла, ничего из этого не выйдет. Школа — это базовые знания, и в моем представлении школа должна учить не программированию, а алгоритмике — строить блок схемы, и все в таком духе (то что сейчас дают на первом курсе). Для практики подойдет pascal/python, или что-нибудь без строгой типизации.
НЛО прилетело и опубликовало эту надпись здесь
Тут над ставить вопрос ребром: является ли указатель, например, базовым знанием? У нас сейчас поколения программистов вообще не знают что это такое, т.к. привыкли к ссылкам и автоматической сборке мусора.
НЛО прилетело и опубликовало эту надпись здесь
Нет, это уже излишки для среднего образования. В обычной средней школе должны знать как строить алгоритмы и блоксхемы к ним, бинарные операции, и прочее, дающее общее представление.
Ссылки и сборщики мусора — это уже особенности языков, а следовательно и углубление в специальность.
НЛО прилетело и опубликовало эту надпись здесь
В этом году из 30 школ, 7 раз паскаль, 5 раз C — откуда инфа не скажу, но цифры точные.
закончил 11 класс в 2003 году, точно помню, что на уроках информатики нам давали Pascal
Локация: Красноярск
В школе преподавали бейсик, те компьютеры больше ничего не умели.

Вообще бы предпочел чтобы преподавали C# хотя бы пол года в школах (до 10го класса). Может кто-нибудь бы и заинтересовался дополнительно программированием после этого.
Так случилось, что в этом году я стал учителем информатики. Может конечно это мне так «повезло», но в моей школе ситуация с программированием очень плачевная. Из 11 классов в которых я преподаю можно выбрать 5-6 человек которые хоть имеют осознанное понятие что такое язык программирования. Вероятно это связано с тем, что нет у нас учителей, которые именно понимают программирование. Как правило это просто переученные физики или математики, которые кроме школьной программы ничего не знают и по сути не написали ни одной стоящей программки. Уча детей в школе я не пытаюсь (как второй препод) требовать зубрить какие-то понятия и т.п. я просто разговариваю с детьми на тему урока и если кому-то не интересна тема, то я прекрасно понимаю, что не каждому (далеко не каждому) пригодится программирование в жизни (хотя совсем не помешало бы). Еще есть такой фактор, как школьная программа. Ну о какой эффективности изучения программирования может идти речь, когда одна тема паскаля учится 5-7 уроков, а затем перерыв в ГОД! И через год (когда дети за неделю могут забыть тему) никто ничего не помнит и приходится словно заново учить их. С этой системой сложно бороться. На уроках я применяю метод заинтересованности. Кому не интересно тот может и поиграть в игры (после объяснения темы) а с остальными (как правило это 2-3 ребенка) я могу и индивидуально позаниматься. Возможно из теперешних шестиклассников мне хоть кого-то удастся заинтересовать.
Да. забыл добавить. в школе учат Pascal ABC. Минск.Беларусь.
У меня было: Паркетчик и Basic. И то потому что вела женщина средних лет. Но уже при мне заместо неё поставили бабульку и образование стало полностью самообразованием.

У младшего брата сейчас временами по несколько месяцев информатики вообще нет, а временами её ведут какие-то древние бабульки, к тому же постоянно меняющиеся, и проходят они там бесконечное «откройте Word, наберите текст» + в последнее время также немного HTML.

Школа в центре города, город #2 в России по уровню жизни.
Согласен, современная школьная программа информатики — вещь странная. Учеников вплоть до 11 класса учат печатать текст в ворде, строить простейшие диаграммы, да чего уж там, рисовать в пэинте. В перерывах решают глупые задачки («В алфавите языка племени „тамба-амба“ две буквы: Й и Ы...») на кол-во информации…
Мы в школе изучали Си, было это давненько — 18 лет назад. Считаю, что мне повезло с преподавателем — он смог меня заинтересовать программированием.

А рецепт был простой — он давал интересные задачи, по крайней мере, они мне таковыми казались.
В 8-ом классе — это были игрушки.
В 10-ом — текстовый редактор.
В 11-ом компилятор Си.

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

Сейчас в школах в основном учат Паскалю — программируют чаще всего в PascalABC.NET. Но учат посредственно — интерес к программированию у школьников обычно на уроках не возникает (хотя многое зависит от преподавателя и учебного заведения).
Ничего не изучали, только сеть совместными усилиями настраивали, чтобы поиграть в Queke
Поступила в первый класс в 1998.
Со второго по 5й информатика, ЛОГО + компьютерная грамотность.
С 7го по 8 VisualBasic, 8-9 — Turbo Pascal. 10-11 — С

Школа: физ-мат лицей при ДТЮ
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории