Технологии программирования

Специальность / Speciality: 6-05-0533-07 Математика и компьютерные науки / Mathematics and computer science

Профилизация / Profiling: Веб-программирование и интернет-технологии / Web Development and Internet Technologies, Математическое и программное обеспечение мобильных устройств / Math and software for mobile devices, Искусственный интеллект и математическая экономика / Artificial Intelligence and Mathematical Economics

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

 

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

Технологии программирования Приложения. Базовые типы данных. Классы и объекты. Инкапсуляция. Наследование. Полиморфизм. Абстрактные классы. Интерфейсы. Параметризованные классы. Внутренние и анонимные классы. Аннотации. Обработка строк. Регулярные выражения. Потоки данных. Исключительные ситуации. Коллекции. Потоки выполнения. Концепция MVC. Шаблоны проектирования Front Controller и DAO. Пул соединений. Стратегии пула. Стратегии транзакций. Объектно-ориентированный системный анализ и проектирование программ. Диаграммы UML. Визуальное моделирование в среде IBM Rational Rose. Технологии совместной разработки программ GIT. Управление версиями и качеством программ. Взаимодействие с СУБД. Создание интерактивных приложений. Визуальное программирование. Обработка событий. Протоколы. Адресация в. Сети. Распределенные приложения и сокеты на основе приложения-клиента и приложения сервера. Работа с Интернет. Технология “клиент-сервер”. Технология разработки приложений различного назначения BackEnd. Преимущества и недостатки указанной технологии. Другие технологии разработки приложений и их сравнение.

Application Programming Technologies. Basic Data Types. Classes and Objects. Encapsulation. Inheritance. Polymorphism. Abstract Classes. Interfaces. Parameterized Classes. Inner and Anonymous Classes. Annotations. String Processing. Regular Expressions. Data Streams. Exception Handling. Collections. Execution Threads. MVC Concept. Front Controller and DAO Design Patterns. Connection Pooling. Pool Strategies. Transaction Strategies. Object-Oriented Systems Analysis and Software Design. UML Diagrams. Visual Modeling in the IBM Rational Rose Environment. Collaborative Software Development Technologies Using Git. Version Control and Software Quality Management. Interaction with DBMS. Creating Interactive Applications. Visual Programming. Event Handling. Protocols. Network Addressing. Distributed Applications and Sockets Based on Client and Server Applications. Working with the Internet. Client-Server Technology. Back-End Application Development Technologies for Various Purposes. Advantages and Disadvantages of the Specified Technology. Other Application Development Technologies and Their Comparison.

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

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

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

pecialized Competencies: SC Apply modern technologies and fundamental programming language constructs, design, create, and utilize databases to implement applied algorithmic tasks and develop web projects.

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

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

знать:

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

уметь:

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

владеть:

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

pon completion of this course, the student should 

know: 

technologies for solving scientific, technical, and information problems; modern information technologies; 

be able to: 

solve standard mathematical and computer science problems; operate modern computing systems; apply modern information technologies and methods for implementing solutions to applied tasks; 

and possess skills in: 

programming technologies for tasks in various fields and modern software development technologies.

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

4

4

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

Технологии программирования. 1,2 и 3 семестры

Programming Technologies. Semesters 1, 2 and 3.

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

3 зачетные единицы.

3 credit units.

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

hours of self-directed learning

Всего 102 часа, из них 68 аудиторных часа и 30 часов лабораторной работы.

A total of 102 hours, of which 68 academic hours of students’ class work and 30 hours of laboratory learning.

Требования и формы текущей и промежуточной аттестации / Requirements and forms of current and interim certification

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

Survey, written report with oral defense on laboratory work, written report with oral defense on homework, written report with oral defense on solving problems and exercises, verification work.Exam.