Programming technologies

Специальность / Speciality: 6-05-0533-13 Механика и математическое моделирование / Mechanics and mathematical modeling

Учебная дисциплина, модуль / Academic discipline, module: Технологии программирования, модуль «Программирование» / Programming technologies, module «Programming»

 

Краткое содержание учебной дисциплины, модуля / Brief summary

Основные технологии программирования

Тема 1.1. Краткий обзор современных технологий программирования: структурное и объектно-ориентированное программрование, функциональное программирование, технологии Data Science, технологии Веб.

Тема 1.2. Жизненный цикл разработки программ. Инструментальные средства разработки.

 Объектно-ориентированные технологии разработки программ

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

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

Визуальное программирование и интерфейсы

Тема 3.1. Визуальные системы программирования. Интерфейсы приложений. Юзабилити. Структура проекта. Среда: главное окно, окно формы, окно проекта, окно кода программы. Компоненты: понятие, виды, размещение на форме, правила задания свойств, общие свойства. События и их обработчики. Формы: добавление новой формы, разновидности форм, свойства и события.

Тема 3.2. Работа с текстом. Компоненты для работы с текстом. Стан-дартные процедуры и функции для работы со строками.

Тема 3.3. Графические возможности: технология вывода графики, ри-сование элементарных фигур, задание параметров изображений, вывод изображений на форму и в специализированные компоненты. Вывод готовых изображений.

Тема 3.4. Работа с локальными базами данных. Создание структуры БД, ключевое поле и индексация. Компоненты для связи с базами данных. Поиск данных. Способы доступа к полям, их корректировка, перемещение по таблице. Работа с несколькими связанными таблицами. Введение в язык SQL.

Basic programming technologies

Topic 1.1. A brief overview of modern programming technologies: structured and object-oriented programming, functional programming, Data Science technologies, Web technologies.

Topic 1.2. Software development life cycle. Development tools.

 Object-oriented program development technologies

Topic 2.1. Technologies for developing algorithms and programs. Structural and object-oriented design. Optimization of programs, their quality and reliability. Program testing: principles, methods, testing stages. Event programming.

Topic 2.2. Object-oriented programming: data abstraction, encapsulation, inheritance, polymorphism. Redefining and overloading functions and operations. Friendly functions and their use. Object-oriented implementation of dynamic data structures (lists, queues, stack, binary trees). Inheritance. Section protected. Access specifiers for inheritance. Polymorphism and virtual functions. Storing objects. Template functions and template classes. Error control, exception handling. Streams. Static class members. Inner and nested classes. Standard template library. Sequential and associative containers. Lists, queues, stacks, cards, sets.

Visual programming and interfaces

Topic 3.1. Visual programming systems. Application interfaces. Usability. Project structure. Environment: main window, form window, project window, program code window. Components: concept, types, placement on the form, rules for setting properties, general properties. Events and their handlers. Forms: Add a new form, form type, properties and events.

Topic 3.2. Work with text. Components for working with text. Standard procedures and functions for working with strings.

Topic 3.3. Graphics capabilities: graphics output technology, drawing elementary figures, setting image parameters, displaying images on a form and in specialized components. Output of finished images.

Topic 3.4. Working with local databases. Creating a database structure, key field and indexing. Components for communication with databases. Data Search. Methods of accessing fields, adjusting them, moving around the table. Working with multiple related tables. Introduction to the SQL language.

Пререквизиты / Prerequisites

Учебная дисциплина “Технологии программирования” опирается на учебную дисциплину “Методы программирования”, изучаемую на первом курсе.  

Connections with other academic disciplines, including academic disciplines of a component of a higher education institution, specialization disciplines, etc.

Семестр изучения учебной дисциплины, модуля / Semester of study

3, 4

 

Трудоемкость в зачетных единицах (кредитах) / Credit units

3

3

Количество аудиторных часов и часов самостоятельной работы / Academic hour of students’ class work,

hours of self-directed learning

Структура учебной дисциплины

Дисциплина изучается в 3-м и 4-м семестрах дневной и заочной форм обучения. На изучение учебной дисциплины “Технологии программирования” отводится всего 210 часов, в том числе:

– на дневной форме обучения 140 аудиторных часов, из них лекции – 70 часов, лабораторные занятия – 60 часов, управляемая самостоятельная работа – 10 часов;

Трудоемкость учебной дисциплины составляет 6 зачетных единиц.

Форма текущей аттестации по данной дисциплине:

– для специальности 1-31 03 02 Механика и математическое моделирование – экзамен в 3-м семестре; 3 з/е, 34 лек, 30 лаб, 4 сам.раб

Structure of the academic discipline

The discipline is studied in the 3rd and 4th semesters of full-time and part-time study. Only 210 hours are allotted for studying the academic discipline “Programming Technologies”, including:

– full-time education includes 140 classroom hours, of which lectures – 70 hours, laboratory classes – 60 hours, guided independent work – 10 hours;

– on a correspondence course, 32 classroom hours, of which lectures – 16 hours, laboratory classes – 16 hours.

The complexity of the academic discipline is 6 credit units.

Form of current certification for this discipline:

–– exam in the 3th semester

In the 4th semester there are 34 hours of lectures.

Lab.work-30, Sam. Slave-4