Научная статья на тему 'Метрики начальной культуры программирования студентов'

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

CC BY
271
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КУЛЬТУРА ПРОГРАММИРОВАНИЯ / КОМПЕТЕНЦИИ / АВС-СПОСОБНОСТИ / CULTURE PROGRAMMING / COMPETENCE / ABC-ABILITY

Аннотация научной статьи по наукам об образовании, автор научной работы — Галимянов Анис Фоатович, Исмагилова Кадёрия Кытдусовна, Старыгина Светлана Дмитривна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по наукам об образовании , автор научной работы — Галимянов Анис Фоатович, Исмагилова Кадёрия Кытдусовна, Старыгина Светлана Дмитривна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The article defines the content of the initial programming of the student culture through ABC-ability and proposed methods of monitoring to achieve a certain level of culture programming.

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

Метрики начальной культуры программирования

студентов

Галимянов Анис Фоатович доцент, к.ф.-м.н., доцент кафедры информационных систем, Казанский (Приволжский) федеральный университет, ул. Кремлевская, 34, г. Казань, 420006, +7 (843) 292-42-87 anis 59@mail.ru

Исмагилова Кадёрия Кытдусовна к.п.н., доцент кафедры информатики и прикладной математики, Казанский государственный технологический университет, ул. К.Маркса, 68, г. Казань, 420015, (843)2314119 kadi'Ma^kr^

Старыгина Светлана Дмитривна доцент, к.п.н., доцент кафедры информатики и прикладной математики, Казанский национальный исследовательский технологический университет, ул. К.Маркса, 68, г. Казань, 420015, (843)2314119 svetacd kazan@mail.ru

Аннотация

В статье определено содержание начальной культуры программирования студента через АВС-способности и предложены способы мониторинга достижения определенного уровня культуры программирования. The article defines the content of the initial programming of the student culture through ABC-ability and proposed methods of monitoring to achieve a certain level of culture programming.

Ключевые слова

культура программирования, компетенции, АВС-способности culture programming, competence, ABC-ability

Введение

Культура программирования вскользь упоминается во многих книгах по программированию, активно обсуждается в сети Интернет [1]. Но при этом обсуждается лишь культура программирования профессиональных программистов и даже по этому вопросу нет хотя бы немного устоявшегося мнения. А для учебного процесса необходимы четкие критерии оценки обученности, в том числе и программированию. В данной статье культура программирования рассматривается как комбинация АВС-способностей в соответствующей области и обсуждается методы измерения достижения определенного уровня культуры программирования. Не претендуя на оценку работы профессиональных программистов, в статье рассматривается начальная культура программирования, то есть культура программирования студента, обучающегося программированию.

Начальная культура программирования студента и её составляющие

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

В нашей статье [2] было исследовано понятие «математическая культура студентов гуманитариев». Структура математической культуры была определена через АВС-способности. Следуя этой методике, определим понятие «начальная культура программирования студента» (сокращенно НКПС).

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

Исходя из этого определения, можно определить структуру НКПС. Также, как и в [2] опираемся на определение мониторинга качества по формализационным, конструктивно-творческим и исполнительским способностям - АВС-способностям, которые определены в [3-6]. По ним компетенция (как способность решать любые проблемы) в любой области инвариантно поддерживается триадой способностей <А, В, С> определенного уровня развития, т.е. АВС - способностями и интериоризованными знаниями, как вспомогательными средствами. Здесь А -формализационные способности, В - конструктивные способности, С -исполнительские способности. Под ними мы будем понимать соответствующие качества, значимые для оценки культуры программирования студента (значимые для оценки культуры программирования студента ЗОКПС). Тогда А-способности изоморфны формализационному ЗОКПС, В -способности - конструктивному (способности к алгоритмизации) ЗОКПС, С-способности - исполнительскому (к способности реализовать алгоритм на конкретном языке программирования) ЗОКПС. Тогда содержимое НКПС можно представить в виде вектора ^1(А), F2(B), F3(C), F4(A, В). F5(A, С), F6(B, С), F7(A, В, С)). В первом приближении можно взять следующие значения функций: F1(A)=А, F2(B)=В, F3(C)=С, F4(A, В)=А+В, F5(A,C)=А+С, F6(B,C)=В+С, F7(A,B,C)=А+В+С. Таким образом, мы имеем первые три блока ЗОКПС, следующие три блока - бинарные композиции базисных ЗОКПС, и последняя - полная композиция всех трех ЗОКПС.

Для представления семи функций, которые были определены выше, определим следующие семь блоков НКПС.

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

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

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

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

Адаптационный блок включает в себя умение адаптировать наиболее выгодным образом формализацию по конкретный язык программирования. Является комбинацией формализационной и исполнительской ЗОПКС.

Деятельностный (компиляционный) блок: умения и навыки перевести составленный алгоритм в конкретный язык программирования. Поддерживается конструктивно-творческими и исполнительскими качествами студента. Блок также является бинарной композицией.

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

Оптимизационный блок включает в себя все три ЗОПКС и означает умение составить оптимальные для данной задачи программу, используя все три ЗОПКС.

Критерий развития НКПС - это признак, на основании которых производится оценка уровней развития НКПС.

Исходя из структуры НКПС, можно наметить следующие критерии для показателей оценок уровня развития НКПС: формализационный, конструктивный, моделирующий, адаптационный, деятельностный, исполнительский, оптимизационный. По каждому критерию определяются уровни высокий, средний, удовлетворительный и посредственнный.

Постоянное совершенствование информационных технологий привело не только к появлению большого количества языковых средств кодирования алгоритмов, но и к довольно четкому формированию четырех основных способов разработки самих алгоритмов. Такие способы в специализированной литературе получили название парадигм программирования [7]. Выделено четыре парадигмы: процедурная, объектно-ориентированная, логическая, и функциональная. Под такое разделение всех методов конструирования алгоритмов на парадигмы попадают все известные на сегодняшний день языки программирования. Невозможно говорить о явных преимуществах какой-либо одной парадигмы перед остальными. Каждая из них, наряду с большим количеством положительных особенностей, имеет и свои отрицательные аспекты. В настоящее время, кроме нескольких специальностей, в основном в курсе «Программирование» преобладают две парадигмы: процедурное и объектно-ориентированное.

Методология объектно-ориентированного программирования (ООП) сложнее чем методология процедурного программирования.. Для успешного обучения студентов ООП необходимо решить следующие проблемы: обучение объектно-ориентированной декомпозиции; изменение стиля мышления с алгоритмического на объектно-ориентированный стиль мышления. Объектно-ориентированная декомпозиция занимает центральное место в обучении ООП. "Процесс представления предметной области задачи в виде совокупности объектов, обменивающихся сообщениями, называется объектной декомпозицией" [8]. Осуществление объектно-ориентированной декомпозиции позволит студентам

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

В ООП одинаково важную роль играет как объектно-ориентированная декомпозиция, так и алгоритмическая. Но, как показал анализ литературы [8], в современном процессе обучения ООП преобладает алгоритмическая декомпозиция, а объектно-ориентированная декомпозиция занимает второстепенное положение. Доминирование алгоритмической декомпозиции можно объяснить тем, что она доступнее и проще для студентов, по сравнению с объектно-ориентированной декомпозицией. Несмотря на трудности обучения объектно-ориентированной декомпозиции, следует помнить, что организовать обучение ООП без нее невозможно.

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

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

У студентов должен быть сформирован объектно-ориентированный стиль мышления. Под объектно-ориентированным стилем мышления мы понимаем систему мыслительных действий и операций, направленных на работу с объектами и отношениями между ними.

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

Для изменения стиля мышления студента требуется время, чтобы "привыкнуть" к новой методологии программирования, освоить соответствующие теоретические знания и научиться применять их на практике. Б. Страуструп указывал на то, что изменение стиля мышления среднего программиста может потребовать от 6 до 18 месяцев [9].

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

Таким образом, начав обучение программированию с ООП, можно решить проблему смены стиля мышления студента с алгоритмического на объектно-ориентированный стиль мышления.

Задачи и тесты для квалиметрии начальной культуры программирования студента

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

1. Кластер проблем (элемент учебного материала) на развитие формализационных качеств

2. Кластер проблем (элемент учебного материала) на развитие конструктивных качеств

3. Кластер проблем (элемент учебного материала) на развитие исполнительских качеств

Формализационно-исполнительские (ФИ) задачи требуют применения формализационных и исполнительских качеств. Эти задачи, с содержанием для решения студент должен выбрать формулу и подставить в нее данные.

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

Конструктивно-исполнительские (КИ) задачи - требуют применения конструктивных и исполнительских качеств. Это задачи, для решения которых требуется выбрать и составить алгоритм, совершать вычисления.

Формализационно-конструктивные-исполнительские (ФКИ) задачи требуют применения формализационных, конструктивно-творческих, исполнительских качеств. Это задачи с содержанием, для решения которых требуется построить математическую модель, выбрать и построить алгоритм, совершать вычисления.

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

Таблица 1.

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

1 Формализационный Ф(А)

2 Конструктивныи К(В)

3 Моделирующий ФК(А+В)

4 Адаптационный ФИ(А+С)

5 ,,^^ят^льнос;тш^111 (Компиляционный) ФИ(В+С)

6 Исполнительский И(С)

7 Оптимизационный ФКИ(А+В+С)

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

20% задач, требующих конструктивно-творческих качеств и 40% задач, требующих применения исполнительских качеств.

В качестве примеров для оценки НКПС рассмотрим задачи из широко применяемого электронного задачника по программированию [10]. В качестве языка программирования рассмотрим язык Object Pascal в среде DELPHI.

Задача 1. Даны длины ребер a,b,c прямоугольного параллелепипеда. Найти объем куба V и площадь его поверхности S.

Задача на проверку формализационных и формализационно-исполнительских способностей. Несмотря на простоту, позволяет проверить, насколько студент может создавать классы (класс параллелипипедов), его методы и поля. Затем требуется определить компоненты для ввода и вывода, оформит надлежащим образом. Даже если придерживаться процедурной парадигмы, проверить формализационную и исполнительскую способности можно на среднем уровне. Если за задачу дать 10 баллов, то часть Ф 7 баллов, часть И 3 балла.

Задача 2. Дано двузначное целое число. Найти сумму и произведение его

цифр.

При грамотном решении также необходимо создать класс двузначных чисел с полями, где будут располагаться цифры числа и методами нахождения этих цифр. Ввести нужно одно число и студент должен четко понять, что компьютер принимает одно число и должен цифры распознать и вывести. ФКИ задача, но доля Ф больше. Из 10 баллов (А+В+С=10) А=5; В=3;С=2.

Задача 3. Даны два целых числа А,В. Проверить истинность высказывания «Каждое из чисел А и В нечетное»

Типичная Ф-задача. При процедурном программировании требуется грамотно организовать ввод и вывод. Использование объектно-ориентированной парадигмы тоже возможно, тогда доля Ф увеличивается А=7; С=3.

Задача 4. Даны два целых числа: Д (день) и М (месяц), определяющих правильную дату невисокосного года. Вывести значения Д и М для даты, предшествующей указанной.

В отличие от предыдущих задач, здесь доля К-составляющей больше. Приходится дольше думать над алгоритмизацией и составить более или менее оптимальный алгоритм. Если А+В+С=10, то А=3; В=5; С=2.

Как видно из этих примеров, «чистых» Ф,К,И задач практически не бывает, но по превалировании компонент можно указать, что задача является «преимущественно моделирующей», «преимущественно адаптационной» и.т.д.

В настоящее время компьютерное тестирование, как способ проверки усвоения знаний, применяется достаточно широко. Педагогическое тестирование имеет широкую хорошо разработанную базу, она описана в научной и научно-методической литературе. Существует принципы создания конструирования теста, создания тестовых заданий и выбора технологии тестирования. Рассмотрим принципы создания тестовых заданий и проведения тестирования по предмету «Программирование», для примера рассматривается принципы создания тестовых заданий и проведение тестирования по программированию на языке «Object Pascal» в среде Delphi, которые позволяют проверить НКПС по изложенной выше методике.

Как отмечает Беспалько [11], «Нынешний уровень развития вычислительной техники (персональные компьютеры и программные средства) уже позволяет довольно близко подойти к моделированию и осуществлению индивидуального подхода к учащимся в массовом обучении на уровне репетитора, а в некоторых случаях и превзойти его. При этом неизбежно трансформируется ныне аморфная и неразрешимая педагогическая задача в задачу со вполне точно поставленными условиями, решение которой может быть проверено и гарантировано».

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

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

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

По определению В.С.Аванесова (1998) [11], педагогическим тестом называют систему заданий возрастающей трудности и специфической формы, позволяющей качественно оценить структуру и измерить уровень знаний учащихся.

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

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

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

3 этап. Проверка первичного теста на группе испытуемых (студентов).

4 этап. Статистический анализ результатов первичного тестирования, выбраковка и корректировка тестовых заданий.

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

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

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

процедуры; технологии и технологические понятия; вероятностные понятия; абстрактные понятия; методология предмета [11]

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

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

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

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

В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется: for i:=0 to 10 do A[i]:=i; for i:=0 to 10 do begin k:=A[i]; A[i]:=A[10-i]; k:=A[10-i]; end;

Чему будут равны элементы этого массива?

1) 10 9 8 7 6 5 4 3 2 1 0

2) 0 1 2 3 4 5 6 7 8 9 10

3) 0 1 2 3 4 5 4 3 2 1 0

4) 10 9 8 7 6 5 6 7 8 9 10

Здесь можно вручную вычислить элементы массива А, а можно дополнить программу недостающими операторами и правильный ответ найти с помощью компьютера. Но для этого необходимо правильно объявить переменные, грамотно организовать вывод. Таким образом, даже в условиях полной «вседозволенности» тесты этого типа (в условиях ограниченного времени) могут помочь в правильном диагностировании знаний, а именно, в области объявления переменных и вывода данных. Таким образом, подобные тесты также являются ФИ тестами. Однако, например, в этих условиях очень легкими являются тесты вида:

Отметьте синтаксически ошибочные операторы:

1) If B=0 then writeln ('Нуль');

2) If a>b then max := a else max:=b;

3) If (a>b) and (b>0) then c:=a+b;

4) If a<b then min:=a; else min:=b;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Так как в данных условиях студент легко может посмотреть синтаксис и записать верный ответ. Однако даже этот тест имеет значение для самообучения. Тест для проверки И блока.

Немного более трудным является следующее задание. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы: for n:=1 to 100 do

A[n] := n - 10; for n:=1 to 100 do B[n] := A[n]*n;

Сколько элементов массива B будут иметь положительные значения? 1) 10 2) 50 3) 90 4) 100

В этом задании грамотно нужно организовать объявление переменных, массивов, а также вывод. Но здесь (и в подобных этому заданиях) или необходимо логически ответить на задание, или организовать в программе подсчёт количества положительных элементов. Они являются задачами по трудности равносильными. Тест на проверку ФКИ-способностей.

Более трудными являются задания следующего типа, которые требуют ввод

числа.

1) Ниже записана программа. Получив на вход число x, эта программа

печатает два числа, L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7. var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:= L + 1; M:= M + x mod 10; x:= x div 10; end;

writeln(L); write(M); end.

Здесь после ввода программы можно, конечно, экспериментировать, однако здесь данный способ займет достаточно много времени. Поэтому правильно ответить на задания такого типа могут только те студенты, которые правильно могут анализировать код программы. Тест на проверку ФКИ-способностей, но здесь превалирует К-блок. Если А+В+С=10, то А=2, В=6, С=2.

Заключение

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

Литература

1. Жидков А. Культура программирования. Май, 2007. - Электронный ресурс. URL:http://www.javaportal.ru/articles/culture of programming.html (дата обращения 17.10.2014)

2. Галимянов А.Ф., Нуриев Н.К., Исмагилова К.К. Повышение математической компетентности студентов гуманитарных специальностей средствами информационных технологий и квалиметрия математической культуры // Международный электронный журнал «Образовательные технологии и общество (Educational Technology & Society )» - 2013. - V.16. - N 4. - C. 423447. ISSN 1436-4522. URL: http://ifets.ieee.org/russian/periodical/journal.html

3. Нуриев Н.К. Дидактическое пространство подготовки компетентных специалистов в области программной инженерии. - Казань: Изд-во Казанского университета, 2005. - 244 с.

4. Нуриев Н.К. Модель подготовки инженера на основе компетентностного подхода и принципа природосообразности // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2009. - V.12. - №1. - C.329-390. - ISSN 1436-4522. URL: http://ifets.ieee.org/russian/periodical/journal.html

5. Нуриев Н.К., Журбенко Л.Н., Старыгина С.Д. Мониторинг качества подготовки будущего инженера. - Казань: Изд-во Казанского государственного технологического университета, 2007. - 80 с.

6. Галимянов А.Ф., Исмагилова К.К. Развитие математической культуры студентов, обучающихся на гуманитарных факультетах в вузе // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2011. - V.14. - №1. - C.380-390. - ISSN 1436-4522. URL: http://ifets.ieee.org/russian/periodical/journal.html

7. Жужжалов В.Г. Совершенствование содержания обучения программированию на основе интеграции парадигм программирования. Автореферат дис. доктора пед. наук. - Москва: МГПУ, 2004. - 45 с.

8. Бабушкина И.А., Окулов C.M. Практикум по объектно-ориентированному программированию. - М.: Бином. Лаборатория знаний, 2009. - 165 с.

9. Kolling M. The problem of teaching object-oriented programming / http://bluej.org/ papers/1999-08-JOOP1 -langua ges.pdf

10. Абрамян М.Э. Programming Taskbook. Электронный задачник по программированию. Версия 4.5. - Ростов-на-Дону, 2005. - 142 с.

11. Ким В.С. Тестирование учебных достижений. - Уссурийск: Изд-во УГПИ, 2007.- 214 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.