Skip Navigation Linksпрограммирование

Программиро​вание
Дисциплина «Программирование» в направлении 230100.62 по профилю «Программное обеспечение средств вычислительной техники и автоматизированных систем» включает три части:
  • Программироване(первый курс)
  • Стуктуры и алгоритмы обработки данных (второй курс)
  • Объектно-ориентированное программирование (третий курс)
  • Функциональное и логическое программирование(четвертый курс).
Помимо этого курса студенты изучают языки программирования в других дисциплинах. Так изучение дисциплины "Структуры и алгоритмы обработки данных" поддерживается языком программирования С++, разработка клиентских приложений к базе данных студенты выполняют на языке С# в среде MS Visual Studio или Borland Delphi. Дисциплина Операционные системы(ОС) предлагают знакомство с языком Ассемблер, а дисциплина ООП (Объектно-ориентированное программирование) поддерживается языком Smalltalk), дисциплина "Функциональное и логическое программирование" рассматривает язык Prolog.​
 
 
Первый курс 
Дисциплина "Основы программирования"

Лекции - 72 часа
Практические занятия - 36 часов
Лабораторные работы - 36 часов
 
Цель данной дисциплины. Научить студентов правильному подходу к разработке программ, а это значит они должны знать не только назначение операторов языка и их синтаксис, но и понимать как выполняется программа, какие программы помогают ей выполниться, как организован в компьютере процесс вычисления, как данные хранятся в памяти, какие действия над тем или иным видом данных можно выполнять. Поэтому изучение программирования начинается с "нуля", мы учим студента понимать язык алгоритмов и язык программирования не поверхностно, а изнутри.
В результате изучения дисциплины студент научиться не только разрабатывать программы, но и получит навыки самостоятельного изучения новых системы программирования.

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

Для реализации  лабораторных работ, т.е. получения практических навыков, выбрана среда разработки приложений Borland Delphi. В конце первого курса студенты способны разрабатывать многомодульные консольные и объектно-ориентированные приложения для Windows системы, управляемые оконным интерфейсом.

Тематика курсовых работ по программированию на первом курсе:
Создание объектно-ориентированных приложений в среде Delphi.
Создание компонентов пользователя средствами Delphi.
Разработка библиотеки подпрогра​мм на основе модуля Unit и библиотеки DLL.
Разработка объектно-ориентированного приложения Delphi, спользующего массив объектов.
Применение вариантного типа при разработке приложений Delphi.
Исключительные ситуации и их применение в приложениях Delphi.
Рекуррентные алгоритмы и рекурсивные подпрограммы.
 
Второй курс
Дисциплина "Структуры и алгоритмы обработки данных"

Лекции - 72 часа
Практические занятия - 36 часов
Лабораторные работы - 36 часов

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


Рассматриваемые темы
  • Хранение данных в памяти компьютера.
  • Представление структур данных в языках программирования.
  • Статические и динамические структуры данных.
  • Построение и анализ алгоритмов.
  • Абстрактный тип данных.
  • Коллекции данных.
  • Методы разработки алгоритмов.
  • Линейные структуры данных.
  • Нелинейные структуры данных.
  • Графы. Представление в памяти и алгоритмы поиска в графе.
  • Алгоритмы поиска информации.
  • Алгоритмы сортировки в стуктурах данных.
  • Методы сжатия инфрмации.
  • Методы анализа алгоримов.
  • Структуры данных для внешней памяти и алгоритмы их обработки.

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

Третий курс
Дисциплина "Объектно-ориентированное программирование (ООП)"

Лекции - 36 часов
Лабораторны работы - 36 часов
Курсовая работа

Рассматриваемые темы
  • Данные и знания, модели представления знаний и связанные с ними парадигмы программирования. 
  • Отличие ООП от традиционных языков.
  • Объекты, классы, сообщения, методы, иерархия классов.Инкапсуляция.  Наследование.
  • Свойства и преимущества ОО языков программирования и соответствующей технологии проектирования: абстрактные типы данных, полиморфизм, динамическое связывание.
  • Концептуальное описание и концептуальная  модель предметной области (ПрО) задачи программирования.
  • Методика концептуального анализа и проектирования модели ПрО.
  • Переход от концептуальной к объектно-ориентированной модели. Представление необходимых знаний в виде системы классов.
  • Классы языка Смолток.
  • Принципы организации графического интерфейса в ООП. 
  • Разработка прикладных программ на языке Смолток.
  • Среда визуального программирования VisualAge Smalltalk
Тематика курсовых работ 
Примерные темы курсовых проектов:
  • продажа/покупка программного обеспечения, бытовой техники, жилья, транспорта, лекарственных препаратов и др.;
  •   производство чего-либо, выполнение строительных, ремонтных и т.п. работ;
  •  приготовление различных блюд;
  • оказание каких-либо услуг;
  •  подготовка технических средств или персонала к выполнению каких-либо действий
  • спортивные соревнования.

Четвертый курс
Дисциплина "Функциональное и логическое программирование"

Лекции - 36 часов
Лабораторные работы - 36 часов
Практические занятия - 12 часов

Рассматриваемые темы
  • Исчисление предикатов первого порядка (ИП) как модель представления знаний.
  • Представление задачи рассуждения с помощью предикатов. Квантор общности и квантор существования. Преобразование формул в ИП. Стандартизация переменных. Исключение кванторов. Сколемизация. Предваренная форма. Подстановки и унификация. Применение метода резолюций в ИП.
  • Основы языка Пролог.
  •  Хорновские выражения. Термы и объекты. Функциональные термы. Факты, правила и вопросы. Переменные, анонимные переменные. Логические связки  в Прологе. Механизм работы интерпретатора Пролога: поиск соответствий, подстановки и унификация, вычисление ответа. Встроенные предикаты Пролога.
  • Введение в функциональное программирование.
  • История создания языка Лисп как основоположника функциональной парадигмы программирования. Отличительные черты Лиспа, появившиеся впоследствии в объектно-ориентированных языках программирования. ​
  • Основы языка Лисп.
  • Применение ФП в искусственном интеллекте.

Рис. 1 Блок - схема алгоритма вычисления расстояния между двумя точками на плоскости. Точки заданы своими координатами

Код программы на Delphi