Hsrs.ru

Самоучители онлайн
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Язык программирования в школе

Языки программирования в школе

Специфика обучения программированию в отечественных школах

Обучение программированию на уроках информатики в отечественных школах трудно назвать эффективным. Чаще всего дети заканчивают средние общеобразовательные учреждения с навыками, непригодными для практического применения. Причины этого следовало бы искать в образовательной реформе, проводившейся в середине 1980-х гг., когда в стране внедрялась программа преподавания информатики. Связаны они, как и многие изъяны отечественного образования, с чрезмерной зарегулированностью и инертностью составления учебных программ для обучения в школах: спущенные «сверху» концепции, пусть и прогрессивные для своего времени, надолго остаются руководством к действию, тогда как технологии, особенно информационные, меняются стремительно.

Рисунок 1. Урок программирования в 1980-х гг. Автор24 — интернет-биржа студенческих работ

Несмотря на то, что преподаватель информатики может «по своему вкусу» в широких пределах выбирать используемый на уроках материал (в том числе и для уроков программирования), на ЕГЭ перечень языков, по которым выпускники могут продемонстрировать свои знания, жестко регламентирован. В него входят:

Попробуй обратиться за помощью к преподавателям

  • алгоритмический учебный язык;
  • Паскаль (и его производные);
  • Бейсик;
  • Си.

Языки программирования применительно к учебному процессу

Паскаль

К достоинствам Паскаль можно отнести следующие:

  • он действительно был создан Никлаусом Виртом для учебных целей (правда, было это в 1970 г. и с тех пор многое изменилось);
  • существуют версии этого языка (TurboPascal, FreePascal), которые легко установить на персональный компьютер, причем эти программы находятся в свободном доступе, что немаловажно в условиях школы, где использование пиратского ПО недопустимо не только по юридическим, но и по этическим причинам.

Удобство оболочек TurboPascal, FreePascal заключается в также в том, что все действия по написанию, отладке, компиляции и запуску программы можно выполонять не выходя из единой программы. С другой стороны, следует учитывать, что консольный интерфейс (среда DOS), в котором работают эти версии Паскаля, устарел и мало похож на современные инструменты разработки. Альтернативой с полноценным графическим интерфейсом является пакет Lazarus, позволяющий программировать в среде, похожей на промышленную систему Delphi (правда, и ее трудно назвать соответствующей современным реалиям).

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Язык Си

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

Программирование на Си в рамках школьного курса информатики сдерживает, помимо отсутствия специалистов, и то, что трудно подобрать подходящие для школьников инструменты. Несмотря на то, что существуют пригодные для написания программ на Си инструменты разработки (Eclipse, IntelliJ, Net Beans, Visual Studio), они сами по себе являются довольно сложными для освоения.

Следует учитывать, что редактор Sublime и среда разработки Visual Studio являются коммерческими продуктами, хотя и могут предоставляться бесплатно для персонального использования и в образовательных целях.

Выходом может стать сочетание простых редакторов кода (Notepad++, Sublime, Visual Code, Atom) и свободных компиляторов. Для Windows, например, существует свободно распространяемый пакет CygWin, включающий простые консольные инструменты для Си (компилятор, библиотеки и т.п.).

Рисунок 2. Редактор Notepad++. Автор24 — интернет-биржа студенческих работ

Бейсик

Несмотря на то, что время сверхпопулярности Бейсика давно прошло, он вполне может использоваться в качестве учебного языка программирования. Существует пакет FreeBasic, содержащий много примеров, и поддерживаемый в актуальном состоянии сообществом энтузиастов даже в наши дни (конец 2010-х гг.).

Язык КуМир

В некоторых школах на уроках программирования используется язык КуМир, ведущий свое происхождение от алгоритмического языка, разработанного еще в 1980-х гг. по методике основоположника отечественной школьной информатики академика А.П. Ершова. Этот язык переживает сейчас второе рождение. Пример программы:

Рисунок 3. Оболочка для разработки на языке КуМир. Автор24 — интернет-биржа студенческих работ

В 2019 г. НИИ системных исследований РАН запланировал развитие КуМир в качестве учебного языка.

Перспективы преподавания программирования в школе

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

В будущем государственным органам для успешного воспитания передовых навыков программирования у школьников, следовало бы обратить внимание на следующие моменты:

  1. высокая динамика развития информационных технологий; пересматривать учебные программы по информатике следует, как минимум, ежегодно, в том числе особенно тщательно — в части, касающейся преподаваемых языков программирования;
  2. отказ от устаревших языков программирования;
  3. внедрение преподавания современных популярных языков (Python, JavaScript) для всех учащихся и более сложных (Swift, Go, C#, Java) для тех, кто планирует связать будущую профессиональную деятельность с информационными технологиями;
  4. обучение не только программированию, но и смежным технологиям: подключению необходимых библиотек, работе с системами управления версиями, устройству современных IDE и т.п.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Какие языки программирования изучают в школе?
презентация к уроку по информатике и икт на тему

Презентация о том, какие языки программирования изучать в школе

Скачать:

Предварительный просмотр:

Подписи к слайдам:

Какие языки программирования изучать в школе? Цель : сравнить основные языки программирования, изучаемые в школе. Преимущество нового языка Python . Курилов Игорь Анатольевич

Содержание Что сейчас изучают в школе! С равним Pascal, Python , C++ Python . Некоторые примеры . 4. Интересные особенности Python на примерах. 5. Что лучше изучать сначала, а что изучать потом! 6. Применение языков программирования на практике (в жизни)

Что сейчас изучают в школе! Basic (устарел уже лет 10-15 назад, даже на любой олимпиаде уже не используется) Pascal (самый распространенный 10-15 лет) C++ (имеет больше возможностей, но сложнее чем Pascal ) Python ( появился в списке языков Демо 2015 года ) – Что он представляет?

Очевидно нужно сравнить Pascal, C++, Python Рассмотрим реализацию 3-х алгоритмов (линейного, с ветвлением, циклического)

Задача1 .0 :Найдем сумму 2-х целых чисел. Pascal C++ Python Program pr1 _0 ; var a,b,c : integer; begin writeln (‘ ввести 2 числа ’); readln ( a,b ); c:=a+b; writeln (c); end. #include using namespace std ; main() < int a, b, c; cout >a >> b; c = a + b; cout b then max:=a else max:=b; if c>max then max:=c; writeln (max); end. #include using namespace std ; main() < int a, b, c, max; cout >a >> b >> c; if ( a > b ) max = a; else max = b; if (c>max) max =c; cout b else b If c>m: m=c print ( m )

Задача 3.0: Найти все двухзначные четные числа, которые делятся на 3 Pascal C++ Python program pr 3_0 ; var i:integer; begin for i:=10 to 99 do if ( i mod 2=0) and ( i mod3=0) then writeln ( i ); end. #include using namespace std ; main() < int k; for ( k = 10; k b do If a>b then a:=a-b else b:=b-a; writeln (‘ НОД = ‘,a); readln ; End. print(« ввести 2 числа «) a = int (input()) b = int (input()) while a != b: if a > b: a = a — b else: b = b — a print (» нод = «, a)

Интересные особенности Python на примерах .

№1 # Описание переменных сразу при вводе переменных Pascal Python var a,b,c : integer; a = int ( input() ) b = int ( input() )

№2 # сумма двух действительных чисел (ввод через пробелы) Pascal Python read ( a, b ); c := a + b; writeln ( c ); a, b = map ( float, input().split()) print ( » Ответ: «, a,b ) print ( » Ответ: «, a+b )

№3 # максимум из 2-х чисел Pascal Python If a>b then max:=a else max :=b; Write(max) m = a if a > b else b print ( » Ответ: «, M )

Система скидок №4 # Каскадное ветвление Pascal Puthon if a > b then writeln ( ‘ Андрей старше’ ) else if a = b then writeln ( ‘ Одного возраста’) else writeln ( ‘ Борис старше’ ); if a > b: print ( » Андрей старше » ) elif a == b: print ( » Одного возраста » ) else : print ( » Борис старше » )

№5 # принадлежность точки 2-м отрезкам Pascal Puthon readln (x); if (( -5 0) then inc(k); writeln (k); k = 0 for i in range(0, n – 1): if ((a[ i ]+a[i+1])%3 == 0 and (a[ i ]+a[i+1])%9 <> 0): k += 1 print(k)

Что лучше изучать сначала, а что изучать потом! Программисты и специалисты считают: -что программировать надо начинать с простых языков (например, Pascal ) . -изучение с языка C (C++) , часто отбивает желание программировать у начинающих программистов. Что же можно сказать про Python – это новый язык программирования, включающий в себя лучшее из несколько совершенно разных языков, имеющий достаточно простой код.

Читать еще:  Школьная олимпиада по программированию 2020

Применение языков в % Сайт TIOBE ( Index for February 2016 )

Применение языков на практике (в жизни) 2. Язык С++ Google Chrome , Mozilla Firefox и линейка продуктов Adobe были разработаны с помощью С++. Кроме того, некоторые современные игры и операционные системы были разработаны на С++. 7. JavaScript Серверные языки сценариев идеально подходят для разработки сложных веб приложений, но каждая такая задача сильно нагружает сервер. Поэтому разработчики делегировали часть функций на сторону клиента и использовали JavaScript . JavaScript — это язык программирования, выполняемый в клиентском браузере и обрабатывает команды на компьютере конечного пользователя, а не сервера, что приводит к снижению нагрузки на сервер и увеличению скорости работы приложения. JavaScript был разработан компанией Netscape и вряд ли есть сайты, которые не используют его. 8.Python – это высокоуровневый язык программирования и часто считается самым легким языком, благодаря своей простоте, читаемости и синтаксису. Python был разработан Гвидо Ван Россумом в 1991 году. Python не использовался так широко в прошлом, однако стал особенно популярным за последние годы благодаря инвестициям Google . В настоящее время некоторые весьма известные и надежные сайты работают на P ython , особенно pinterest.com, instagram.com и rdio.com. Как и PHP, Python можно использовать для разработки веб — приложений . 10. Ruby Похожий на Python , Ruby — простой и читаемый язык программирования, ориентированный на разработку веб приложений. Разработанный Юкихиро Мацумто в 1995 году, фреймворк Ruby использовался для разработки Github , Scribd , Yammer , Shopify и Groupon . Ruby сочетает в себе некоторые возможности Lisp , Pearl и Eiffel .

Python Python (в честь шоу Monty Python ) отличается черта использованием отступов для выделения блоков кода и управляющих структур. Язык крайне простой и скромный на выразительные средства сравнительно c Ruby или Perl . Испольуется для создания различных как обычный программ, так и Веб-приложений (управление пользователями, профилями, базами данных, создание серверов), анимации, компьютерной 4 D графики и т. д.

Вывод В наше время в курсе информатики можно изучать не только Pascal , но ещё один из вышесказанных языков. Данные языки применяются для разработки современных проектов. Python – хороший язык для изучения программирования, так как он является наиболее простым и в тоже время связан с большим количеством соседних языков. Он используется для создания Веб-приложений.

Обучение основам программирования в школе

В школе изучал BASIC, в институте — Pascal, а на работе требовался Java. Знакомая ситуация? В курсе информатики, как правило, существует раздел, в рамках которого учащиеся пытаются изучить основы программирования с использованием учебного языка программирования. При этом возникает немало вопросов, включая и выбор наиболее подходящего для этого языка программирования.

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

Существуют разные методики оценки популярности и востребованности языков программирования — по количеству запросов в поисковых системах, количеству вакансий, проектов в репозиториях, результатам опросов и др. Для объективной оценки необходимо учитывать много критериев и факторов, но определённую взаимосвязь можно уловить и в результатах пары международных опросов.

Популярные языки программирования в реальных проектах в 2018 году.

Популярность языков программирования среди профессиональных разработчиков в 2018 году

  • JavaScript — 71,5%
  • HTML — 69,4%
  • CSS — 66,2%
  • SQL — 58,5%
  • Java — 45,4%
  • Bash/Shell — 40,4%
  • Python — 37,9%
  • C# — 35,3%
  • PHP — 31,4%
  • C++ — 24,6%

А почему пропущен Basic и Pascal? Потому что их нет! Можно, конечно, взглянуть на результаты TIOBE Index for August 2018, где Visual Basic .NET занимает аж пятое место, но он имеет достаточно узкую область использования и по факту выходит так, что в школе «проходят» основы языков программирования, которые не востребованы на практике и после «изучения» этих языков придётся учить что-то другое, если в планах стоит выбор пути IT-специалиста. За один год в IT происходит немало всего, а BASIC и Pascal как считались наиболее подходящими языками для обучения в конце прошлого века, так и считаются по сей день. Уже и web-технологии давно вошли в нашу жизнь, и мобильные приложения отвоевали рынок у настольных приложений, а «сладкая парочка» прекрасно себя чувствует в современном учебном процессе. Есть ли альтернативы?

Java и семейство языков C имеет неплохие позиции, но назвать их учебными языками программирования затруднительно. Python является относительно несложным языком программирования, но выбрать его может только тот, кто смотрит на показанную выше статистику с закрытымы глазами. Если же глаза открыть, то сразу станет виден лидер — JavaScript. Если вы не согласны с этим, то попробуйте при помощи языка, который вы считаете наиболее подходящим для изучения в школе, написать код вывода диалога с приветствием в следующих операционных системах — Windows, Mac OS, Linux, Android, iOS. Засекаем время. У меня на это ушло 10 секунд:

К существенным недостаткам данного языка программирования можно отнести излишнюю вседозволенность и возможность создания различных «программистских трюков». А где их нет, в Python, C#, Java? Да, JavaScript не так строг, как компилируемые языки и даже Python, но у него есть огромное преимущество — простота, доступность и просто огромная область применения, которая даёт возможность школьникам познакомиться и с web, и с мобильной, и с настольной разработкой в самых разных областях. Многие ли захотят заниматься в школьной музыкальной студии, в которой учащихся заставляют играть только классику, только рок-н-ролл или только блюз? JavaScript даёт свободу выбора. Робототехника, графика, музыка, игры, статистика — это лишь небольшой перечень областей, где JavaScript используется совместно с другими технологиями. А как быть с начальной школой? В начальной школе предпочтение отдаётся визуальному программированию, в основе которого также нередко лежит JavaScript, что позволяет создать последовательное изучение этого простого и востребованного языка программирования.

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

Информатика (и введение в программирование) в рамках школьного курса является тереотизированным предметом с акцентом в сторону математики. Информатика действительно тесно связана с математикой, но это не позволяет увидеть практическое применение знаний. Найдите наибольшее число из заданных, вычислите выражение, посчитайте матрицу — эти задачи подходят для общего развития, но как они связаны с реальным миром мобильных технологий и Интернета? Кружки робототехники позволяют увидеть связь программирования и физики, но этого недостаточно. Тогда что, в рамках информатики учить детей создавать сайты и мобильные приложения? Нет, в рамках информатики это сделать затруднительно, но показать её связь с реальным миром возможно. Цветной блок условного оператора или цикла большинству будет так же непонятен, как и его запись в текстовом виде, потому что это теория, показанная разными способами. А теорию сложно увидеть и ощутить. Внутренние процессы работы выключателя света или секундомера также непонятны, но пользователи понимают результат их работы. Так почему бы это не связать с условным оператором и циклом для наглядной демонстрации того, что программирование позволяет решать практические задачи, а не только учебно-теоретические?

Программирование интересно не всем, но у школьников должна быть возможность познакомиться с практическими основами программирования, что можно было бы осуществить в рамках дополнительного образования. Какой язык программирования для этого выбрать? Это некорректный вопрос! К сожалению, у нас принято рассматривать IT и процесс обучения в общем виде, с конца и в абсолютных категориях. Java и C++ — это круто, а Basic и Pascal — пустая трата времени. Перед выбором языка нужно понять цели обучения и задачи, а не наоборот. Для решения многих задач вполне подойдёт и визуальное программирование, которое имеет такое же право на существование как и текстовое. Предположим, поставлена задача создать дизайн упаковки. Если пользователь умеет рисовать на компьютере, то он может всё нарисовать. Если пользователь не умеет рисовать, то он может выбрать несколько клипартов и составить из них композицию, что подобно соединению блоков для получения требуемого алгоритма.

Читать еще:  Программирование и информационные технологии

Визуальное программирование и текстовое имеет тесную связь, но важно обеспечить неразрывность этого процесса. Кто-то может сказать, что учащимся для общего развития желательно изучать разные языки. Но согласитесь, что КуМир + Pascal + Lazarus выглядит менее предпочтительным и перспективным по сравнению с Blockly + JavaScript + стек технологий. В чистом виде область применения JavaScript уступает целому ряду других языков, но его мощь как раз и заключается в совместном использовании. JavaScript позволяет получить эффект быстрого старта или кто-то готов упереться в сложный язык, а через несколько месяцев забыть программирование как страшный сон, как это нередко происходит с занятиями музыкой?

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

Почему школьники не любят уроки программирования

Когда речь захо­дит о школь­ном про­грам­ми­ро­ва­нии, уче­ни­ки смот­рят на всех как на безум­ных: о чём вы вооб­ще гово­ри­те? Что­бы вы поня­ли всю глу­би­ну про­бле­мы, ска­жем, что боль­ше поло­ви­ны рос­сий­ских выпуск­ни­ков не зна­ют, что такое алго­рит­мы и логи­че­ские опе­ра­ции. Напи­сать про­грам­му хоть на каком-нибудь язы­ке могут толь­ко уче­ни­ки про­филь­ных клас­сов в шко­лах с углуб­лён­ным изу­че­ни­ем физико-математических дис­ци­плин.

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

Вот в чём про­бле­ма и как тут быть.

Старые компьютеры

В боль­шин­стве школ нет совре­мен­но­го желе­за. И речь не о самых новых и наво­ро­чен­ных ком­пью­те­рах, а хотя бы о тех, кото­рые могут запу­стить бра­у­зер Chrome и не завис­нуть на пару минут.

На устрой­ствах, кото­ры­ми обыч­но рас­по­ла­га­ют шко­лы, слож­но пре­по­да­вать что-то совре­мен­ное, пото­му что оно баналь­но не запу­стит­ся. В ито­ге прак­ти­че­ская рабо­та пре­вра­ща­ет­ся в муче­ние и про­вер­ку тер­пе­ния уче­ни­ков. Мож­но, конеч­но, поста­вить какой-нибудь лёг­кий Linux и настро­ить его для необ­хо­ди­мых задач, но чаще все­го такой ква­ли­фи­ка­ции у учи­те­ля нет.

Древние языки программирования

Если спро­сить детей, какой язык они про­хо­дят на инфор­ма­ти­ке, рей­тинг отве­тов будет таким:

  • Пас­каль.
  • Бей­сик.
  • Алго­рит­ми­че­ский язык.
  • Вы име­е­те в виду англий­ский?

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

С точ­ки зре­ния кад­ров это, навер­ное, пра­виль­но, пото­му что не нуж­но пере­учи­вать учи­те­лей и пере­пи­сы­вать учеб­ни­ки. Но ни Пас­каль, ни Бей­сик, ни блок-схемы сей­час не нуж­ны в про­фес­си­о­наль­ном про­грам­ми­ро­ва­нии — раз­ра­бот­че­ская мысль дав­но шаг­ну­ла впе­рёд.

Ещё это тес­но свя­за­но с воз­рас­том школь­ных ком­пью­те­ров, о кото­рых мы гово­ри­ли. Совре­мен­ная сре­да раз­ра­бот­ки для какого-нибудь мод­но­го Go или даже клас­си­че­ско­го язы­ка C# на них про­сто не запу­стит­ся. Вот и при­хо­дит­ся исполь­зо­вать Пас­каль, кото­рый рабо­та­ет на чём угод­но, но кото­рый пол­но­стью уста­рел для прак­ти­че­ско­го при­ме­не­ния.

Пас­каль пре­крас­но помо­га­ет пре­по­да­вать алго­рит­ми­ку, но писать совре­мен­ные про­грам­мы на нём крайне слож­но, и вот поче­му:

  • нет инстру­мен­та для быст­ро­го созда­ния интер­фей­са про­грам­мы;
  • сла­бая гра­фи­че­ская часть, кото­рая может рисо­вать толь­ко про­стей­шие объ­ек­ты;
  • огра­ни­че­ния по раз­ме­ру исполь­зу­е­мой памя­ти в пере­мен­ных и цик­лах;
  • нет встро­ен­ной под­держ­ки web-сервисов и стра­ниц;
  • Пас­каль не зна­ет, как рабо­тать с совре­мен­ны­ми база­ми дан­ных, про­то­ко­ла­ми обме­на, облач­ны­ми хра­ни­ли­ща­ми и сер­ви­са­ми.

Нет единой методической базы

Каж­дый учи­тель сам реша­ет, как рас­ска­зы­вать о сво­ём пред­ме­те. Один подой­дёт к вопро­су твор­че­ски и заин­те­ре­су­ет детей, дру­гой отне­сёт­ся фор­маль­но и про­чи­та­ет мате­ри­ал по учеб­ни­ку. Но и здесь есть под­вох: учеб­ни­ков по инфор­ма­ти­ке мно­го, все они одоб­ре­ны Мино­бром, и все дают раз­ные пред­став­ле­ния о про­грам­ми­ро­ва­нии. Кни­га автор­ства Семаш­ко для 10 клас­са рас­ска­зы­ва­ет про блок-схемы и абстракт­ный язык, Угри­но­вич пред­ла­га­ет изу­чать Visual Basic, а Босо­ва и Поля­ков вооб­ще ниче­го не гово­рят про про­грам­ми­ро­ва­ние в 10 клас­се.

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

Это при­мер­но как если бы детей в шко­ле учи­ли вожде­нию: где-то на «тойотах»-автоматах, где-то на уби­тых «запо­рож­цах», где-то на тет­ра­дях в клет­ку, а где-то ещё их бы учи­ли соби­рать и раз­би­рать танк. И ребё­нок, к при­ме­ру, пере­вёл­ся с уро­ков в тет­рад­ке на раз­бор тан­ка.

Непонятно, как применять знания в жизни

Когда выпуск­ник начи­на­ет изу­чать про­грам­ми­ро­ва­ние глуб­же, чем в шко­ле, то пони­ма­ет, что меж­ду его зна­ни­я­ми и совре­мен­ны­ми язы­ка­ми — про­пасть. Про­ще начать всё зано­во или вооб­ще не зани­мать­ся этим, чем опи­рать­ся на ста­рые све­де­ния.

Даже если он уме­ет хоро­шо писать код на алго­рит­ми­че­ском язы­ке или даже на Visual Basic, то в мире совре­мен­ной раз­ра­бот­ки он будет чув­ство­вать себя как авто­лю­би­тель из сере­ди­ны про­шло­го века. Перед тем как поки­нуть гараж, он каж­дый раз обя­за­тель­но вруч­ную про­ве­рит дав­ле­ние в каж­дой шине, линей­кой изме­рит люфт руле­во­го коле­са и будет искать кар­бю­ра­тор­ную заслон­ку. Сей­час же мож­но про­сто сесть и поехать, маши­на мно­гое уме­ет сама, и к ней уже совер­шен­но дру­гие тре­бо­ва­ния.

В совре­мен­ных язы­ках про­грам­ми­ро­ва­ния точ­но так же мно­гое уже встро­е­но в язык и не тре­бу­ет слож­ных дей­ствий. Возь­мём про­стую зада­чу: отсор­ти­ро­вать эле­мен­ты мас­си­ва по поряд­ку, рас­ста­вить их от боль­ше­го к мень­ше­му. На Пас­ка­ле код выгля­дит так:

А теперь посмот­рим на код JavaScript, кото­рый дела­ет то же самое:

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

Как разжечь в ребёнке интерес к программированию

Луч­ший спо­соб при­влечь детей к любо­му заня­тию, в том чис­ле про­грам­ми­ро­ва­нию, — лич­ный при­мер. Когда в семье мама и папа увле­ка­ют­ся кодом, пусть даже и непро­фес­си­о­наль­но, ребён­ку тоже будет инте­рес­но попро­бо­вать. Робо­то­тех­ни­ка, про­грам­ми­ру­е­мые кон­трол­ле­ры, Arduino и Raspberry Pi, про­грам­мы на Scratch и робо­кон­струк­то­ры — всё это помо­га­ет раз­жечь инте­рес.

Если про­сто застав­лять ребён­ка зани­мать­ся, в то вре­мя как в семье никто не инте­ре­су­ет­ся кодом, эта затея ско­рее про­валь­ная. Лич­ный при­мер — луч­ший путь.

Методические рекомендации обучения программированию в школе Текст научной статьи по специальности «Науки об образовании»

Аннотация научной статьи по наукам об образовании, автор научной работы — Родыгин Евгений Федорович

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

Похожие темы научных работ по наукам об образовании , автор научной работы — Родыгин Евгений Федорович

Текст научной работы на тему «Методические рекомендации обучения программированию в школе»

Методические рекомендации обучения программированию в школе

Родыгин Евгений Федорович (rodygin_evgeny@mail.ru)

МОУ «Лицей № 28 г. Йошкар-Олы», г. Йошкар-Ола

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

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

Читать еще:  Программирование для малышей

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

Весь процесс обучения программированию в школе разбивается на несколько этапов. Перед началом обучения учитель сталкивается с проблемой выбора языка программирования для изучения. Одна группа учителей обучают теме «Алгоритмизация и программирование» на основе формальных алгоритмов, построив обучение учащихся на языке блок-схем. Другая группа учителей информатики обучают учащихся тому языку программирования, с помощью которого умеют решать задачи, знают основы соответствующего языка и используют методически правильное изучение выбранного ими языка программирования. Тем самым потеряно единое образовательное информационное пространство не только страны, но и отдельных регионов. Таким образом, в начале обучения теме «Алгоритмизация и программирование» учителю необходимо выбрать язык программирования с учетом компетентности учителя, интересов учащихся, их направленности и структуры обучения информатике в школе. Большинство учителей в самом начале XXI века преподавали язык Basic, который стал известен множеству школьников. Сегодня во многих школах проводится изучение языка Pascal, который является более подходящим с методической точки зрения для изучения основных принципов программирования. Язык Pascal является учебным структурным языком программирования, который предполагает не только изучение алгоритмических конструкций, формирование логического и алгоритмического мышления у учащихся, но и решение сложных технологических и производственных задач. И только учащиеся небольшого числа школ изучают языки программирования Visual Basic, C, C++, Visual C++, Delphi, Java и другие.

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

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

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

Изучение темы «Алгоритмизация и программирование» на базовом уровне предлагаем начинать с 8-го класса, если существует возможность построения такого процесса обучения информатике в школе. Сначала необходимо изучать алгоритмы на формальных языках и использовать их на формальных исполнителях. В 9-м классе учащимся необходимо освоить понятие языка программирования, рассмотреть классификацию языков программирования, их необходимость и направленность. Затем рассматриваются основы структурного программирования на одном алгоритмическом языке программирования совместно с основными алгоритмическими конструкциями, для этого лучше всего выбрать язык Turbo Pascal. Начинается изучение языка программирования со знакомства с основными компонентами данного языка (константы, идентификаторы, переменные, типы данных, принципы записи математических выражений, составной оператор, пустой оператор, комментарии), основными стандартными процедурами и функциями, структурой программы на языке Pascal, описывается каждый раздел описания языка. Далее последовательно изучаются основные алгоритмические конструкции: линейная конструкция, разветвляющая конструкция (условный алгоритм), оператор множественного выбора, циклическая конструкция (циклы с параметром, с предусловием и с постусловием). Сначала учащимся дается конструкция на языке блок-схем, а затем реализация в виде программ на выбранном языке программирования. Каждая конструкция закрепляется самостоятельным решением учащимися как общих, так и индивидуальных задач на практических занятиях. В 10 классе необходимо повторить основные конструкции языка и перейти к изучению темы «Процедуры и функции». Далее рекомендуется рассмотреть понятие локальных и глобальных переменных, их отличия, способы реализации и использования на основе процедур и функций. При изучении процедур и функций на практических

занятиях учащиеся могут вспомнить основные алгоритмические конструкции. Затем осуществляется переход на изучение темы «Массивы», во время практических занятий учащиеся должны овладеть умением формирования и работой с массивами с помощью процедур и функций. При изучении данной темы учащиеся закрепляют знания алгоритмических конструкций и их использование при решении задач различного уровня сложности. В 11 -м классе на базовом уровне учащиеся знакомятся со строковым и символьным типом данных. Изучают принципы работы с символьными и строковыми переменными, также реализуя алгоритмические конструкции. Дополнительно рассматриваются такие структуры данных, как записи и множества. Изучение языка программирования заканчивается освоением понятия файловой переменной, повторением и решением задач сложного уровня, реализуя основные методы работы с данными.

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

В итоге изучения учащиеся должны знать:

— что такое алгоритм, какова роль алгоритма в системах управления;

— в чем состоят основные свойства алгоритма;

— способы записи алгоритмов: блок-схемы, учебный алгоритмический язык;

— основные алгоритмические конструкции: следование, ветвление, множественный выбор, цикл, структуры алгоритмов;

— назначение вспомогательных алгоритмов, технологии построения сложных алгоритмов: метод последовательной детализации и сборочный (библиотечный) метод;

— основные свойства величин в алгоритмах обработки информации: что такое имя, тип, значение величины; смысл присваивания;

— назначение языков программирования;

— в чем различие между языками программирования высокого уровня и машинно-ориентированными языками;

— правила представления данных на одном из языков программирования высокого уровня (например, на языке Pascal);

— правила записи основных операторов: ввода, вывода, присваивания, цикла, ветвления;

— правила записи программы;

— что такое трансляция;

— назначение систем программирования;

— содержание этапов разработки программы: алгоритмизация, кодирование, отладка и тестирование.

При этом учащиеся должны уметь:

— пользоваться языком блок-схем, понимать описания алгоритмов на учебном алгоритмическом языке;

— выполнять трассировку алгоритма для известного исполнителя;

— составлять несложные линейные, ветвящиеся и циклические алгоритмы управления на одном из учебных исполнителей;

— выделять подзадачи, определять и использовать вспомогательные алгоритмы;

— составлять несложные программы решения вычислительных задач с числами;

— программировать простой диалог;

— работать в среде одной из систем программирования (например, Turbo Pascal);

— осуществлять отладку и тестирование программы и другое.

Предложенные методические рекомендации обучения программированию с успехом используются в МОУ «Лицей № 28 г. Йошкар-Олы». Выпускники 11-х классов после изучения программирования по описанной методике в полной мере овладевают навыками программирования, которые так необходимы в современном веке развивающихся информационных технологий.

1. Аркадьев А. Г., Днепров Э. Д. Сборник нормативных документов. Информатика и ИКТ. — М.: Дрофа, 2008. — 112 с.

2. Окулов С. М. Задачи по программированию. — М.: БИНОМ. Лаборатория знаний, 2006. — 824 с.

3. Малеев В. В. Общая методика преподавания информатики: учеб. пособие. — Воронеж: ВГПУ, 2005. — 271 с.

4. ЛапчикМ. П. Теория и методика обучения информатике: учеб. для пед. вузов. — М.: Издательский центр «Академия», 2008. — 592 с.

Ссылка на основную публикацию
Adblock
detector