на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Дипломная работа: Развитие умений программирования c использованием пакета Maple при обучении информатике на профильном уровне


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

В 2004 г. в соответствии с Законом РФ об образовании и "Концепцией модернизации российского образования до 2010 года" был утвержден федеральный компонент государственных стандартов общего образования, в том числе и по "Информатике и информационно-коммуникационным технологиям (ИКТ)", а также федеральный базисный учебный план для образовательных учреждений РФ. Эти нормативные документы определили дальнейшее развитие школьной информатики в нашей стране как общеобразовательной учебной дисциплины. Учебный предмет "Информатика и ИКТ" представлен в федеральном базисном учебном плане, а значит, обязателен к изучению в 3—4 классах в качестве учебного модуля предмета "Технология" и как самостоятельный учебный предмет 8—9 классах по одному и двум часам в неделю соответственно. В 10—11 классах, в зависимости от выбранного профиля, "Информатика и ИКТ" может изучаться на базовом либо профильном уровне, а также в виде элективных курсов. Кроме того, количество учебных часов, предназначенных для изучения информатики, может быть увеличено за счет регионального и школьного компонентов.

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

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

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

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

Шестой этап, начавшийся в 2005 г. и длящийся по настоящее время, характеризуется фундаментализацией обучения школьной информатике.

В настоящее время школьный курс информатики рассматривается как общеобразовательный предмет, в содержании которого присутствует значительная фундаментальная научная составляющая, что нашло отражение, в частности, и в утвержденном стандарте по этому курсу. Учебный предмет "Информатика и ИКТ" представлен в федеральном базисном учебном плане в 8 и 9 классах по одному и двум часам в неделю соответственно. В связи с этим необходимо иметь такой учебник для основной школы, который позволил бы за 105 часов раскрыть фундаментальное инвариантное ядро содержания обучения информатике, не зависящее от его вариативной части, связанной с изучением конкретных постоянно совершенствующихся средств информационных технологий. Учебник должен позволить школьнику за минимальное количество учебного времени достичь требуемого уровня подготовки по информатике и информационно-коммуникационным технологиям, зафиксированного в государственном стандарте. С этой задачей существующие школьные учебники по информатике, к сожалению, до конца не справляются.

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

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

Очень часто изложение учебного материала не соответствует возрастным особенностям учащихся. Например, разговор о "мере неупорядоченности системы", о "шкале хаос—порядок", о "замкнутых системах", о "переходе из менее вероятного упорядоченного состояния в наиболее вероятное хаотичное состояние", на мой взгляд, бесполезен на первом уроке по информатике в 8 классе: большинство школьников все равно не поймут смысла используемых терминов.

Несмотря на существование учебников по информатике для 3—4 классов (например, учебники А.В. Горячева, С.Н. Тур и Т.П. Бокучава, М.А. Плаксина, Н.В. Матвеевой), соответствующих стандарту начального общего образования по технологии, отбор содержания для обучения информатике в начальной школе в рамках учебного модуля "Информатика и ИКТ" в объеме 68 часов все еще остается научной проблемой.

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

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

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

Что можно сказать и показать наглядно о сегодняшнем среднестатистическом курсе лекций по информатике? Одна из проблем такова, что в рамках часов, отводимых "Примерной программой" в базовом курсе информатики на алгоритмизацию и программирование, овладение даже основами программирования на современных алгоритмических языках представляется невозможным. А школьники, которые проявляют большой интерес к данному вопросу, несомненно, есть. Подталкивают к изучению программирования и олимпиады по информатике, значимость которых в связи с новыми правилами приема в ВУЗы существенно возросла.

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

Итак.

Лекция 1. Основные понятия языка программирования. Выбор языка и среды программирования, определение цели обучения программированию и планирование времени обучения. Рассмотрение двух подходов к изучению языка программирования: формальный и "программирование по образцу". Лекция 2. Числовые типы данных. Оператор присваивания. Введение понятия переменной. Преодоление психологического барьера: как поменять местами значения двух переменных местами и почему i = i + 1.

Лекция 3. Логические величины. Условные операторы. Знакомство с логическими переменными и основами алгебры логики. Программирование условия. Выработка стиля написания программ.

Контрольная работа № 1.

Лекция 4. Операторы цикла. Суммирование числовых рядов. Задачи на системы счисления. Определение порядка изучения различных циклических конструкций. Как и почему надо вычислять значение степени некоторого числа? Задачи на рекуррентные соотношения. Решение задач на обработку числовых последовательностей, в которых не требуется хранения всех вводимых величин. Лекция 5. Массивы в языке программирования. Задачи на обработку одномерных и двухмерных массивов. Грамотное написание вложенных циклов. Контрольная работа № 2. Лекция 6. Порядковые типы данных. Строки. Обработка нечисловой информации. Чем строки отличаются от массивов символов?

Лекция 7. Текстовые файлы. Вычислительная сложность алгоритма. Алгоритмы сортировки и поиска. Какие алгоритмы следует изучать на уроках информатики и на что при этом обращать внимание учащихся? Лекция 8. Процедуры и функции. Передача параметров. Рекурсия. Понятие подпрограммы. Изучение формальных и фактических параметров и механизмов передачи в процедуры и функции. Рассматрение принципов написания структурированных программ. Что осталось за рамками курса? Итоговая работа.

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

Суммируя всё вышесказанное, можно лишь подвести простой итог: преподавание информатики в школе должно начинаться достаточно рано для школьника, чтобы он смог понять предмет, основы информатики должны быть жёстко систематизированы, чтобы у учащегося не возникало путаницы, а помимо этого предмет должен быть интересен школьнику.

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

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

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

Когда-то наиболее популярными языками программирования в школах мира были Бейсик и Паскаль. Бейсик всегда считался самым простым языком программирования, а Паскаль — самым подходящим языком для обучения программированию. Но теперь это не так. Да, Бейсик прост. Но он создавался во времена, когда человечество не имело никакого опыта создания компьютерных систем, и основан на устаревших и не оправдавших себя принципах. Собственно, никакой фундаментальной целостной идеи в основе Бейсика не лежит. Сегодня есть простые и при этом более наглядные и идейно замкнутые языки программирования, нежели Бейсик. Паскаль удобен в учебных целях; ведь именно для них он и создавался. Студенты быстро учатся решать с его помощью алгоритмические задачки. Но так получается, что изучать Паскаль полезно только для того, чтобы писать программы на Паскалe. А если нужно создать настоящий программный продукт, Паскаль оказывается неудобен. И студентам, знающим только Паскаль, приходится переучиваться, что часто сложнее, нежели изучить правильные языки и технологии с нуля. Часто слышишь от преподавателей школ и вузов, что уж лучше Паскаль, чем Бейсик. И лучше Java, а не Паскаль: в Java есть сборка мусора, а это очень удобно для изучения программирования. А еще лучше какой-нибудь сценарный слабо нетипизированный язык. Там и сборка мусора есть, и в типах путаться не будут, всё будет просто и понятно. Но есть и другие мнения, первый язык программирования должен быть требовательным к ученику. Необходимо, чтобы ученик имел чёткое представление о том, что его программа делает на каждом шаге, и уметь записывать алгоритмы на строгом формальном языке, без лишних поблажек, которые имеются, например, в языке Перл, где можно писать круглые скобки вокруг аргументов функций, а можно не писать, и делать другие подобные вещи. Первый язык должен быть cтрого типизированным, ибо смешение целых чисел, вещественных чисел и текстовых переменных приводит у начинающих программистов к неправильному представлению о методах хранения данных в памяти компьютера. Чем больше сообщений об ошибках ученики увидят от компилятора, и чем больше из этих сообщений они поймут, тем больше фундаментальных знаний о программировании они получат. Паскаль — неплохой язык в этом смысле. Особенно приятно, что в нём есть проверка на принадлежность индекса массива допустимому множеству значений. Это школьникам очень полезно. Но в нём нет указателей, и ученики не понимают простой вещи — того, что у переменных есть место (адрес), где она хранится, и значение (то, что там хранится). С языком Си другая проблема: в нём много отпугивающих конструкций. С другой стороны, никто не заставляет учителей показывать все глубины Си. С ним можно работать на том же уровне, что и с Паскалем, не занимаясь сложными махинациями c указателями и не используя сложных конструкций.

Альтернатив много. Ныне есть целый зоопарк (экосистема) языков программирования, которые постоянно эволюционируют, расщепляются и сливаются. Это уже упомянутые выше языки Форт, Ruby и Python. Перечислим ключевые факторы, управляющие отбором:

Предоставление языком высокоуровневых средств контроля за целостностью и безошибочностью кодa на первом этапе сборки проектов. Это относится в первую очередь к языкам Java, Haskell, и Python. Языки стараются делать такими, чтобы программист просто не мог допускать ошибок. А если ошибки все-таки делаются, то на этапе компиляции (трансляции) они должны находиться. В частности, опечатка в одном символе не должна приводить к тому, что программа компилится и запускается (а такое бывает, например, в языках Бейсик и Perl, если не указан явно специальный режим strict. Язык Java создавался в контексте анализа типичных ошибок и проблем, возникающих в проектах на языке Си++. Создатели Java постарались внести в синтаксис и базовую парадигму такие ограничения, чтобы типичные ошибки программистов на Си++ просто не могли появиться в проектах на Java. Это очень важная идея: если умело заключить себя в рамки, можно получить выгоду. Следует отметить, что в крупных корпорациях часто программистам выдаётся список правил оформления программ и набор конструкций, которые нельзя использовать в коде, несмотря на то, что сам язык их допускает. Излишняя гибкость языка иногда вредна, так как позволяет программистам писать мутные и запутанные программы. Новые языки программирования делают так, чтобы не искушать программистов и не давать им возможности писать путано и с ошибками.

Чистота и ясность кода, читаемость кода. Далее всего здесь продвинулся, видимо, Руби. Сегодня на всех официальных сайтах программных средств среди первых достоинств указывается "естественность синтаксиса" или "близость к естественному языку" (обычно английскому). Конечно, это немаловажный фактор. Давно прошло время, когда люди подстраивались под компьютеры и кропотливо переводили свои идеи и алгоритмы в машинный язык нулей и единиц. Сегодня компьютеры все более и более подстраиваются под человеческий язык. Это удобно. Увеличивается скорость написания программ, хотя обычно это идёт в ущерб скорости выполнения и вообще рациональности получающейся программы.

Чистота и целостность парадигмы, заложенной в основу языка. Например, языки Smalltalk и Ruby базируются на чистой объектно-ориентированной парадигме, а Haskell — на чистой функциональной парадигме. Эта чистота полезна, чтобы программист чётко представлял модель, которой он ограничен, и в терминах которой ему нужно мыслить при проектировании программы.

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

Многогранность и гибкость, возможность писать сложные программы коротко и красиво. Таким свойством обладают сейчас языки Perl, Ruby, Python. Но следует отметить, что такая универсальность языков может иметь и недостатки, так как часто приводит к излишнему усложнению синтаксиса. Например, очень многогранен Perl, он богат различными конструкциями и хитрыми штучками, которые позволяют записывать сложную логику очень коротко ("коротко о многом"). В итоге очень легко написать программы, которые потом невозможно читать. Впрочем, то же самое касается и языков Си и Си++. Языкам Ruby, Python многогранность даётся с меньшими потерями, нежели Perl и Си++.

Наличие стандартных библиотек и наличие средств интеграции проектов друг с другом и с другими системами и технологиями. Cегодня все уважающие себя языки предоставляют средства для работы с базами данных, для создания графических интерфейсов, для работы с сетевыми протоколами и создания приложений с архитектурой клиент-сервер. Сегодня идёт непрерывное соревнование между скриптовыми языками программирования типа PHP, Ruby, Python, Perl и др. в том, насколько хорошо развиты в них средства интеграции с различными технологиями. Кто-то умеет работать с OpenGL, а кто-то нет.

Возможность разрабатывать адаптивные системы. Язык должен быть таким, чтобы программы, написанные на нём, не были косными и неповоротливыми. Язык должен допускать возможность внесения малых изменений в код, чтобы подстроится под динамически меняющуюся и усложняющуюся задачу. Краеугольными камнями адаптивности языковых программных средств являются гибкая многоуровневая модульность (как у языков Java, Ruby, Python, Tcl) простота средств экспорта и импорта функциональности (имеются в виду средства, направленные на то, чтобы проекты могли делится друг с другом классами, объектами и функциями) и средства поддержки рефакторинга — глобальных революционных изменений кода, проходящих сквозь модули и направленных на улучшение читаемости кода и избавление от накопившегося в процессе эволюции груза ненужной функциональности.

Есть и другие номинации. Язык Python сегодня победитель в номинации "простота синтаксиса", а Perl более, чем какой-либо другой язык удобен для обработки текстов и CGI-скриптинга. Язык Python в принципе создавался как язык интегратор. С его помощью можно интегрировать различные приложения и создавать свои собственные пакеты и новые макроязыки.

Итак, Perl многогранен, Python прост, Python красив, Ruby тоже молодец, Java и Си технологичны. Номинаций много и явного победителя нет, так же как и нет одежды, которая одинаково хорошо подходит под летнюю, дождливую или зимнюю погоду. Температура и влажность — всего лишь два параметра, а в языках программирования их гораздо больше.

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.