УДК 37.022

ПРЕПОДАВАНИЕ ДИСЦИПЛИНЫ «ЧЕЛОВЕЧЕСКИЙ И ЭСТЕТИЧЕСКИЙ ФАКТОР ПРОГРАММИРОВАНИЯ»

Сенчилов Владислав Владимирович
Смоленский государственный университет
кандидат физико-математических наук

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

Ключевые слова: образовательный процесс, программирование


TEACHING DISCIPLINE «HUMAN AND AESTHETIC FACTOR PROGRAMMING»

Sencirow Vladislav Vladimirovich
Smolensk State University

Abstract
The article presents the plans of the theoretical material and practical exercises, as well as recommendations on the organization of students ' work majors 010400 Applied mathematics and computer science master's program in Applied Internet technologies" on the subject of "Human and aesthetic factor programming".

Библиографическая ссылка на статью:
Сенчилов В.В. Преподавание дисциплины «Человеческий и эстетический фактор программирования» // Современная педагогика. 2014. № 9 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2014/09/2595 (дата обращения: 03.06.2017).

Дисциплина «Человеческий и эстетический фактор программирования» относится к вариативной части общенаучного цикла. Она изучается в 3 семестре магистерской программы «Прикладные Интернет-технологии» направления подготовки 010400 Прикладная математика и информатика, завершая цикл дисциплин по программированию в различных средах таких как «Взаимодействие в программных системах», «Мультимедийные интернет-технологии», и является вспомогательной для работы над диссертацией и апробации результатов.[1]

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

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

-                        разработка и исследование алгоритмов, вычислительных моделей и моделей данных для реализации элементов новых (или известных) сервисов систем информационных технологий;[2]

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

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

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

Способность иметь представление о современном состоянии и проблемах прикладной математики и информатики, истории и методологии их развития (ОК-2).

Способность использовать углубленные теоретические и практические знания в области прикладной математики и информатики (ОК-3).

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

В результате освоения дисциплины учащийся должен

Знать:

- особенности современных методологий и технологий создания программных средств;

- организацию проектирования программных средств и содержание различных этапов процесса проектирования;

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

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

- принципы и методы создания сложных программных средств на основе концепции и стандартов открытых систем, CASE- систем, языков высокого уровня программирования.

Уметь:

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

- выявлять основные факторы, определяющие качество и надежность программных средств;

- осуществлять тестирование программных средств с целью повышения их качества и надежности;[3]

- осуществлять моделирование требуемого уровня надежности в соответствии с заданными критериями;

- оформлять документацию на программные средства.

Владеть:

- навыками работы с различными средствами программирования в профессиональной деятельности;

- навыками построения  формальной модели системы;

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

- навыками разработки структуры информационных объектов, функционирующих в программной системе.[4]

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

  1. Человеческий и эстетический факторы в программировании по Ершову А.П. Возможности организации разработки программного обеспечения по принципу конвейерной линии. Система внутренних ценностей, которая позволит программисту легче ассимилировать индустриальные методы работы. Творческая и конструктивная природа программирования. Программирование – вторая грамотность.
  2. Искусство и технологии в программировании. История развития технологий программирования. Сочетание искусства и технологии в программировании. Объектно-ориентированная технология, как средство повышения программистской культуры и искусства. Аксиоматические теории как основа объектно-ориентированной культуры программирования. [5]
  3. Структурный подход к разработке программного обеспечения. Анализ требований, проектирование структуры программы. Процесс создания спецификации на разработку программного комплекса при структурном методе проектирования программ. Выполнение этапа жизненного цикла программы «Постановка задачи». Разработка структурной схемы (диаграммы) программы.
  4. Структурный подход к разработке программного обеспечения. Программная реализация при нисходящей разработке. Процесс кодирования при нисходящей разработке ПО. Правила стандартизации стиля программирования. Методика кодирования и тестирования сверху вниз.
  5. Структурный подход к разработке программного обеспечения. Технологии коллективной разработки. Работа над проектом в коллективе разработчиков. Модульный подход к проектированию и программированию ПО. Планирование работы и распределение обязанностей при разработке ПО при бригадном подходе.
  6. Структурный подход к разработке программного обеспечения. Тестирование и отладка. Общие методы тестирования и отладки ПО. Средства отладки инструментальной среды Турбо Паскаля.
  7. Структурный подход к разработке программного обеспечения. Использование библиотеки поддержки разработки. Процесс подключения стандартных программ из библиотеки поддержки разработки. Использование при разработке ПО стандартных процедур. Создание дружественного и защищенного интерфейса пользователь — компьютер.
  8. Структурный подход к разработке программного обеспечения. Ввод программного комплекса в эксплуатацию. Способы оформления программного продукта. Сопроводительная документация. Придание программному продукту товарного вида. Минимальный набор документов для внедрения программы.
  9. Быстрая разработка приложений. Разработка MDI–приложения. Проектирование  и программирование приложения с MDI–интерфейсом. Особенностей MDI–стиля приложений. Работа в среде RAD Delphi. Способы создания MDI–приложения.
  10. Быстрая разработка приложений. Разработка SDI–приложения. Процесс проектирования и программирования приложения с SDI–интерфейсом. Связывание воздействия пользователя с реакциями на них с помощью компонента TActionList. Организация интерфейса Drag&Dock.
  11. Быстрая разработка приложений. Методы отладки в среде Delphi. Возможности встроенного отладчика среды быстрой разработки приложений Delphi. Классификация ошибок, методов трассировки программы, точек прерываний. Методы просмотра и изменения значений переменных в процессе отладки программы.
  12. Быстрая разработка приложений. Создание справочной системы приложения с помощью утилиты Help Workshop. Способы создания справочной системы с помощью утилиты Help Workshop. Создание текста справочного файла. Создание файла справочной системы. Использование файла справочной системы в приложении.

Приведем пример планов практических занятий по дисциплине.

Практическое занятие №1. Человеческий и эстетический факторы в программировании по Ершову А.П.

  1. Определите «принципу конвейерной линии».
  2. Каковы возможности организации разработки ПО по принципу конвейерной линии.
  3. Что называют системой внутренних ценностей человека?
  4. Назовите основные отличия внутренних ценностей программиста и НЕпрограммиста.
  5. Каковы индустриальные методы работы IT-специалиста?
  6. В чем состоит конструктивная природа программирования?
  7. В чем состоит творческая природа программирования?
  8. Почему программирование можно назвать второй грамотностью?
  9. Как Ершов А.П. определяет человеческий фактор в программировании?
  10.  В чем специфика эстетического фактора в программировании? [6]

Практическое занятие №2.  Искусство и технологии в программировании

  1. Каковы основные этапы развития технологий программирования?
  2. Как сочетаются искусство и технология в программировании?
  3. Назовите основные составляющие объектно-ориентированной технологии.
  4. Какие особенности  определяют объектно-ориентированные технологии как средство повышения программистской культуры и искусства? [7]
  5. Что является основой объектно-ориентированной культуры программирования?

Практическое занятие №3.  Анализ требований, проектирование структуры программы

  1. Назовите составляющие технологии проектирования.
  2. Какие подходы применяются к разработке программного обеспечения?
  3. Назовите этапы жизненного цикла программного обеспечения.
  4. Приведите пример спецификации этапа «Постановка задачи». [8]
  5. Как определяются входные и выходные данные при разработке программы?
  6. Что называют интервалами допустимых значений данных?
  7. Для чего необходимы «контрольные примеры»?
  8. Чем определяется сущность структурного подхода к разработке ИС?
  9. На чем базируются наиболее распространенные методологии структурного подхода?
  10.  Какие основные группы средств иллюстрируют функции, выполняемые системой и отношения между данными?
  11. Как определяется модель системы в соответствии с методологией?
  12. Что определяют диаграммы верхних уровней иерархии (контекстные диаграммы)?
  13. Что называют миниспецификацией?

Практическое занятие №4.  Программная реализация при нисходящей разработке

  1. Что понимают под стилем программирования?
  2. Перечислите основные правила хорошего стиля программирования.
  3. Какой код программы считается простым и понятным?
  4. В чем заключается основное правило стандартизации стиля программирования?
  5. Что в программировании называют нисходящей разработкой?
  6. Что считают подыгрывающей программой?
  7. Когда целесообразно начать тестирование и отладку отдельных программных модулей и программного комплекса в целом?

Практическое занятие №5. Технологии коллективной разработки

  1. Назовите виды разработок ПО в зависимости от количества создателей и типов взаимоотношений между ними.
  2. Охарактеризуйте тип «авторская разработка».
  3. Охарактеризуйте тип «коллективная разработка».
  4. Назовите виды коллективов при «коллективной разработке».
  5. Охарактеризуйте тип «общинная модель разработки».
  6. перечислите основные свойства программных модулей.
  7. Какие существуют способы подключения процедур в программу на Турбо Паскале?

Практическое занятие №6.  Тестирование и отладка

  1. Назовите основное назначение процесса тестирования программы.
  2. Назовите основное назначение процесса отладки программы.
  3. Перечислите основные стратегии тестирования.
  4. Какие источники используются для составления тестов?
  5. Назовите основные подходы к тестированию.
  6. Назовите основные средства отладки в среде Турбо Паскаль 7.
  7. Каково предназначение средства трассировки?
  8. Для чего используются точки прерывания?

Практическое занятие №7.  Использование библиотеки поддержки разработки

  1. При использовании какой технологии возможно включать в разрабатываемые программные комплексы модули, созданные ранее?
  2. Почему использование готовых программных модулей значительно повышает надежность программного комплекса, упрощает процесс его разработки, сокращает время разработки и снижает стоимость самой разработки?
  3. Дайте определение стандартного программного модуля.
  4. Дайте определение стандартного алгоритма.
  5. Что составляет личную библиотеку программиста?

Практическое занятие №8.  Ввод программного комплекса в эксплуатацию

  1. Что считается визитной карточкой любого профессионально разработанного программного комплекса?
  2. Перечислите основные информационные элементы заставки к программе.
  3. Что собой представляет документация на программный продукт? [9]
  4. Назовите основные отличия «документации на программный продукт» от «руководства пользователя».

Практическое занятие №9.  Разработка MDI–приложения

  1. Назовите особенности применения RAD–модели в программировании.
  2. Что является базовой парадигмой в RAD–средах?
  3. Почему применение объектов в практике программирования повышает надежность программ?
  4. Назовите главное достоинство визуальных систем программирования.
  5. Опишите основное предназначение MDI–стиля. [10]
  6. Перечислите основные правила использования диалоговых панелей.

Практическое занятие №10. Разработка SDI–приложения

  1. Опишите основное предназначение SDI –стиля.
  2. Перечислите основные компоненты среды Delphi, применяемые для создания SDI –стиля.

Практическое занятие №11.  Методы отладки в среде Delphi

  1. Назовите основные типы ошибок, возникающих в процессе проектирования и программирования приложений.
  2. Какие инструменты предоставляет отладчик среды Delphi программисту?
  3. Назовите основные отличия отладчиков среды Delphi и Турбо Паскаля. [11]
  4. Возможно ли исправить вручную неверное значение переменной в окне быстрого просмотра значений?
  5. Когда необходимо применять прерывания в программе точками останова по условию?
  6. Можно ли при отладке программы применять несколько точек останова?

Практическое занятие №12. Создание справочной системы приложения с помощью утилиты Help Workshop

  1. Назовите основные программные способы обеспечения пользователя справочной системой.
  2. Перечислите этапы создание справочной системы программного комплекса.
  3. Назовите основные достоинства применения программы Microsoft Help Workshop для создания справочного файла.

Рекомендуемое программное обеспечение для проведения практических работ:

  1. Системы программирования Turbo Pascal и Delphi.
  2. Утилита быстрой разработки справочных систем Help Workshop. [12]

В ходе обучения студентов для эффективной организации учебного процесса должны использоваться информационные и телекоммуникационные технологии и ресурсы; для организации контроля и эффективного оценивания деятельности студентов могут использоваться тестовые технологии. [13, 14]


Библиографический список
  1. Киселева О.М. Преподавание дисциплины «Социальная информатика» в вузе для направления подготовки «Социальная работа» // Современная педагогика. 2014. № 5 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2014/05/2338 (дата обращения: 29.08.2014).
  2. Сенчилов В.В. Применение интерактивных технологий при изучении курса геометрии в школе // В.В. Сенчилов / Научно-методический электронный журнал “Концепт”. 2013. № 10 (26). С. 31-35.
  3. Киселева О.М. Применение методов математического моделирования в обучении: дисс…. канд. пед. наук. -Смоленск, 2007. -181 с.
  4. Тимофеева Н.М., Киселева О.М. О применении программных средств в процессе обучения//Системы компьютерной математики и их приложения. -Смоленск: Изд-во СГПУ, 2005. -С. 233-235.
  5. Петров В. Н. Информационные системы. – СПб.: Питер, 2002.
  6. Ершов А.П. О человеческом и эстетическом факторах в программировании. – УсиМ, 5, 1972, Киев. Наукова думка. – с. 59-63.
  7. Кнут Д. Искусство программирования для ЭВМ/ Т.1,2,3. – М. Мир, 1978.
  8. Киселева О.М. Особенности формирования технической культуры у учителей различных педагогических специальностей/О.М. Киселева, Н.М. Тимофеева, А.А. Быков//Научно-методический электронный журнал Концепт. -2013. -№ 8 (24). -С. 11-15. -ART 13157. -URL:http://e-koncept.ru/2013/13157.htm.
  9. Липаев В.В. Управление разработкой программных средств. Методы, стандарты, технология. – М., 1993.
  10. Дал У., Дейкстра Э., Хоор К. Структурное программирование. – М., 1975.
  11. Боэм Б.И. Инженерное проектирование программного обеспечения. – М., 1985.
  12. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика, 2000.
  13. Сенчилов В.В. Тестирование, как одна из современных форм контроля знаний учащихся/В.В. Сенчилов, Т.П. Сенчилова//Научные труды международной научно-практической конференции ученых МАДИ(ТУ), МСХА, ЛГАУ, ССХИ. Том 3. Методика и педагогика. Москва-Луганск-Смоленск. Издательство МАДИ(ТУ), МСХА, ЛГАУ, ССХИ. 2002, С. 99 -105
  14. Киселева О.М. Преподавание дисциплины «Современные системы управления базами данных» в ВУЗе для направления подготовки «Социальная работа» // Психология, социология и педагогика. 2014. № 7 [Электронный ресурс]. URL: http://psychology.snauka.ru/2014/07/3391 (дата обращения: 29.08.2014).


Все статьи автора «bykov1»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: