Раздел 2. Методика преподавания базового курса информатики. Какие отечественные языки программирования были специально разработаны для учебных целей


3.2 Языки программирования

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

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

Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня, которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Языки высокого уровня работают через трансляционные программы, которые вводят «исходный код» (гибрид английских слов и математических выражений, который считывает машина), и в конечном итоге «заставляют» компьютер выполнять соответствующие команды, которые даются на машинном языке. Трансляторы можно разделить на две группы по их работе – компиляторы и интерпретаторы.

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

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

Развитие языков программирования. До 60-х годов ХХ века использовались только машинные языки. К машинным языкам относятся двоичный язык (непосредственный компьютерный язык) и шестнадцатеричный (модификация двоичного языка, в которой четыре цифры двоичного кода заменяются одной шестнадцатеричной).

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

Один из самых старых языков программирования Фортран был создан в 50-х гг. ХХ века. Фортран и подобные ему языки программирования (Алгол, ПЛ/1) предназначались для решения вычислительных задач, возникающих в математике, физике, инженерных расчетах, экономике и т.п. Эти языки в основном работают с числами. Среди причин долголетия Фортрана можно отметить простую структуру, как самого Фортрана, так и предназначенных для него трансляторов. Программа на Фортране записывается в последовательности предложений или операторов (описание некоего преобразования информации), и оформляется по определенным стандартам. Эти стандарты накладывают ограничения, в частности, на форму записи и расположения частей оператора в строке бланка для записи операторов. Программа, записанная на Фортране, представляет собой один или несколько сегментов (подпрограмм) из операторов. Сегмент, управляющий работой всей программы в целом, называется основной программой. Язык Фортран до сих пор продолжает развиваться и совершенствоваться, оказывая влияние на создание и развитие других языков.

Например, Фортран заложен в основу Basic – диалогового языка, очень популярного для решения небольших задач, превосходного языка для обучения навыкам использования алгоритмических языков в практике программирования. Создали Basic ученые Дж. Кемени и Т. Куртц для использования в Дортмутском колледже, как средство для обучения программированию. Basic – один из самых популярных языков программирования высокого уровня, который используется и по сей день (в основном в школах для обучения программированию).

Язык программирования Алгол создан в 1960 г. (поэтому его иногда называют Алгол – 60). Развитием языка Алгол – 60 является Алгол – 68, созданный в Западной Европе Международной Федерацией. Версия Алгол – 68 обладала богатым набором средств, высокой строгостью и стройностью, но и большой сложностью. Ее реализация затянулась на долгие годы, в результате чего время было упущено и данный язык в некотором смысле, пережил самого себя – устарел, практически прекратив свое существование.

Самый известный отечественный язык программирования Рефал, разработанный в СССР в 1966 году. Этот язык прост и удобен для описания манипуляций над произвольными текстовыми объектами. Программирование на Рефале имеет специфику, связанную, прежде всего, с тем, что Рефал является языком функционального типа в отличие от обычных операторных языков. Если программа на операторных языках – ни что иное, как совокупность приказов-операторов, то программа на Рефале представляет собой по существу описание связей и отношений между определенными понятиями. Вследствие того, что в Рефале программист сам определяет структуру обрабатываемой информации, эффективность программы существенно зависит от удачного или неудачного выбора этой структуры. Для задания структур в Рефале используются скобки, а специфика всех реализаций языка такова, что использование скобок резко повышает эффективность выполнения программы. Это достигается с помощью адресного соединения скобок.

Язык программирования Паскаль является прямым развитием направления Алгола, он стал одним из наиболее популярных процедурных языков программирования среди прикладных программистов. Он разработан в 1970 г. швейцарским специалистом в области вычислительной техники профессором Н. Виртом, назван в честь французского математика Блеза Паскаля и, по замыслу автора, предназначался для обучения программированию.

Язык программирования АДА разработан в 1979 г. ведущими специалистами в области программирования по заказу Министерства обороны США для использования во встроенных системах с управляющими ЭВМ, что требует поддержки режима реального времени. Язык назван в честь Августы Лады Лавлейс, она по праву считается первым в мире программистом. АДА является продолжением направления Алгола. Язык отталкивает своей громоздкостью, хотя с 1986 г. он стал обязательным для многих военных приложений в США.

Язык программирования Си первоначально разработан в начале 70–х гг. для реализации разработки систем, трансляторов, баз данных и других системных и прикладных программ, т.е. создавался не как учебный, а как инструментальный язык. Си – это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества Си обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование Си в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на Си, сравнимы по скорости с программами, написанными на языке ассемблера. При этом они имеют лучшую наглядность и их более просто сопровождать. Си сочетает эффективность и мощность в относительно малом по размеру языке. Язык Си предъявляет достаточно высокие требования к квалификации использующего его программиста. При изучении Си желательно иметь представление о структуре и работе компьютера. Большую помощь и более глубокое понимание идей Си, как языка системного программирования, обеспечат хотя бы минимальное знание языка ассемблер. Уровень старшинства некоторых операторов не является общепринятым, некоторые синтаксические конструкции могли бы быть лучше. Сейчас очень популярна модификация языка Си – язык Си ++ (Си плюс плюс), разработанный в 1983 году.

Вопросы:

1. Что значит программный алгоритм?

2. Почему машинный язык программирования неудобен для человека?

3. Чем отличается интерпретатор от компилятора?

4. Какие вы знаете языки программирования?

studfiles.net

Учебный язык программирования — WiKi

Требования к учебному языку программирования

Учебный язык должен обеспечивать простоту, ясность и удобочитаемость конструкций. Излишняя гибкость, «вседозволенность» синтаксиса может затруднить понимание программ. Не слишком хорошо подходят для обучения языки, поощряющие к использованию различных «программистских трюков»[7]. С этим связаны преимущества использования в образовательном процессе языков семейства Pascal перед Си-подобными языками[8][9].

При выборе языка программирования не играют роль такие факторы, как его новизна, эффективность реализации (в виде компилятора или интерпретатора). Фактор распространённости имеет как психологическое значение (влияя на мотивацию учащихся), так и практическое (востребованность получаемых знаний без необходимости переучивания)[10].

Учебный язык программирования должен обеспечивать плавный переход от псевдокода к собственно программированию. Полезным в обучении может быть возможность использования национальной лексики для ключевых слов и идентификаторов[8].

Альтернативой относительно трудоёмким для изучения комплексным языкам программирования общего назначения могут составить простые миниязыки, в которых, для наглядности, имеется графический исполнитель, вроде черепашки в Лого — первом и одном из самых известных таких языков[11].

Бейсик

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

Язык Logo, появившийся на свет между Бейсиком и Паскалем, стал первым языком программирования, изначально предназначенным для обучения детей. Этот язык можно рассматривать как диалект Лиспа — языка, с которого началось функциональное программирование[20]. Хотя этот язык более известен своей черепашьей графикой и рассматривается как первый из графических исполнителей, но такие черты Лиспа, как управление последовательностью действий через рекурсию и списки в качестве основной структуры данных, также остаются свойствами этого (мультипарадигмального по своей сути) языка.

Хотя Пролог — язык, с которого началось логическое программирование, — редко рассматривают как язык начального обучения, он легко осваивается теми, кто только начинает изучать программирование. Этому способствует его ориентированность на человеческое мышление, простой, единообразный синтаксис и отсутствие таких конструкций, как ветвления или циклы[21]. Простота изучения была одной из целей дизайна языка, хотя этот язык остаётся недопонятым. Одна из причин малой распространённости Пролога в начальном обучении — отсутствие в нём удобных средств работы с интерактивной графикой, которая не слишком гладко вписывается в чистое декларативное программирование[22].

Современный «академический» диалект Лиспа — язык Scheme — был изначально ориентирован на образование[23]. Он используется в таком знаменитом курсе компьютерного программирования, как «Структура и интерпретация компьютерных программ». Публикация этой книги не только сделала Scheme популярным языком в университетской среде, но и изменила сам подход к изучению программированию[24]. Этот язык используется также в целом ряде учебников, таких как «How to Design Programs (англ.)русск.»[25], «Programming Languages: Application and Interpretation (англ.)русск.»[26], «Essentials of Programming Languages (англ.)русск.»[27] и др. Обучению программированию с нуля, с использованием Scheme, посвящена и книга Даниэля Фридмана (англ.)русск. «The Little Schemer»[28], впервые изданная под названием «The Little Lisper» в 1974 году и ставшая началом своего рода трилогии. Первая книга, посвящённая языку Racket (прямому потомку Scheme), «Realm of Racket»[29], также представляет собой учебник для детей (впрочем, эта книга одновременно является переработанным вариантом учебника «Land of Lisp»[30], основанного на Common Lisp).

Серьёзным конкурентом различным вариантам Лиспа в университетских курсах функционального программирования стал язык Haskell. Авторы этого языка предназначили его в равной мере для обучения, научных исследоваий и практических приложений[31]. Его отличает то, что он представляет собой чисто функциональный язык программирования, реализующий типизированное лямбда-исчисление, его синтаксис приближён к традиционной математической нотации[32][33].

В 1991 году профессор Лувенского католического университета в Бельгии Герт Смолка начал разработку мультипарадигмального языка Oz. Язык позволяет писать программы в стиле любой из основных распространённых парадигм программирования: как декларативных, таких как логическое и функциональное программирование, так и императивных. Этот язык используется как основа для обучающего курса «Concepts, Techniques, and Models of Computer Programming (англ.)русск.»[34].

Паскаль

Разработанный в качестве развития линии Algol-60 Никлаусом Виртом язык программирования Паскаль автор с самого начала использовал для вводного курса программирования для студентов[2]. Этот язык быстро начал набирать популярность в таком качестве.

Turbo Pascal, Delphi и Free Pascal широко использовались и продолжают использоваться для обучения студентов и школьников. Зародившийся в 2002 году на физфаке МГУ международный научно-образовательный проект «Информатика-21»[35] поставил своей целью внедрение в российское образование системы программирования BlackBox Component Builder[36], реализации Компонентного Паскаля, диалекта Oberon-2 — объектно-ориентированного языка паскаль-семейства, разработанного Виртом. Как и другие языки Никлауса Вирта, он отличается (в том числе от Объектного Паскаля в стиле Borland) минимализмом.

Языки, разработанные для российской школы

Для преподавания элементов программирования в рамках курсов информатики было разработан ряд учебных языков программирования с русскими ключевыми словами[37]. В группе академика А. П. Ершова был выработан подход с изучением двух языков программирования — более простого, предназначенного в основном для управления графическим исполнителем, и более продвинутого универсального. В качестве такой пары были разработаны языки Робик и Рапира[13]. Основными российскими образовательными языками являются:

Для начального обучения программированию могут также использоваться простые языки управления графическими исполнителями, такими как Кукарача в системе Роботландия или Кенгурёнок Ру[13].

См. также

Примечания

  1. ↑ Андрей Колесов. Basic — этапы большого пути (авторский вариант статьи). Опубликована с незначительной литературной правкой в журнале «Наука и жизнь», 2000, № 10. С. 18—20.
  2. ↑ 1 2 Wirth N. Recollections about the development of Pascal (HOPL II), 3.3
  3. ↑ Bill Venners. The Making of Python. A Conversation with Guido van Rossum. Part I. 2003, January 13.
  4. ↑ Язык Лого на сайте «История компьютера»
  5. ↑ Система программирования КуМир → Учебники
  6. ↑ Александр Казанцев.  Школа. Исполнители и алгоритмы // Linux Format. — январь 2010 г.. — № 126-127 (1).
  7. ↑ Psychology, 1990, 1. Introduction, p. 176.
  8. ↑ 1 2 Кобилов С. С.  Образовательная информатика: подход к обучению, выбор учебных языков и создание программных систем. — Самаркандский государственный университет.
  9. ↑ Столяров А. В.  Эссе «Язык Си и начальное обучение программированию»
  10. ↑ Лобачёв А. А., Куликова О. В. Выбор языка для обучения программированию, ИТО-2008.
  11. ↑ Mini-languages: a way to learn programming principles
  12. ↑ Дейкстра Эдсгер на сайте «История компьютера»
  13. ↑ 1 2 3 Леонов А. Г., Первин Ю. А.  Роль и место темы «Элементы программирования» в общем школьном информатическом образовании // Компьютерные инструменты в образовании. Информатизация образования. — СПб.: ЦПО, 1999. — № 5. — С. 14-23.
  14. ↑ Джеймс М. Рено.  Хотите научиться программировать? = So You Want To Learn to Programm? / Пер. с англ. С. Ирюпина, В. Чёрного. — М.: Альт Линукс, 2011. — 320 с. — ISBN 978-5-905167-06-5.
  15. ↑ В нём, к примеру, отсутствуют процедуры и функции. Другой, подобный современный диалект — Basic4GL (англ.)русск.
  16. ↑ David Brin.  Why Johnny can't code // Salon Magazine. — 2006. — № от 14 сентября.
  17. ↑ Small Basic для начинающих
  18. ↑ Самарина А. Е. Использование свободного программного обеспечения в образовании (Смоленский государственный университет)
  19. ↑ Visual Basic Express Edition
  20. ↑ Сеймур Пейперт. История компьютера. Проверено 25 марта 2014.
  21. ↑ Шрайнер П. А.  Лекция 1: Введение в язык логического программирования Пролог // Основы программирования на языке Пролог. — ИНТУИТ. — ISBN 978-5-9556-0034-5.
  22. ↑ Psychology, 1990, 3. The Misconception Problem: Prolog, pp. 186-190.
  23. ↑ Gerald Jay Sussman and Guy Lewis Steele, Jr. Scheme: An Interpreter for Extended Lambda Calculus. — MIT AI Lab. AI Lab Memo AIM-349. December 1975. [1] from Lambda Papers (англ.)русск.
  24. ↑ Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi.  The Structure and Interpretation of the Computer Science Curriculum // Journal of Functional Programming. — 2004. — Vol. 14. — P. 365. — DOI:10.1017/S0956796804005076.
  25. ↑ Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi.  How to Design Programs. — MIT Press, 2001. — 723 p. — ISBN 9780262062183.
  26. ↑ Shriram Krishnamurthi.  Programming Languages: Application and Interpretation.
  27. ↑ Daniel P. Friedman, Mitchell Wand.  Essentials of Programming Languages. 3rd edition. — MIT Press, 2008. — 432 p. — ISBN 9780262062794.
  28. ↑ Daniel P. Friedman, Matthias Felleisen.  The Little Schemer. — MIT Press, 1996. — ISBN 978-0-262-56099-3.
  29. ↑ Matthias Felleisen, David Van Horn, Conrad Barski et al.  Realm of Racket: Learn to Program, One Game at a Time!. — No Starch Press, 2013. — ISBN 978-1-59327-491-7.
  30. ↑ Conrad Barski.  Land of Lisp: Learn to Program in Lisp, One Game at a Time!. — No Starch Press, October 2010. — 504 p. — ISBN 978-1-59327-281-4.
  31. ↑ Jones, Simon Peyton.  Preface. The Haskell 98 report. Haskell 98 working group (2002). Проверено 4 апреля 2009.
  32. ↑ Philip Wadler.  Why calculating is better than scheming // ACM SIGPLAN Notices. — 1987. — P. 83—94.
  33. ↑ Richard Bird.  Introduction to Functional Programming using Haskell. 2nd edition. — Prentice Hall, 1998. — P. 66.
  34. ↑ Peter Van Roy, Seif Haridi.  Concepts, Techniques, and Models of Computer Programming. — MIT Press, March 2004. — ISBN 0-262-22069-5.
  35. ↑ Международный научно-образовательный проект Информатика-21
  36. ↑ Ткачёв Ф. В.  Обучение программированию: российская перспектива // Modular Programming Languages. Lecture Notes in Computer Science 2789. — Springer-Verlag, 2003. — С. 69-77.
  37. ↑ Городняя Л. В.  Школьная информатика // Марчук А. Г.  Андрей Петрович Ершов — учёный и человек. — Новосибирск: Изд-во СО РАН, 2006. — 503 с. — (Наука Сибири в лицах). — ISBN 978-5-7692-0819-5.
  38. ↑ Варсанофьев Д. В., Кушниренко А. Г., Лебедев Г. В.  E-практикум — программное обеспечение школьного курса информатики и вычислительной техники // Микропроцессорные средства и системы. — 1985. — № 3. — С. 27—32.

Литература

Ссылки

ru-wiki.org

Учебный язык программирования - это... Что такое Учебный язык программирования?

Уче́бный язык программи́рования — язык программирования, предназначенный для обучения. В качестве таковых разрабатывались такие языки как BASIC[1] и Паскаль[2]. Из разработанного для обучения языка ABC вырос Python[3]. Популярным языком, разработанным специально для образования является LOGO[4]. Специально для российских школ разработана языковая среда КуМир[5]. Набирает популярность созданный в Массачусетском технологическом институте язык визуального программирования Scratch и тому подобные среды программирования[6].

Требования к учебному языку программирования

Учебный язык должен обеспечивать простоту, ясность и удобочитаемость конструкций. Излишняя гибкость, «вседозволенность» синтаксиса может затруднить понимание программ. С этим связаны преимущества использования в образовательном процессе языков семейства Pascal перед Си-подобными языками.[7][8]

При выборе языка программирования не играют роль такие факторы, как его новизна, эффективность реализации (в виде компилятора или интерпретатора). Фактор распространённости имеет как психологическое значение (влияя на мотивацию учащихся), так и практическое (востребованность получаемых знаний без необходимости переучивания)[9].

Учебный язык программирования должен обеспечивать плавный переход от псевдокода к собственно программированию. Полезным в обучении может быть возможность использования национальной лексики для ключевых слов и идентификаторов[7].

Альтернативой относительно трудоёмким для изучения комплексным языкам программирования общего назначения могут составить простые миниязыки, в которых, для наглядности, имеется графический исполнитель, вроде черепашки в Лого — первом и одном из самых известных таких языков.[10]

Языки разработанные для российской школы

Для преподавания элементов программирования в рамках курсов информатики было разработан ряд учебных языков программирования с русскими ключевыми словами. В группе академика А. П. Ершова был выработан подход с изучением двух языков программирования — более простого, предназначенного в основном для управления графическим исполнителем, и более продвинутого универсального. В качестве такой пары были разработаны языки Робик и Рапира.[11] Основными российскими образовательными языками являются:

  • Робик (включает ряд графических исполнителей: Муравей, Маляр и др.)
  • Рапира (предназначен для изучения после Робика)
  • Школьный алгоритмический язык и его реализация Е-практикум
  • КуМир (современный диалект школьного алгоритмического языка, включает графические исполнители Чертёжник и Робот)

Для начального обучения программированию могут также использоваться простые языки управления графическими исполнителями, такими как Кукарача в системе Роботландия или Кенгурёнок Ру[11].

Бейсик

BASIC, англ. Beginner’s All-purpose Symbolic Instruction Code — стал в начале 60-х первым, получившем распространение языком программирования для обучения начинающих. Однако он получил резкую критику за несоответствие принципам структурного программирования и лёгкость создания спагетти-кода. Известно высказывание Эдсгера Дейкстры — «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». Под влиянием этой критики создатели Бейсика Джон Кемени и Томас Курц в 1975 расширили язык структурными средствами и отказались от практики использования GOTO. В 80-х годах они создали обновлённый вариант языка, названный True BASIC (англ.)русск.[12]. Современные распространённые диалекты Бейсика (QBasic, Visual Basic) имеют microsoftовское подтверждение, однако и они имеют мало общего с прародителем, являясь вполне современными структурными языками программирования[11]. Специально для целей обучения созданы следующие диалекты Бейсика.

В школьное образование также внедряется «Visual Basic для Linux» Gambas[17], Доступна бесплатная образовательная экспресс-версия Visual Basic .NET[18].

Другие

Примечания

  1. ↑ Андрей Колесов. Basic — этапы большого пути Авторский вариант. Статья была опубликована c незначительной литературной правкой в журнале «Наука и жизнь» № 10/2000, с. 18—20.
  2. ↑ Wirth N. Recollections about the development of Pascal (HOPL II), 3.3
  3. ↑ The Making of Python, A Conversation with Guido van Rossum, Part I. by Bill Venners, January 13, 2003
  4. ↑ Язык Лого на сайте «История компьютера»
  5. ↑ Система программирования КуМир → Учебники
  6. ↑ Александр Казанцев Школа. Исполнители и алгоритмы // Linux Format. — январь 2010 г.. — № 126-127 (1).
  7. ↑ 1 2 С. С. Кобилов Образовательная информатика: подход к обучению, выбор учебных языков и создание программных систем. — Самаркандский государственный университет.
  8. ↑ Эссе «Язык Си и начальное обучение программированию», А. В. Столяров
  9. ↑ Выбор языка для обучения программированию, Лобачев Александр Александрович, Куликова Ольга Валентиновна, ИТО-2008
  10. ↑ Mini-languages: a way to learn programming principles
  11. ↑ 1 2 3 Леонов А.Г., Первин Ю.А. Роль и место темы «Элементы программирования» в общем школьном информатическом образовании. // Компьютерные инструменты в образовании. Информатизация образования. — СПб.: ЦПО, 1999. — № 5. — С. 14-23.
  12. ↑ Дейкстра Эдсгер на сайте «История комьютера»
  13. ↑ Джеймс М. Рено Хотите научиться программировать? = So You Want To Learn to Programm? / пер. с англ. С. Ирюпин, В. Чёрный. — М.: Альт Линукс, 2011. — 320 с. — ISBN 978-5-905167-06-5
  14. ↑ В нём, к примеру, отсутствуют процедуры и функции. Другой, подобный современный диалект — Basic4GL (англ.)русск.
  15. ↑ Brin, David (Sept 14, 2006). «Why Johnny can't code». Salon Magazine. Проверено 4/12/09.
  16. ↑ Small Basic для начинающих
  17. ↑ Использование свободного программного обеспечения в образовании, Самарина А.Е., Смоленский государственный университет
  18. ↑ Visual Basic Express Edition
  19. ↑ Psychology, 1990, 3. The Misconception Problem: Prolog, pp. 186-190

Литература

  • Patrick Mendelson, T. R. G. Green and Paul Brna Ch. 2.5. Programming Languages in Education: The Search for an Easy Start // Psychology of Programming / M. Hoc, T.R.G. Green, R. Samurçay and D.J. Gilmore (eds.). — Academic Press, 1990. — P. 175-200. — ISBN 0-12-350772-3

Ссылки

dic.academic.ru

Структура и содержание первой

Отечественной программы учебного

Предмета оивт. Учебный алгоритмический

Язык а. П. Ершова

В основу разработки первой программы школьного курса «Основы информатики и вычислительной техники» (1985) были положены три базовых понятия: информация, алгоритм, ЭВМ [23]. Эти понятия и составили концептуальную основу первой версии содержания школьного предмета информатики, именно этой системой понятий определялся обязательный для усвоения учащимися объем теоретической подготовки.

Содержание обучения складывалось на основе фундаментальных компонентов алгоритмической культуры и далее компьютерной грамотности учащихся (см. подраздел 3.2) и определялось через задачи нового школьного курса следующим образом [23, с. 5-6]:

• систематизация и завершение алгоритмической линии курса алгебры восьмилетней школы;

• овладение основными умениями алгоритмизации;

• формирование представлений о возможности автоматизации выполнения алгоритма;

• усиление прикладной и политехнической направленности алгоритмической линии, заключающееся в конкретной реализации алгоритмов решения задач с помощью ЭВМ;

• ознакомление с основами современной вычислительной техники на примере рассмотрения общих принципов работы микрокомпьютера;

• формирование представления об этапах решения задачи на ЭВМ;

• ознакомление с основными сферами применения вычислительной техники, ее ролью в развитии общества.

Курс ОИВТ ставился в двух старших классах средней школы (по действующему в то время учебному плану — IX и X кл.). В IX кл. на изучение курса отводилось 34 часа (1 час в неделю). В X кл. в зависимости от возможности организации практической работы школьников на ЭВМ объем и содержание курса дифференцировались на два варианта — полный и краткий:

— полный курс (68 часов) — для школ, располагающих вычислительными машинами или имеющих возможность организовать систематические занятия школьников на ВЦ других организаций;

— краткий курс (34 часа) — для школ, не имеющих такой возможности.

Теоретическая часть курса для X кл. — единая для обоих вариантов, отличие только в объеме и содержании практической части. Для школ, имеющих доступ к ЭВМ, дополнительные 34 часа рекомендовалось использовать для решения на ЭВМ различных задач, отработки навыков применения компьютера и его программного обеспечения. При определении содержания курса остается важным вопрос о последовательности изучения его тем. Две эти задачи (определения содержания обучения и построение оптимальной последовательности изучения, соответствующей логике науки и уровню развития учащихся) тесно взаимосвязаны. Основное содержание школьного курса ОИВТ в соответствии с программой [23] складывалось из следующих тем:

IX класс

(1 ч в неделю, всего 34 ч)

1. Введение — 2ч.

2. Алгоритмы. Алгоритмический язык — 6ч.

3. Алгоритмы работы с величинами — 10 ч.

4. Построение алгоритмов для решения задач — 16ч.

X класс

(1 ч в неделю, всего 34 ч)

5. Принципы устройства и работы ЭВМ — 12 ч.

6. Знакомство с программированием — 16 ч.

7. Роль ЭВМ в современном обществе. Перспективы развития вычислительной техники — 2ч.

8. Экскурсии на вычислительный центр — 4ч.

Подробный логико-дидактический анализ всех тем первой версии курса ОИВТ приведен в двух первых (соответственно, по первой и второй частям курса) специально составленных книгах для учителя [8, 9], в которых подробно разъяснялись новые для школьных учителей разделы учебного материала и методические особенности его преподавания.

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

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

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

Основным средством описания алгоритмов, заложенным в самой программе курса ОИВТ [23] и последовательно используемом в обеих частях пробного учебного пособия для учащихся [21, 22] является специально разработанный под руководством А. П. Ершова учебный алгоритмический язык. Теперь, по прошествии уже достаточно большого времени можно уверенно сказать, что приобретенная этим языком с самого начала его использования репутация наилучшего средства обучения основам алгоритмизации в «безмашинном варианте» полностью подтвердилась. Обладая определенной свободой записей (в нем нет на начальной стадии применения строгих и формальных правил нотации), учебный алгоритмический язык позволяет, тем не менее, познакомиться со всеми основными понятиями и методами алгоритмизации. Кроме того, он обладает целым рядом привлекательных свойств, которые и объясняют, почему при выборе дидактического средства для записи алгоритмов в курсе информатики именно этому языку было отдано предпочтение перед широко распространенными в то время официальными языками программирования (например, Бейсиком):

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

2. Структурность. Учебный алгоритмический язык (в отличие, скажем от того же Бейсика, использующего построчную алгоритмическую нотацию) построен на куда более современных идеях структурного программирования. Внутренняя структурная единица алгоритмического языка — составная команда — обеспечивает единство структуры алгоритма и его записи, что наилучшим образом соответствует операционному мышлению человека.

3. Независимость от ЭВМ. В алгоритмическом языке нет деталей, связанных с устройством машины, что позволяет сосредоточить внимание на алгоритмической сути решаемых задач.

При введении курса ОИВТ в школу программа этого предмета, на основе которой писались пробные учебные пособия, сами эти пособия, как и выбранная для размещения в школьном учебном плане позиция для курса ОИВТ (два завершающих года обучения в школе) — все это подвергалось резкой, иногда просто уничижительной критике. Одна из главных мишеней для критики — это относительная избыточность алгоритмизации и программирования (действительно, на непосредственно связанные с программированием разделы 2, 3, 4 и 6 программы в явном виде выделялось 48 часов из 68). Объяснение здесь простое: при составлении программы принимался во внимание не столько научно-методический анализ соответствующих тому времени требований к общеобразовательной подготовке школьников в области информатики, сколько реальное состояние отечественной практики в этой области, реальные возможности оснащения школ материально-технической базой, реальное состояние готовности учительских кадров. Этим объяснялось многое: и то, что вопреки желанию самих разработчиков первой программы она умышленно ориентировалась на «безмашинный» вариант обучения, и то, что вместо широкой подготовки к жизни и деятельности в современном информационном обществе она едва ли не подавляющую часть учебного времени отводила на алгоритмизацию и программирование, через которые в первой программе преимущественно и рассматривалась общеобразовательная функция предмета информатики.

studfiles.net

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

 

Мнения о том, какой язык программирования лучше преподавать в школе, разнятся: от того, что программирование изучать не нужно, а следует просто поднимать компьютерную грамотность и осваивать офисные программы (как Западе), до того, что нужно изучать операционные системы и несколько языков программирования с различными парадигмами. Это крайние случаи, но золотую середину найти непросто. В первую очередь, нужно определить цель. Научить школьников логически и алгоритмически мыслить? Познакомить с компьютерами на бытовом уровне, чтобы школьники умели пользоваться Интернетом, электронной почтой, текстовым графическим редакторами? Заложить базовые знания, необходимые для будущих инженеров, математиков, физиков и специалистов по информационным технологиям? А может, нужно каждого школьника познакомить с программированием как явлением, чтобы он представлял потенциал компьютерных систем? Много ли школьников станет программистами? Немного. Безусловно, в науке о программировании есть фундаментальная составляющая, но определить её непросто. Некоторые считают, что не так важно, какой язык программирования взять: на уроках информатики нужно учить не языку программирования, а методам программирования и системному подходу решения задач. Нужно развивать алгоритмическое мышление и на примерах знакомиться с принципами построения современных компьютерных систем.

Неужели действительно не так важно, какая среда и какой конкретный язык программирования будет использован для практических занятий? У каждого преподавателя есть свой список требований к учебному языку программирования. Набор требований может быть, например, таким: простой, интуитивный синтаксис, наличие высокоуровневых инструментов для обнаружения и недопущения ошибок и для отладки программ, наличие качественной документации с примерами, наличие дружелюбной среды разработки, кроссплатформенность (наличие версий под различные платформы), …

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

С другой стороны IT-технологии развиваются очень быстро, появляются новые платформы, языки программирования (Java, C#, Python…), технологии. Современному программисту приходится постоянно «держать руку на пульсе». Именно поэтому программу обучения школьников программированию нужно тщательно продумывать со взглядом в будущее.

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

В программировании есть несколько парадигм, подходов к созданию программ: модульная парадигма, процедурные парадигма, объектно-ориентированная парадигма. В школах обычно преподают процедурный подход к программированию, в то время как ООП (объектно-ориентированное программирование) — очень редко или никогда.

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

Какие из современных используемых на практике языков годятся на роль первого языка? Наверное, это императивный, строго типизированный, со статической типизацией и строгой семантикой язык. Turbo-Pascal всему этому соответствует, но он уже почти мертв.

В последнее время наметилась явная тенденция перехода обучения от алгоритмических к объектно-ориентированным языкам с использованием визуальных систем программирования (Delphi, Visual Basic, Visual C++ и т. д.). Прежде всего, программирование подразумевает написание программы, а что для учащегося означает «программа»? Ответ очевиден, программа — это то, с чем он работает на компьютере каждый день, например, текстовый процессор или Интернет- обозреватель. Т. е. для ученика программа — это приложение с графическим оконно-кнопочным интерфейсом. Значит, программа, которую он будет составлять должна быть такой же. И здесь визуальные среды программирования дают широкие возможности ученику в реализации такого приложения. Старый добрый Turbo-Pascal тоже хорош для изучения принципов программирования, но его терминальный интерфейс плохо воспринимается современными школьниками.

Так как объектно-ориентированное программирование (ООП) — это основа всех современных языков программирования, то его необходимо начинать изучать ещё в школе, чтобы учащиеся, придя в высшие учебные заведения, уже имели правильное представление о программировании. Такое утверждение очевидно не является бесспорным, так как для большинства учащихся их дальнейшее образование не связано с разработкой IT технологий.

Первый язык программирования должен быть требовательным к ученику. Необходимо, чтобы ученик имел чёткое представление о том, что его программа делает на каждом шаге, и уметь записывать алгоритмы на строгом формальном языке, без лишних “вольностей”. Первый язык должен быть cтрого типизированным, ибо смешение целых чисел, вещественных чисел и текстовых переменных приводит у начинающих программистов к неправильному представлению о методах хранения данных в памяти компьютера. Чем больше сообщений об ошибках ученики увидят от компилятора, и чем больше из этих сообщений они поймут, тем больше фундаментальных знаний о программировании они получат. Паскаль — неплохой язык в этом смысле. Но этот язык редко применяется на практике, и специалист по Паскалю оказывается мало востребованным на рынке труда.

Вероятно, в этом заключается основная “неудовлетворенность” учащихся, которые решили совершенствоваться в программировании. Для реальной работы им приходится учить более популярный язык (Java, C/C++, PHP, Python и т. д.). Однако использование Си в качестве начального языка программирования имеет ряд проблем: в нём много отпугивающих конструкций даже для интересующихся программированием учащихся. С другой стороны, никто не заставляет учителей показывать все глубины Си. С ним можно работать на том же уровне, что и с Паскалем, используя соответствующие конструкции.

Одним из лучших языков программирования для старта считался и считается Pascal, так как он был придуман специально для обучения основам программирования. Но есть «но»: язык устарел, его никто из компаний не использует в коммерческих целях. Можно, конечно, начать изучение программирования с Pascal, но после основ всем придётся учить новый язык, с другим синтаксисом, с новыми правилами. Паскаль даёт свои плюсы в обучении и, возможно, даже стоит самые основные понятия показать на Паскале. Но нет смысла обучать всему «от и до» на языке Pascal и его библиотеки. Лучше это время потратить на изучение языков и технологий, которые сейчас используются и будут использоваться ближайшие 10–20 лет.

Паскаль — это тот самый инструмент (более упрощённый, чем С), который научит, как вообще нужно «идеологически» подходить к программированию. Почему сначала нужно объявлять типы переменных, что операция присваивания значения и логическое равенство — это разные вещи. Когда делаешь элементарные ошибки в Паскале, то программа не будет работать. Это чисто обучающая база. Существуют альтернативы для Turbo Pascal, которые можно использовать в учебном процессе.

FreePascal — бесплатный компилятор Паскаля, отвечающий современным требованиям и обладающий средой разработки один в один похожей на Turbo Pascal, что делает возможным использования большей части методической литературы, написанной для последнего. Работает под Windows и Linux. Рекомендуется как самый простой способ замены Turbo Pascal. Отсутствуют проблемы с лицензией.

PascalABC — удобная среда разработки, работающая под Windows. С 2007 года разрабатывается версия PascalABC.net — та же среда, но написанная с использованием технологии.NET. Система создавалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда программирования. С лицензией проблем нет.

Lazarus — среда разработки, использующая компилятор FreePascal, но при этом поддерживающая разработку современных оконных приложений. Позиционируется как, совместимая с Delphi, но учебный материал, написанный для последней, применим не всегда. Интерфейс более сложен по сравнению с IDE FreePascal. Рекомендуется использовать при достаточной квалификации преподавателя.

Использование Turbo/Free Pascal в процессе обучения программированию — это почти идеальный вариант для обучения алгоритмам, без понимания которых дальше лучше не программировать (и не имеет значения дальнейшая специализация — будет ли человек работать на ассемблере под микроконтроллеры, или посвятит себя разработке софта на языках высокого уровня с применением современных парадигм).

Выбор современных систем визуального проектирования (Delphi, Lazarus, Visual Studio и т. д.) на начальном этапе обучения программирования вызывает ряд проблем. При создании проекта система автоматически генерирует большой объем кода, связанный с работой визуальных компонентов и не относящийся к решению поставленной задачи. Всё сразу объектно-ориентированное, а ученику, для начала бы, разобратьсяс циклами, массивами, условными операторами...

На сегодняшний день наиболее удачным выбором, скорее всего, был бы Питон (Python) + приличная IDE (Eclipse или PyCharm), с тестированием приложений во встроенной консоли. Питон был создан более 20 лет назад и по сей день используется и в обучении основам программирования, и в коммерческих целях. На нем можно разрабатывать серверные и клиентские программы, сайты и веб сервисы, мобильные приложения и программировать роботов. Самое главное, что на рынке труда Python-программисты получают широкую востребованность, и она будет расти еще много лет, ведь язык Python используют крупные корпорации в своих коммерческих проектах.

Python — это полноценный язык программирования высокого уровня. Он поддерживает целый ряд парадигм: модульная парадигма, процедурная парадигма, объектно-ориентированная парадигма, функциональная парадигма. Немаловажно, что Python распространяется свободно на основании лицензии подобной GNU General Public License.

Программа на Питоне зачастую не требует изменений для запуска ее на другой операционной системе. Программы успешно работают как под Linux, так и под Windows. Питон является интерпретируемым языком. Это очень хорошо, так как можно пробовать идеи «на ходу», без ввода ненужного кода. Python характеризуется ясным синтаксисом. Читать код на этом языке программирования достаточно легко, т. к. в нем мало вспомогательных элементов, а правила языка заставляют программистов делать отступы. Понятно, что хорошо оформленный текст с малым количеством отвлекающих элементов читать и понимать легче.

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

Питон относится к языкам с практическим отсутствием программной «магии». Исключения составляют только метаклассы, но до них нужно дорасти. А это минимум 2–3 года изучения. Питон обладает большим количеством готовых решений и библиотек. Большая часть из них бесплатна.

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

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

Многие преподаватели заявляют, что не важно, какому языку обучать, главное — чтобы ученик разбирался в алгоритмах. Это правда, но только отчасти. Изучение алгоритмистики, умение читать и составлять качественные алгоритмы — это основы основ. Понимая азы программирования, и разбираясь в синтаксисе одного языка, можно разобраться в синтаксисе другого языка. Но есть языки с отличными синтаксисами, собственными конструкциями, которых нет в других языках. В результате может получиться так, что понимание алгоритма есть, а синтаксис без справочника прочитать сложно или невозможно.

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

Важно, чтобы учитель информатики не забывал о главном — что цель не изучить конкретный язык программирования, а развивать алгоритмическое мышление, знакомить с разными стилями мышления и методами, которые применимы при решении различных задач. Одним из вариантов такого подхода является знакомство (без детального изучения) с несколькими языками программирования. Достаточно вместе с классом разобрать несколько простых классических алгоритмических задач.

 

Литература:

 

  1.      Лапчик М. П., Семакин И. Г., Хеннер Е. Г. Методика преподавания информатики: Учебное пособие для студентов педвузов — М.: Издательский центр “Академия”, 2003–624 с.
  2.      Захарова И. Г. Информационные технологии в образовании: Учебное пособие для студ. высш. учеб. заведений — М.: Издательский центр “Академия”, 2005–192 с.
  3.      Угринович Н. Д. Информатика и ИКТ. Профильный уровень: учебник для 10 класса / 9-е изд., испр. и доп. — М.: БИНОМ, Лаборатория знаний. 2012. — 295с.
  4.      Поляков К. Ю. Информатика. Углубленный уровень: учебник для 10 класса: в 2ч. Ч. 2 — М.: БИНОМ, Лаборатория знаний. 2013. — 304 с.
  5.      Поляков К. Ю. Информатика. Углубленный уровень: учебник для 11 класса: в 2ч. Ч. 2 — М.: БИНОМ, Лаборатория знаний. 2013. — 304 с.
  6.      Авдошин С. М., Ахметсафина Р. З., Максименкова О. В. Информатика и ИКТTU”Учебно-справочные материалы. М.: СПб.: Просвещение. 2012.-252с.

moluch.ru

Контрольные вопросы и задания 34 (3) - Контрольные вопросы

С какими двумя целевыми аспектами связано изучение алгоритмизации? (70)

  • С какими двумя целевыми аспектами связано изучение алгоритмизации? (70)

  • Какие отечественные языки программирования были специально разработаны для учебных целей? (80)

    А. Альфа. Б. Бета. В. Гамма. Г. Алгол 60. Д. Рапира. Е. Лого. Ж. Кумир.

    1. Почему не во всех школьных учебниках информатики приводится строгое определение алгоритма? (100)

    2. Какие типы задач следует рассматривать при изучении понятия алгоритма? (100)

    3. Что такое «учебный исполнитель»? (80)А. Робот. Б. Компьютер. В. Исполнитель, работающий под управле­нием ученика. Г. Исполнитель, удовлетворяющий ряду условий.

    4. Приведите примеры учебных исполнителей, описан­ных в учебниках и задачниках по информатике. (80)Кукарача, Муравей, Кенгуренок, Черепашка, Чертежник, Магнитофон, Робот.

    5. Для каких целей используют на уроках информатики блок-схемы?(60)

    6. В какой методической последовательности следует изучать понятие величины и ее свойств?(100)

    7. Какие методические проблемы возникают при изуче­нии понятий «переменная» и «присваивание»? как их разрешать? (100)

    8. Почему при обучении программированию следует изу­чать архитектуру ЭВМ?(80)

    9. В каком объеме следует изучать программирование в базовом курсе информатики?(80)

    10. Какие языки программирования наиболее подходят для вводного курса по программированию? (70)

    11. На каких примерах и аналогиях следует объяснять уче­никам разницу между языками программирования и системами программирования?(80)

    53. Как со временем менялось содержание линии «Ин-формационные технологии» в школьной информати-

    ке?(80)

    1. Чем в принципе должно отличаться преподавание ин­формационных технологий в базовом курсе информа­тики от их изучения в рамках образовательной области « Технология»? (80)

    2. Какие базовые технологические навыки получают уче­ники при освоении текстового редактора? (80)

    3. Какие вопросы, изучаемые в базовом курсе информа­тики относятся к теоретическим основам компьютер­ной графики?(80)

    4. Какие практические навыки должны получить ученики при изучении компьютерной графики в базовом курсе информатики?(80)

    5. Какие методические преимущества имеет применение локальной сети в учебном процессе по сравнению с набором отдельных компьютеров? (80)

    Разделы 3 и 4. Методика преподавания профильных курсов информатики.

    Методика преподавания информатики в начальной

    школе.

    Методические указания по проведению контроль­ной работы

    Вопросы и варианты заданий предназначены для про­верки знаний и умений студентов по указанным те­мам, а также знания по педагогической психологии. Проверяемые умения: анализ содержания обучения и программ профильных курсов по информатике и ИКТ; выбор методов и средств обучения. Варианты контрольной работы содержат по 5 во­просов, одна часть которых с выбором ответов, а другая - предусматривает свободное конструирова­ние ответа.

    Контрольные вопросы

    1. Для какой цели в учебный план школы включены про­фильные курсы по информатике?

    2. Когда целесообразно начинать изучение школьниками профильных курсов?

    3. Какое название имеют два типа профильных курсов по информатике в старших классах?

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

    5. Какие методические приемы и аналогии следует ис­пользовать при объяснении устройства и работы гло­бальной сети?

    6. Какие методические приемы и аналогии следует ис­пользовать при объяснении технологии «сервер-клиент»?

    7. Какие практические задачи можно предлагать уча­щимся для работы в Интернете?

    8. С какими элементами теории баз данных следует зна­комить учащихся в базовом курсе информатики?

    9. Какие языки программирования рекомендуется изу­чать в профильных курсах, ориентированных на про­граммирование?

    A. Алгол и Фортран.

    Б. Бейсик и Ассемблер.

    B. Паскаль и Рапира.Г. Бейсик и Паскаль.A.Visual Basic.

    Е. Пролог.

    Ж. Турбо Паскаль.

    1. Какие типовые конструкции алгоритмов следует изу­чать в профильных курсах, ориентированных на про­граммирование?

    2. Что должно быть содержанием образования в про­фильных курсах, ориентированных на информацион­ные технологии?

    3. Перечислите названия информационных технологий, которые следует изучать с учащимися?

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

    5. Какие методические приемы следует использовать при объяснении смысла относительной адресации в электронных таблицах?

    6. На каких школьных предметах, кроме информатики, ученики могут использовать электронные таблицы?

    7. Какие аналогии следует использовать при изучении протокола передачи сообщений электронной почты?

    8. С какого класса целесообразно начинать изучение ин­форматики?

    9. Каковы цели и задачи обучения информатике млад­ших школьников?

    10. Каковы особенности преподавания информатики в на­чальной школе?

    11. Для чего нужна пропедевтика основ информатики в начальной школе?

    12. Какие основные понятия информатики следует изучать с учащимися младших классов?

    13. Что должно быть содержанием обучения по информа­тике для младших школьников?

    14. Каким образом вводят единицы измерения информа­ции в школьном курсе информатики?

    15. Опишите особенности работы на компьютере младших школьников.

    16. Требования к обучающим программам для младших школьников.

    17. Приведите дидактические требования к развивающим компьютерным играм для младших школьников.

    18. Сколько часов в неделю в базисном учебном плане школы выделено на изучение информатики в началь­ных классах?

    19. Опишите психологические особенности обучения ин­форматике младших школьников.

    20. Сколько времени допускается непрерывная работа на компьютере для учащихся 2 - 4 классов?

    А. 10 минут. Б. 15 минут. В. 20 минут. Г. 25 минут. Д. 30 минут.

    30. Какие типы программ входят в пакет «Роботландия»?

    31. В каких целях можно использовать на занятиях пакет программ «Роботландия»?

    Раздел 5. Методика преподавания матема­тики с применением информационных тех­нологий

    Методические указания к проведению работы

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

    Все варианты заданий содержат вопросы, тре­бующие свободного конструирования ответов.

    Контрольные вопросы к тесту

    1. Какие методические подходы имеют место при отборе содержания курса школьной математики с применени­ем информационных технологий?

    2. Какие прикладные программы математического про­филя целесообразно использовать на уроках матема­тики в школе?

    3. Какие информационные ресурсы Интернет можно ре­комендовать учащимся при изучении математики?

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

    5. Какие математические задачи с применением инфор­мационных технологий вы решали на практике в шко­ле?

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

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

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

    9. Какие программные средства офисного пакета можно использовать при обучении школьников геометрии.

    10. При решении какого класса задач можно использовать систему программирования Mathematica?

    11. При решении какого класса задач можно использовать систему программирования Maple 6?

    12. При решении какого класса задач можно использовать систему программирования Matlab?

    13. При решении какого класса школьных задач по мате­матике можно использовать программы, записанные на Бейсике?

    14. При решении какого класса школьных задач по мате­матике можно использовать программы, записанные на Паскале?

    15. Какие компьютерные программы целесообразно ис­пользовать для выпуска школьных математических га­зет?

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

    17. Какой класс школьных математических задач можно решать с помощью программы MS Excel?

    18. В каком классе на уроках математики можно предла­гать учащимся решать задачи на расчет стоимости из­расходованной электроэнергии с помощью программы MS Excel?

    19. Дидактические особенности проведения занятий по математике с применением компьютеров.

    20. Психологические особенности проведения занятий по математике с применением компьютеров

    21. Приведите названия известных вам обучающих и кон­тролирующих программ по математике.

    22. Дидактическая характеристика обучающей программы по математике для учащихся старших классов фирмы 1С.

    23. Дидактическая характеристика пакета развивающихигр для младших школьников «Суперинтеллект».

    Ответы

    Раздел 1. Общие вопросы методики

    Вариант 1

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

    2. В. С 1 сентября 1985 года.

    3. Понятие об алгоритме, его свойствах, средствах и методах описания алгоритмов, программе как фор­ме представления алгоритма для ЭВМ; основы про­граммирования на одном из языков; практические навыки обращения с ЭВМ; принцип действия и уст­ройство ЭВМ; применение и роль компьютеров.

    4. В. 3.

    5. Первый этап (1-6 кл.) - пропедевтический: знаком­ство с компьютером, формирование элементов ин­формационной культуры при использовании учеб­ных игровых программ, тренажеров на уроках ма­тематики, русского языка и других предметов. Вто­рой этап (7-9 кл.) - базовый курс -обязательный общеобразовательный минимум подготовки по ин­форматике: овладение методами и средствами ин­формационных технологий, формирование навыков использования компьютеров в учебной, а затем профессиональной деятельности. Третий этап (10­11 кл.) - продолжение образования как профильно­го обучения, дифференцированного по объему и

    содержанию в зависимости от интересов и направ­ленности допрофессиональной подготовки.

    1. А. Б. В. Г. Д. Е. Ж.

    2. Вводный, периодический.

  • uchebana5.ru

    Раздел 2. Методика преподавания базового курса информатики

    Методические указания к проведению контрольной ра боты.

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

    Варианты заданий включают по 5 вопросов. Вари анты неравноценны в смысле суммы весов вопросов, по этому преподавателю после проверки следует провести нормировку набранной суммы баллов на 500, что необхо димо для проведения процедуры выведения полученной отметки и сравнения с ответами других студентов и в целом всей группы.

    Примерные нормы оценивания результатов вы полнения контрольной работы и набранных баллов по сле процедуры нормировки:

    450–500баллов – отлично400–449баллов – хорошо

    300–399баллов – удовлетворительно менее 300 баллов – неудовлетворительно

    Список вопросов

    1.Каково назначение базового курса информатики? (100)

    460

    2.Каким образом понимается общедоступность базового курса информатики? (8

    3.Приведите названия содержательных линий базового курса информатики. (100)

    4.Какие вопросы рассматриваются в содержательной ли нии «информация и информационные процессы»? (100)

    5.Опишите методические подходы к определению поня тия информации. (100)

    6.В чем, на ваш взгляд, состоит проблема определения понятия информации? (90)

    7.Объясните методический смысл введения понятия «информативность сообщения». (80)

    8.Перечислите методические подходы к определению единиц измерения информации. (50)

    9.Опишите содержательный подход к измерению ин формации.(100)

    10.Приведите примеры объяснения школьникам содер жательного подхода к измерению информации.(80)

    11.Опишите кибернетический подход к измерению ин формации.(100)

    12.Какие вопросы изучаются по теме «Процесс хранения информации»? (50)

    13.Какие вопросы изучаются по теме «Процесс обработки информации»?(50)

    14.Какие вопросы изучаются по теме «Процесс передачи информации»? (50)

    15.Приведите примеры, иллюстрирующие следующие по нятия: носитель информации, хранилище информации, передача информации, шум и защита от шума.(50)

    16.Расположите в порядке возрастания информационной емкости следующие носители информации: ОЗУ, ПЗУ,

    461

    регистры процессора, магнитная лента, магнитный диск, лазерный диск. (50) ПЗУ, регистры процессора, магнитная лента, ОЗУ, лазерный диск, магнитный диск.

    17.Можно ли говорить учащимся, что компьютер может работать с любой информацией, с которой имеет дело человек? (30)

    18.Как объяснить учащимся смысл терминов «фиксиро ванная точка» и «плавающая точка»? (80)

    19.Какие основные принципы организации таблиц сим вольной кодировки следует объяснить ученикам.(80)

    20.Предложите аналогии, поясняющие учащимся принцип растрового и векторного представления изображе ний.(70)

    21.Предложите рисунок, схему или чертеж, поясняющий смысл процесса дискретизации для представления зву ка в памяти компьютера. (70)

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

    23.Каково назначение моделей учебных компьюте ров?(60)

    24.Приведите названия моделей учебных компьютеров, описанных в методической литературе. (30)

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

    26.С какими основными свойствами операционных систем должны быть ознакомлены учащиеся? (80)

    27.Какие первоначальные сведения о системах програм мирования должны быть сообщены учащимся?(80)

    462

    28.Почему, на ваш взгляд, следует изучать моделирова ние в базовом курсе информатики?(80)

    29.В каких учебниках информатики линия моделирования представлена ведущей? (50).

    30.Какие средства программного обеспечения могут рас сматриваться при изучении моделирования в инфор матике? (50)

    31.Что называют информационной моделью? (80).

    32.Каким основным признакам должна удовлетворять компьютерная информационная модель? (80)

    33.На каких примерах можно объяснять учащимся мо дельный характер базы данных? (50)

    34.С какими методическими проблемами связано реше ние задачи проектирования базы данных? (80)

    35.Какие свойства электронных таблиц делают их удоб ным инструментом для математического моделирова ния? (70)

    36.Какое место может занимать язык Пролог в базовом курсе информатики? С какими содержательными линиями он может пересекаться? (80)

    37.Перечислите набор понятий, входящих в обязательный минимум содержания образования по алгоритмиче ской линии. (80)

    38.Почему алгоритмизация и программирование объеди нены в одну общую содержательную линию? (80)

    39.С какими двумя целевыми аспектами связано изучение алгоритмизации? (70)

    40.С какими двумя целевыми аспектами связано изучение алгоритмизации? (70)

    41.Какие отечественные языки программирования были специально разработаны для учебных целей? (80)

    463

    А. Альфа. Б. Бета. В. Гамма. Г. Алгол 60. Д. Рапира. Е. Лого. Ж. Кумир.

    42.Почему не во всех школьных учебниках информатики приводится строгое определение алгоритма? (100)

    43.Какие типы задач следует рассматривать при изучении понятия алгоритма? (100)

    44.Что такое «учебный исполнитель»? (80)А. Робот. Б. Компьютер. В. Исполнитель, работающий под управле нием ученика. Г. Исполнитель, удовлетворяющий ряду условий.

    45.Приведите примеры учебных исполнителей, описан ных в учебниках и задачниках по информатике. (80)Кукарача, Муравей, Кенгуренок, Черепашка, Чертежник, Магнитофон, Робот.

    46.Для каких целей используют на уроках информатики блок схемы?(60)

    47.В какой методической последовательности следует изучать понятие величины и ее свойств?(100)

    48.Какие методические проблемы возникают при изуче нии понятий «переменная» и «присваивание»? как их разрешать? (100)

    49.Почему при обучении программированию следует изу чать архитектуру ЭВМ?(80)

    50.В каком объеме следует изучать программирование в базовом курсе информатики?(80)

    51.Какие языки программирования наиболее подходят для вводного курса по программированию? (70)

    52.На каких примерах и аналогиях следует объяснять уче никам разницу между языками программирования и системами программирования?(80)

    464

    53.Как со временем менялось содержание линии «Ин формационные технологии» в школьной информати ке?(80)

    54.Чем в принципе должно отличаться преподавание ин формационных технологий в базовом курсе информа тики от их изучения в рамках образовательной области «Технология»? (80)

    55.Какие базовые технологические навыки получают уче ники при освоении текстового редактора? (80)

    56.Какие вопросы, изучаемые в базовом курсе информа тики относятся к теоретическим основам компьютер ной графики?(80)

    57.Какие практические навыки должны получить ученики при изучении компьютерной графики в базовом курсе информатики?(80)

    58.Какие методические преимущества имеет применение локальной сети в учебном процессе по сравнению с набором отдельных компьютеров? (80)

    465

    studfiles.net