ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
БЕЛОРУССКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Поиск Карта сайта

Программирование

Программирование на различных языках и на различные платформы

За дополнительной информацией обращаться:

Ведущий специалист Ордынская Марина Юрьевна, ауд. 607-7., тел. +375 17 397-82-95, +375 29 639-65-63,

e-mail: ordinskaya@bsuir.by

Заместитель декана Гарбуз Виталий Борисович, ауд. 402-8., тел. +375 29 686-61-14, e-mail: garbuz@bsuir.by

По направлению «Автоматизация производственных процессов на оборудовании SIEMENS AG» обращаться к Лыч Анне Игоревне, специалисту ООО «ИНОСАТ-АВТОМАТИЗАЦИЯ», +375(44)5776288, al@i-a.by

Запись осуществляется через электронную форму. Обучение начинаются по мере формирования групп, и проводятся на платной основе. Время проведения для слушателей по направлению организаций с 9.00 до 16.00, кроме субботы и воскресенья, для физических лиц - по согласованию.

  • Стоимость: 590
  • Продолжительность: 72 часов
  • Количество заявок: 7
Обучение с ____________.
Занятия 2 раза в неделю (понедельник, четверг) 19.00:22.00 (4 академичексих часа) по адресу ул. Козлова, 28 (7 корпус БГУИР).
70% практика + 30% теория.
 
Программа курса

Введение. Цели и задачи тестирования
Раздел 1. Тестирование программного обеспечения

1.1 Связь тестирования с жизненным циклом и моделями разработки программного обеспечения
1.2 Сроки тестирования. Виды, уровни, направления и методы тестирования. Планирование тестовых испытаний и отчетность
1.3 Тестирование документации и требований. Разработка тестов. Чек-листы, тест-кейсы, наборы тест-кейсов
Лабораторная работа №1. Составление плана процесса тестирования
Лабораторная работа №2. Тестирование требований к программному обеспечению
Лабораторная работа №3 Разработка и оформление тестового сценария
1.4 Поиск и документирование дефектов
1.5 Документирование результатов тестирования. Тестирование на основе рисков
Лабораторная работа №4. Использование систем отслеживания проблем (BAG TRACKING систем)
Лабораторная работа №5. Оформление документации по результатам тестирования

Раздел 2. Особенности тестирования web-приложений
2.1 Особенности тестирования web-приложений. Инсталляционное тестирование
2.2 Тестирование по методу белого ящика. Тестирование форм
Лабораторная работа №6. Тестирование инсталляторов
Лабораторная работа №7. Тестирование приложений методом «белого ящика»
Лабораторная работа №8. Создание теста для отладки web-приложения (тестирование форм)
2.3 Тестирование совместимости. Тестирование производительности и нагрузочное тестирование. Стрессовое тестирование
2.4 Введение в SEO. Методы оптимизации. Внутренняя и внешняя оптимизация
Лабораторная работа №9. Тестирование совместимости web-приложений и компонентов (кроссбраузерное тестирование)
Лабораторная работа №10. Тестирование совместимости web-приложений с поисковыми системами
Лабораторная работа №11. Стрессовое тестирование web-приложений

Раздел 3. Виды тестирования программного обеспечения
3.1 Модульное и интеграционное тестирование. Юзабилити тестирование
3.2 Введение в тестирование безопасности. Классификация угроз безопасности. Анализ защищенности приложений. Тестирование на проникновение
Лабораторная работа №12. Методика проведения юзабилити-тестирования web-приложения
Лабораторная работа №13. Методика проведения юзабилити-тестирования web-приложения

  • Стоимость: 650
  • Продолжительность: 70 часов
  • Количество заявок: 7
 Цель курса–изучение возможностей и средств языка Java, освоение методов разработки алгоритмов, выбора и проектирования структур данных.
 
Программа курса:

 I Основные команды и структуры данных языка Java

1.1 Среда разработка IntelijIDEA
1.2 Типы данных
1.3 Операторы ветвления
1.4 Понятие цикл. Работа с циклами
1.5 Функции
1.6 Одномерные массивы. Работа со строками
1.7 Многомерные массивы
1.8 Работа с файлами
1.9 Строки
1.10 Лямбда-выражения
 
II Классы и методы. Наследование. Обработка исключительных ситуаций
2.1 Понятие класс
2.2 Конструкторы. Методы. Свойства.
2.3 Статические поля и методы. Перегрузка методов
2.4 Наследование. 
2.5 Абстрактные классы. Интерфейсы.
2.6 Обработка исключительных ситуаций
 
III Сложные структуры данных. Списки, очереди, стеки
3.1 Списки в Java
3.2 Стеки в Java 
3.3 Очереди в Java
3.4 Множества в Java
3.5 Словари в Java

         

Занятия ОНЛАЙН еженедельно во вторник и четверг.
Время
19.00 – 22.00: 1 пара 19.00 – 20.20;  2 пара 20.40 – 22.00.

 

  • Стоимость: 490
  • Продолжительность: 56 часов
  • Количество заявок: 7
Программы повышения квалификации "Основы программирования на языке С++"
 
Цель курса - изучение основных правил грамматики и синтаксиса языка С++
и методов объектно-ориентированного программирования в среде MS Visual C++ .
 
 
Программа курса

I. Разработка проекта приложения в среде MS Visual Studio. Базовые средства языка С++ (10 часов)
1.1 Алфавит языка. Типы данных (2ЛК+2ПЗ)
1.2 Общая структура программы на языке С++. Операторы и выражения (1ЛК+2ПЗ)
1.3 Программирование линейных алгоритмов. Функции ввода-вывода (1ЛК+2ПЗ)

II. Управление ходом выполнения программы (12 часов)
2.1 Условные операторы (2ЛК+2ПЗ)
2.2 Операторы циклов (2ЛК+2ПЗ)
2.3 Пользовательские функции (2ЛК+2ПЗ)

III. Массивы. Указатели. Строки (14 часов)
3.1 Одномерные и многомерные массивы (2ЛК+4ПЗ)
3.2 Указатели. Работа с динамической памятью (2ЛК+2ПЗ)
3.3 Строки как массивы символов. Класс string (2ЛК+2ПЗ)

IV. Пользовательские типы данных (10 часов)
4.1 Структуры, объединения, перечисления (4ЛК+6ПЗ)

V. Работа с файлами и каталогами (10 часов)
5.1 Чтение и запись в текстовые и бинарные файлы (2ЛК+4ПЗ)
5.2 Обработка исключений при работе с файлами (2ЛК+2ПЗ)

  • Стоимость: 510
  • Продолжительность: 80 часов
  • Количество заявок: 11
Программа обучения:

Раздел I. Знакомство с синтаксисом языка программирования C#
Знакомство с .NET Framework
Базовые операторы языка C#
Ветвление и циклы
Методы
Массивы в С#. Класс Array
Строки

Раздел II. Объектно-ориентированное программирование
Основные принципы объектно-ориентированное программирование
Проектирование и создание классов
Наследование
Отношение между классами
Абстрактный класс и интерфейс
Обработка исключительных ситуаций
Делегаты
Лямбда-выражения
Библиотеки динамической компоновки (dll)
Коллекции

Раздел III. Ведение в СУБД SQLite
Создание БД и таблиц. Вставка, обновление и удаление данных
Выбор записей и условия в инструкциях. Транзакции
Работа с SQLite из C#

Раздел IV. Создание оконных приложений для платформы Windows
Общие принципы создания оконных приложений
Реализация проектов

Занятия ОНЛАЙН по вторникам и четвергам 19.00 - 22.00, суббота 13.00 - 18.00.
  • Стоимость: 550
  • Продолжительность: 60 часов
  • Количество заявок: 4
Цель курса – приобретение навыков решения логических задач, составления и чтения схем алгоритмов, изучение основных конструкций языка программирования, развитие алгоритмического мышления, формирование навыков грамотной разработки программ, углубление знаний, умений и навыков решения задач типовых алгоритмических задачасов.
Программа курса
Основы алгоритмизации
Задача. Решение задачи. Понятие алгоритма. Свойства алгоритмов. Способы описания алгоритмов. Основные алгоритмические конструкции. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов. Программа. Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика). Трехуровневая модель программного продукта. Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля
Представление данных. Принцип программного управления
Основы алгебры логики. Системы счисления. Связи между системами счисления. Основы арифметики двоичных чисел. Принцип программного управления. Базовая архитектура и структура ЭВМ. Принцип фон Неймана. Единицы измерения ёмкости запоминающих устройств. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Диапазоны представления чисел в двоичной системе счисления. Представление символьной информации. Кодовые таблицы. Понятие типа данных. Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция
Методологии и языки программирования
Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования. Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях). Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование). Объектно-ориентированное программирование. Базовые принципы (абстрагирование; инкапсуляция; наследование, полиморфизм). Языки программирования. Классификация.
Структуры данных. Основы проектирования баз данных
Базовые структуры данных – массивы и записи. Основные операции над структурами данных. Динамические структуры данных. Списки. Стеки. Деревья. Информационная система. Понятие базы данных. Требования пользователей к базам данных.
Понятие "интерфейс"
Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса. Методы построения диалога с пользователем.
Переменные
Состав и структура языка программирования. Комментарии. Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода. Область видимости и время жизни переменных. Затенение имен. Оператор присваивания. Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными. Константы. Указатель или ссылка на переменную.
 Язык программирования. Операторы.
Понятие оператора. Запись операторов. Многострочные операторы, понятие блока. Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения.Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы.Оптимизация условий. Оператор выбора. Оптимизация оператора выбора. Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.
Процедуры и функции
Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы. Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские, обработки событий. Описание, объявление, вызов процедуры. Библиотеки функций. Вызов процедуры и функции. Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией. Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.
Способы организации данных
Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
Решение общих алгоритмических задач

Поиск элемента в массиве: линейный, двоичный и интерполяционные алгоритмы. Поиск наибольшего и наименьшего элемента в массиве. Различные способы сортировки элементов массива: метод прямого выбора, метод вставки, пузырьковая сортировка. Оценка сложности алгоритма и сравнение алгоритмов. Алгоритмы работы со строками. Разбиение и объединение строк, поиск и извлечение подстроки, удаление подстроки, синтаксический анализ текста. Рекурсивные и итерационные алгоритмы. Рекурсивные математические функции на примере вычисления факториала. 

  • Продолжительность: 36 часов
  • Количество заявок: 4
Программа курса
Качество программного обеспечения.
Качество - это цель инженерной деятельности; построение качественного программного обеспечения (ПО, software) - цель программной инженерии (software engineering). Внешние и внутренние факторы. Корректность (Correctness). Устойчивость (Robustness). Расширяемость (Extendibility). Повторное использование (Reusability). Совместимость (Compatibility). Эффективность (Efficiency). Переносимость (Portability). Простота использования (Easy of Use). Функциональность (Functionality). Своевременность (Timeliness). Другие качества. О документации. О программном сопровождении.
Критерии объектной ориентации
О критериях. Категории. Метод и язык.Бесшовность (seamlessness). Классы. Утверждения (Assertions). Классы как модули. Классы как типы. Вычисления, основанные на компонентах. Скрытие информации (information hiding). Обработка исключений (Exception handling). Статическая типизация (static typing). Универсальность (genericity). Единичное наследование (single inheritance). Множественное наследование (Multiple inheritance).Дублируемое наследование (Repeated inheritance). Ограниченная универсальность (Constrained genericity). Переопределение (redefinition). Полиморфизм. Динамическое связывание. Выяснение типа объекта в период выполнения. Отложенные (deferred) свойства и классы. Управление памятью (memory management) и сборка мусора (garbage collection). Реализация и среда. Автоматическое обновление (automatic update). Быстрое обновление (fast update). Живучесть (persistence). Библиотеки. Базовые библиотеки. Графика и пользовательские интерфейсы. Механизмы эволюции библиотек. Механизмы индексации в библиотеках. 
Модульность
Пять критериев. Декомпозиция. Модульная Композиция. Модульная Понятность. Модульная Непрерывность. Модульная Защищенность. Пять правил: прямое отображение, минимум интерфейсов, слабая связность интерфейсов, явные интерфейсы, скрытие информации. Пять принципов: Лингвистические Модульные Единицы, Самодокументирование, Унифицированный Доступ, Открыт-Закрыт, Единственный Выбор.
Подходы к повторному использованию
Цели повторного использования. Ожидаемые преимущества. Потребители и производители повторно используемых программ. Повторное использование персонала. Повторное использование проектов и спецификаций. Образцы проектов (design patterns). Повторное использование исходного текста. Повторное использование абстрактных модулей. Повторяемость при разработке ПО. Организация доступа к компонентам. Форматы для распространения повторно используемых компонентов. Изменчивость Типов (Type Variation), Группирование Подпрограмм (Routine Grouping), Изменчивость Реализаций (Implementation Variation), Независимость Представлений, Факторизация Общего Поведения. Традиционные модульные структуры. Подпрограммы. Пакеты. Перегрузка и универсальность. Синтаксическая перегрузка. Семантическая перегрузка (предварительное представление). Универсальность (genericity). 
Абстрактные типы данных (АТД)
Различные реализации. Представления стеков. Опасность излишней спецификации. Использование операций. Политика невмешательства в обществе модулей. Согласованность имен. Можно ли обойтись без абстракций. Формализация спецификаций. Специфицирование типов. Универсализация (Genericity). Перечисление функций. Категории функций. Частичные функции. Предусловия. Полная спецификация. Роль отложенных классов. Абстрактные типы данных и скрытие информации.
Статические структуры: классы
Роль классов. Модули и типы. Класс как модуль и как тип. Унифицированная система типов. Простой класс. Компоненты. Атрибуты и подпрограммы. Унифицированный доступ. Класс POINT. Распознавание вида компонент. Тело подпрограммы и комментарии к заголовку. Предложение indexing. Обозначение результата функции. Объектно-ориентированный стиль вычислений.
Динамические структуры: объекты
Объекты. Базовая форма. Простые поля. Ссылки. Идентичность объектов. Объявление ссылок. Ссылка на себя. Взгляд на структуру объектов периода выполнения. Объекты как средство моделирования. Работа с объектами и ссылками.Динамическое создание и повторное связывание. Процедуры создания и перегрузка. Операции над ссылками. Присоединение ссылки к объекту. Значение void. Клонирование и сравнение объектов. Копирование объектов. Агрегирование. Свойства развернутых типов. Присоединение: ссылочное и копии. Динамические псевдонимы. Инкапсуляция действий со ссылками.
Управление памятью
Создание объектов. Использование динамического режима. Отсоединение. Недостижимые объекты. Достижимые объекты в классическом подходе. Достижимые объекты в объектно-ориентрованной (ОО)-модели. Проблема управления памятью в ОО-модели. Восстановление памяти: проблемы. Удаление объектов, управляемое программистом. Автоматическое управление памятью. Механизм сборки мусора.
Универсализация
Горизонтальное и вертикальное обобщение типа. Необходимость параметризованных классов. Родовые АТД. Операции над сущностями родового типа. Типы и классы. Массивы как объекты. Свойства массива. 
Построение надежного ПО
Базисные механизмы надежности. О корректности ПО. Введение утверждений в программные тексты. Предусловия и постусловия. Класс стек. Контракты и надежность ПО. Права и обязательства. Ошибки, дефекты. Работа с утверждениями.Императив и аппликатив (применимость).
Обработка исключений
Базисные концепции обработки исключений. Отказы. Исключения. Источники исключений. Ситуации отказа. Обработка исключений.
Поддерживающие механизмы
Взаимодействие с не объектным ПО. Внешние программы. ОО-изменение архитектуры (re-architecturing). Условная Инструкция (Conditional). Множественный выбор. Циклы. Повторение вычислений. Выражения. Манифестные константы. Нестрогие булевы операторы. Строки.
Введение в наследование
Основные соглашения и терминология. Наследование инварианта. Наследование и конструкторы. Полиморфизм. Полиморфное присоединение. Полиморфные структуры данных. Типизация при наследовании. Согласованность типов. Пределы полиморфизма. Экземпляры. Статический тип, динамический тип. Динамическое связывание. Отложенные компоненты и классы. Повторное объявление функции как атрибута. Явное переопределение. Доступ к предшественнику процедуры. Динамическое связывание и эффективность. Статическое связывание как оптимизация.
Множественное наследование
Примеры множественного наследования.Переименование компонентов. Конфликт имен. Смена имен и переопределение. Подбор локальных имен. Конфликт переопределений. Дублируемое наследование и универсальность.
Техника наследования
Наследование и утверждения. Инварианты. Предусловия и постусловия при наличии динамического связывания. Абстрактные предусловия. Правило языка. Повторное объявление функции как атрибута.
Типизация
Проблема типизации. Базисная конструкция. Статическая и динамическая типизация. Правила типизации.
Глобальные объекты и константы
Константы базовых типов. Атрибуты-константы. Константы пользовательских классов. Однократные функции. Разделяемые объекты. Однократные процедуры. Константы строковых типов.
 

 

  • Продолжительность: 36 часов
Курс рассчитан на инженеров-программистов, а также на студентов старших курсов, обучающихся по специальностям, связанным с разработкой программных систем (ПС),  желающих повысить свою квалификацию в области объектно-ориентированного анализа промышленных и информационных систем.
По окончании данного курса слушатели смогут самостоятельно проводить анализ ПС, с использованием методов моделирования на основе унифицированного языка визуального моделирования (UML) и итерационного инкрементального процесса разработки (RUP).
Программа курса
Общие принципы объектно-ориентированного подхода
Анализ и проектирование их цели и значение в общем процессе разработки программных систем. Визуальное моделирование, основные принципы, аналитическая модель.
Анализ предметной области (Business Analysis)
Структура (модульность) проекта, как средство борьбы с хаосом.  Артефакты анализа предметной области и их предназначение. Лингвистический анализ и моделирование сущностей предметной области.
Моделирование функциональности в предметной области (business use case diagram): диаграмма штатных единиц (должности) и их функциональные обязанности. Моделирование бизнес-процессов (activity diagram).
Анализ требований (Requirements Analysis)
Классификация требований, моделирование требований, трассировочная матрица. Принципы построения модели вариантов использования (use case diagram).
Анализ требований (Requirements Analysis)
Актеры как роли штатных единиц. Модель вариантов использования (use case diagram), цель,  предназначение, отношения. Как избежать функциональной декомпозиции.
Сценарии, потоки событий и прототипы экранных форм - артефакты перехода от функциональных требований к архитектуре программных средств (ПС). Типовые, альтернативные и ошибочные потоки событий.
Системный анализ (System Analysis)
Классы и объекты анализа: entity, boundary, control, их предназначение и ответственность. Атрибуты и операции классов анализа. Диаграмма последовательности (sequence diagram) для моделирования динамических аспектов ПС: цели, назначение, особенности построения.
Моделирование структуры объектных связей.  Кооперативная диаграмма (collaboration diagram): цели, назначение, особенности построения. Моделирование классов анализа (class diagram).  Отношения классов анализа. Отличия архитектуры анализа и проектирования. Роль и место системного  анализа в процессе разработки ПС.

Гибкие методологии разработки (Agile) их возможности, области применения, достоинства и недостатки в сравнении с RUP. 

  • Стоимость: 500
  • Продолжительность: 36 часов
  • Количество заявок: 8
Цель курса – получение базовых знаний и навыков, необходимых для  освоения любых возможностей платформы и применения их при разработке собственных приложений.
Предварительный уровень подготовки: знание основ программирования на языке Java, базовые знания реляционных баз данных (SQL), уверенное владение интегрированной средой разработки Eclipse. Рекомендуем прослушать курс «Программирование на языке JAVA».
В результате освоения курса слушатель будет уметь:
·           разрабатывать мобильные приложения в эмуляторе Android;
·           работать с меню в ОС Android для удобных с точки зрения юзабилити приложений;
·           работать с внутренними системными службами в ОС Android, поставщиками контента и базами данных;
·           тестировать созданные мобильные приложения для эффективной работы.
Программа курса
Обзор платформы Android
Что такое Android. История возникновения. Преимущества Android. Архитектура Android. Особенности платформы Android. Основные компоненты Android. Безопасность и полномочия (Permissions). Установка и настройка компонентов среды разработки.
Активности и ресурсы
Активности (Activity) в Android. Создание Активности. Жизненный цикл Активности. Стеки Активностей. Состояния Активностей. Отслеживание изменений состояния Активности. Ресурсы. Отделение ресурсов от кода программы. Создание ресурсов. Простые значения. Визуальные стили и темы. Изображения. Разметка. Анимация. Меню.
Приложения и пользовательский интерфейс
Использование внешних ресурсов в коде приложения. Использование ресурсов внутри ресурсов. Локализация приложения с помощью внешних ресурсов. Класс Application. Обработка событий жизненного цикла приложения. Понятие контекста. Пользовательский интерфейс. Представления (View). Разметка (Layout).
Намерения, меню и работа с данными
Адаптеры в Android. Использование Адаптеров для привязки данных. Намерения в Android. Использование Намерений для запуска Активностей. Неявные намерения. Сохранение состояния и настроек приложения. Общие Настройки (Shared Preferences). Работа с файлами. Использование статических файлов как ресурсов. Меню в Android. Дочерние и контекстные меню. Описание меню с помощью XML.
СУБД, контент-провайдеры и использование сетевых сервисов
Работа с базами данных в Android. Курсоры (Cursor) и ContentValues. Работа с СУБД SQLite. .Работа с СУБД без адаптера. Особенности работы с БД в Android. Выполнение запросов для доступа к данным. Изменение данных в БД. Использование SimpleCursorAdapter. Контент-провайдеры. Использование контент-провайдеров. Создание контент-провайдеров. Использование интернет-сервисов.
Диалоги в Android
Виды диалогов. Рекомендации по дизайну диалогов. Создание и удаление диалогов. Обработка событий.
Широковещательные приемники (Broadcast Receivers)

Применение широковещательных приемников. Жизненный цикл приемника. Регистрация приемника. Использование Ordered Broadcast. Использование PendingIntent          . 

  • Продолжительность: 40 часов
  • Количество заявок: 1
Использование потоков. Понятие Handler и HandlerThread. Использование AsyncTask. Понятие Loaders. Использование в приложениях.
Фоновые операции – Service
Создание. Взаимодействие с другими компонентами. Типы сервисов. Использование сервисов для межпроцессного взаимодействия. AIDL.
Хранение данных
Варианты хранения данных внутри приложения. Использование Backup API. Работа с облачными сервисами.
Компонент Broadcast Receiver
Создание и использование. Жизненный цикл. Типы ресиверов.
Компонент Content Provider
Жизненный цикл. Понятие Cursor и способы использования. Использование провайдеров для межпроцессного взаимодействия. Создание пользовательских провайдеров. Обзор провайдеров, предоставляемых платформой.
Работа с media контентом
Поддерживаемые форматы. Работа со звуком. Работа с видео. Использование камеры.
Работа с платформенными API
LBS сервисы. Способы получения информации. Геокодинг. Эмуляция геолокационных данных. Менеджер сетевых подключений. Менеджер телефонии. Типы сенсоров и работа с ними. Менеджер энергопотребления. Менеджер WiFi. Менеджер вибрации.
Взаимодействие с внешними устройствами
Bluetooth. NFC. WiFiDirect. USB.
Сервисы Google

Google Cloud Messaging. Варианты монетизации приложения. In-appBilling. Взаимодействиес GooglePlay. 

  • Стоимость: 530
  • Продолжительность: 60 часов
  • Количество заявок: 8
ПРОГРАММА ОБУЧЕНИЯ "Основы  программирования на Python"
Основные команды и структуры данных языка Python
- Общие положения
- Типы данных
- Операторы управления
- Понятие цикл. Работа с циклами
- Списки и кортежи. Работа со строками
- Модули. Создание функций.
- Работа с файлами
Классы и методы
 - Понятие класс
- Наследование. Перехват исключений с использованием try и except
Фрэймворк Django, HTML, SQL
Реализация проекта
 
ПРЕДВАРИТЕЛЬНОЕ РАСПИСАНИЕ ЗАНЯТИЙ:
1 нед. 19.09 (пн), 21.09 (ср), 23.09 (пт) 19.00 - 21.00 (3 уч. часа);
2 нед. 26.09 (пн), 28.09 (ср), 30.09 (пт) 19.00 - 21.00 (3 уч. часа);
3 нед. 03.10 (пн), 05.10 (ср), 07.10 (пт) 19.00 - 21.00 (3 уч. часа);
4 нед. 10.10 (пн), 12.10 (ср), 14.10 (пт) 19.00 - 21.00 (3 уч. часа);
5 нед. 17.10 (пн), 19.10 (ср), 21.10 (пт) 19.00 - 21.00 (3 уч. часа);
6 нед. 24.10 (пн), 26.10 (ср), 28.10 (пт) 19.00 - 21.00 (3 уч. часа);
7 нед. 31.10 (пн) 19.00 - 22.00 (4 уч. часа).
 
  • Продолжительность: 40 часов
  • Количество заявок: 11
Цель курса - получение необходимых знаний и практических навыков разработки приложений на языке програмирования общего назначения Python, включая создание Web-приложений с использованием фреймворка Django.
Программа курса
Web-разработка с применением концепции MVC
История и развитие Web-программирования, различные подходы. Идеи MVC-подхода: разделение логики, интерфейса и данных. Установка Web-фреймворка Django. Структура проекта.
Основы использования шаблонов
Передача данных из приложения в шаблоны. Использование циклов и выбора в шаблонах.
Хранение и работа с данными
Способы хранения данных. Создание и администрирование баз данных (БД). Схема БД: таблицы, связи между ними, ключи. Отображение данных в БД на объекты приложения (ORM). Реализация операций выборки, создания, удаления и изменения объектов.
Использование форм
Специальные средства создания форм. Проверка параметров форм.
Разграничение прав доступа пользователей
Авторизация пользователей и разграничение прав доступа. Сессии, не требующие регистрации. Безопасность.
Сложные запросы к данным
Реализация сложных запросов. Соединение запросов, подзапросы. Вызов хранимых процедур.
Расширенные возможности шаблонного механизма
Встроенные фильтры. Создание своих фильтров.
Выдача данных в форматах, отличных от HTML
Отделение статического контента от динамического. Отправка почтовых уведомлений. Отдача лент новостей. Генерация PDF-документов/
Средства отладки и тестирования
Журналирование. Встроенный интерфейс администрирования. Модульное тестирование.
Развертывание Web-приложений

Использование встроенного Web-сервера, CGI, FastCGI и mod_python.Развертывание и миграция БД. 

  • Стоимость: 540
  • Продолжительность: 60 часов
  • Количество заявок: 4

Практико-ориентированная программа повышения квалификации "Программирование на Python. Моделирование"

I РАЗДЕЛ. Основы языка Python (14 часов)
1.1. Среда разработка Jupiter notebook. Типы данных
1.2. Операторы ветвления
1.3. Понятие цикл. Работа с циклами
1.4. Функции
1.5. Одномерные и многомерные списки.. 
1.6. Строки, множества и словари
1.7. Работа с файлами

II РАЗДЕЛ. Специальные библиотеки языка Python (14 часов)
2.1. Библиотеки обработки данных: numpy, pandas
2.2. Библиотеки визуализации данных: matplotlib, plotly 
2.3. Библиотеки машинного обучения: statsmodels, sklearn
2.4. Библиотеки глубокого обучения: pytorch, keras

III РАЗДЕЛ. Моделирование (32 часа)
3.1. Проверка модели
3.2. Проектирование признаков: категориальные признаки, текстовые признаки, производные признаки, конвейеры признаков
3.3. Наивная байесовская классификация: байесовская классификация, Гауссов наивный байесовский классификатор, полиномиальный наивный байесовский классификатор
3.4. Линейная регрессия: простая линейная регрессия, регрессия по комбинации базисных функций, регуляризация 
3.5. Метод опорных векторов: 
3.6. Пример: распознание лиц
3.7. Метод главных компонент
3.8. Пример: распознание рукописных цифр 
3.9. Кластеризация методов k-средних
3.10. Пример сжатие цветов
3.11. Смеси Гауссовых распределений
3.12. Ядерная оценка плотности распределения
3.13. Временные ряды

 

Предварительное расписание занятий (вебинары):

31 мая - 10.00 - 13.00 (4 акад. часа);
1 июня - 14.30 - 17.30 (4 акад. часа);
2 июня - 14.30 - 17.30 (4 акад. часа);
6 июня - 14.30 - 17.30 (4 акад. часа);
7 июня - 14.30 - 17.30 (4 акад. часа);
8 июня - 14.30 - 17.30 (4 акад. часа);
9 июня - 14.30 - 17.30 (4 акад. часа);
13 июня - 14.30 - 17.30 (4 акад. часа);
14 июня - 14.30 - 17.30 (4 акад. часа);
15 июня - 14.30 - 17.30 (4 акад. часа);
16 июня - 14.30 - 17.30 (4 акад. часа);
20 июня - 14.30 - 17.30 (4 акад. часа);
21 июня - 14.30 - 17.30 (4 акад. часа);
22 июня - 14.30 - 17.30 (4 акад. часа);
23 июня - 14.30 - 17.30 (4 акад. часа)  + зачет.