Programming technologies

Специальность / Speciality: 6-05-0533-08 Компьютерная математика и системный анализ / Computer mathematics and system analysis

Учебная дисциплина, модуль / 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.

Формируемые компетенции / The formed competences

Результаты обучения (знать, уметь, владеть) / Learning outcomes (know, can, be able)

Требования к компетенциям

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

для специальности 1-31 03 09 Компьютерная математика и системный анализ:

универсальные компетенции:

УК-2. Решать стандартные задачи профессиональной деятельности на основе применения информационно-коммуникационных технологий.

специализированные компетенции:

СК-2.Применять

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

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

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

знать:

технологии решения научно-технических и информационных задач;

современные информационные технологии;

уметь:

решать типовые математики и

информатики;

работать на современных вычислительных средствах;

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

владеть:

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

современными технологиями разработки программ.

The study of the discipline “Programming Technologies” and the nature of the problems being solved should contribute to the formation in students of the fundamentals of algorithmic thinking and an understanding of modern approaches to software solutions to scientific and applied problems.

Competency requirements

universal competencies:

UK-2. Solve standard problems of professional activity based on the use of information and communication technologies.

basic professional competencies:

BPK-3. Use modern computer mathematical

for specialty 1-31 03 09 Computer mathematics and systems analysis:

universal competencies:

UK-2. Solve standard problems of professional activity based on the use of information and communication technologies.

specialized competencies:

SK-2. Apply modern technologies and basic designs of programming languages, design, create and use databases to implement algorithmic applied problems and develop web projects.

As a result of studying this discipline, the student must

know:

technologies for solving scientific, technical and information problems;

 modern information technologies;

be able to:

 solve typical problems of mathematics and computer science;

 work on modern computing tools;

 apply modern information technologies and methods for solving applied problems;

own:

 technologies for programming tasks in various fields;

 modern software development technologies.

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

Связи с другими учебными дисциплинами

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

Connections with other academic disciplines, The academic discipline “Programming Technologies” is based on the academic discipline “Programming Methods”, studied in the first year.

Семестр изучения учебной дисциплины, модуля / 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 часов;

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

–зачет в 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:

––test in the 3th semester.

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

Lab.work-30, Sam. Slave-4