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

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

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

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

Ведущий специалист Ордынская Марина Юрьевна, ауд. 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.

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

  • Стоимость: 810
  • Продолжительность: 64 часов
Программа обучающего курса "Основы тестирования программного обеспечения"

1. Введение в тестирование программного обеспечения (4 ЛК)
1.1. История развития тестирования.
1.2. Важность тестирования и что можно тестировать.
1.3. Знания и навыки, необходимые тестировщику.
1.4. Базовая терминология тестирования.
1.5. Модели разработки программного обеспечения и их связь с тестированием.
1.6. Жизненный цикл тестирования.
1.7. Классификация тестирования.

2. Планирование тестовых испытаний (2 ЛК + 6 ЛАБ)
2.1. Цели и задачи планирования тестовых испытаний.
2.2. Структура тест-плана.
2.3. Пример тест-плана.
2.4. Практика по разработке тест-плана.

3. Тестирование требований (2 ЛК + 10 ЛАБ)
3.1. Что такое требование и почему требования важны.
3.2. Способы сбора и извлечения требований.
3.3. Уровни и типы требований.
3.4. Свойства качественных требований.
3.5. Техники тестирования требований.
3.6. Пример требований.
3.7. Практика по тестированию требований.

4. Тест-кейсы и тестовые сценарии (2 ЛК + 10 ЛАБ)
4.1. Чек-листы.
4.2. Базовые техники тестирования.
4.3. Тест-кейсы.
4.4. Свойства качественных тест-кейсов.
4.5. Наборы тест-кейсов.
4.6. Пример чек-листов, тест-кейсов, наборов тест-кейсов.
4.7. Концентрация на важных деталях.
4.8. Логика написания качественных тест-кейсов.
4.9. Практика по написанию чек-листов и тест-кейсов.

5. Отчёты о дефектах (2 ЛК + 10 ЛАБ)
5.1. Дефекты и отчёты о дефектах.
5.2. Поля отчётов о дефектах.
5.3. Типичные ошибки при написании отчётов о дефектах.
5.4. Рекомендации по написанию отчётов о дефектах.
5.5. Пример отчётов о дефектах.
5.6. Практика по написанию отчётов о дефектах.

6. Отчёты о результатах тестирования (2 ЛК + 6 ЛАБ)
6.1. Отчёт о результатах тестирования.
6.2. Разделы отчёта о результатах тестирования.
6.3. Пример отчёта о результатах тестирования.
6.4. Практика по написанию отчёта о результатах тестирования.

7. Основы автоматизации тестирования (2 ЛК + 6 ЛАБ)
7.1. Что такое автоматизация тестирования.
7.2. Области высокой эффективности автоматизации тестирования.
7.3. Полезные советы в области автоматизации тестирования.
7.4. Технология Record and Playback.
7.5. Обзор Selenium IDE.
7.6. Интерфейс Selenium IDE.
7.7. Команды Selenium IDE.
7.8. Локаторы Selenium IDE.
7.9. CSS-локаторы Selenium IDE.
7.10. xPath-локаторы Selenium IDE.
7.11. Пример использования Selenium IDE.
7.12. Практика по написанию автоматизированных тестов.

 

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

16 сентября (пн) 19.00 – 22.00 (4 уч. часа);
19 сентября (чт) 19.00 – 22.00 (4 уч. часа);
23 сентября (пн) 19.00 – 22.00 (4 уч. часа);
26 сентября (чт) 19.00 – 22.00 (4 уч. часа);
30 сентября (пн) 19.00 – 22.00 (4 уч. часа);
3 октября (чт) 19.00 – 22.00 (4 уч. часа);
7 октября (пн) 19.00 – 22.00 (4 уч. часа);
10 октября (чт) 19.00 – 22.00 (4 уч. часа);
14 октября (пн) 19.00 – 22.00 (4 уч. часа);
17 октября (чт) 19.00 – 22.00 (4 уч. часа);
21 октября (пн) 19.00 – 22.00 (4 уч. часа);
24 октября (чт) 19.00 – 22.00 (4 уч. часа);
28 октября (пн) 19.00 – 22.00 (4 уч. часа);
31 октября (чт) 19.00 – 22.00 (4 уч. часа);
11 ноября (пн) 19.00 – 22.00 (4 уч. часа);
14 ноября (чт) 19.00 – 22.00 (4 уч. часа).

 

  • Стоимость: 650
  • Продолжительность: 70 часов
 Цель курса–изучение возможностей и средств языка 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.

 

  • Стоимость: 530
  • Продолжительность: 56 часов
Программы повышения квалификации "Основы программирования на языке С++"
 
Цель курса - изучение основных правил грамматики и синтаксиса языка С++
и методов объектно-ориентированного программирования в среде 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ПЗ)

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

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

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

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

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

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

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

  • Продолжительность: 36 часов
Программа курса
Качество программного обеспечения.
Качество - это цель инженерной деятельности; построение качественного программного обеспечения (ПО, 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). Множественный выбор. Циклы. Повторение вычислений. Выражения. Манифестные константы. Нестрогие булевы операторы. Строки.
Введение в наследование
Основные соглашения и терминология. Наследование инварианта. Наследование и конструкторы. Полиморфизм. Полиморфное присоединение. Полиморфные структуры данных. Типизация при наследовании. Согласованность типов. Пределы полиморфизма. Экземпляры. Статический тип, динамический тип. Динамическое связывание. Отложенные компоненты и классы. Повторное объявление функции как атрибута. Явное переопределение. Доступ к предшественнику процедуры. Динамическое связывание и эффективность. Статическое связывание как оптимизация.
Множественное наследование
Примеры множественного наследования.Переименование компонентов. Конфликт имен. Смена имен и переопределение. Подбор локальных имен. Конфликт переопределений. Дублируемое наследование и универсальность.
Техника наследования
Наследование и утверждения. Инварианты. Предусловия и постусловия при наличии динамического связывания. Абстрактные предусловия. Правило языка. Повторное объявление функции как атрибута.
Типизация
Проблема типизации. Базисная конструкция. Статическая и динамическая типизация. Правила типизации.
Глобальные объекты и константы
Константы базовых типов. Атрибуты-константы. Константы пользовательских классов. Однократные функции. Разделяемые объекты. Однократные процедуры. Константы строковых типов.
 

 

  • Ориентировочная дата начала занятий: 07.10.2024
  • Продолжительность: 48 часов

Цель курса: с практической точки зрения познакомить слушателей с основами программирования на Java. Показать что такое программирование в реальности. Заложить у слушателя твердый фундамент практических навыков по основам программирования на языке Java.

Продолжительность курса 16 недель. По одному занятию (3 часа) в неделю.

Преподаватель: программист 20+ лет стажа, 15+ лет преподавательской деятельности.

Предварительных требований для этого курса нет. На курс могут записываться все, даже с нулевыми знаниями по программированию.

Что изучается на курсе? На курсе изучаются фундаментальные основы программирования на языке Java. Все рассказывается с позиции новичка у которого нет знаний в ИТ.

Что будет уметь слушатель после курса? Слушатель после курса сможет самостоятельно создавать, запускать и тестировать простые программы, состоящие из 5 - 10 классов. Так же слушатель освоит синтаксис языка программирования Java, ООП, основные структуры данных (List, Set, Map), наследование, научится создавать автоматические тесты, получит основы функционального программирования (Stream API), а также практические знания по многопоточности.

Занятие 1: Введение

Занятие 2: Переменные

Занятие 3: Первый взгляд на ООП

Занятие 4: Оператор If

Занятие 5: Методы

Занятие 6: Модульное тестирование

Занятие 7: Массивы for

Задания 8: Проект Школьный дневник

Занятие 9: Наследование

Занятие 10: Коллекции

Занятие 11: Юниты

Занятие 12: Исключения

Занятие 13: Функциональное программирование, Stream API

Занятие 14: Рефакторинг

Занятие 15: Многопоточность

Занятие 16: Заключительное

  • Ориентировочная дата начала занятий: 28.10.2024
  • Продолжительность: 36 часов

Java практика (продолжение для владеющих курсом Introduction to Java):
Это набор практических проектов простой и средней сложности. Каждый проект разбит на задачи. К каждой задаче есть решение предлагаемое преподавателем.

Цель каждого проекта на практике рассмотреть/применить/отточить определенный навык, прием или технологию.

Предварительное требование к слушателям курса: кандидат должен владеть основами программирования на Java.
Знания эквивалентные тем, что даются на курсе Introduction to Java. Желателен уровень знания английского В1 и выше.

Занятие 1: Fraud Detector
Занятие 2: Geometry Shape
Занятие 3: Apple Warehouse
Занятие 4: Traders and Transactions
Занятие 5: Property Insurance Calculator
Занятие 6: Bowling Game Kata
Занятие 7: Game of Life Kata
Занятие 8: Bank Transactions

  • Ориентировочная дата начала занятий: 07.10.2024
  • Стоимость: 810
  • Продолжительность: 192 часов

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

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

Цель обучения: имитация реальной стажировки в компании на должности Java стажера.
Продолжительность обучения: 4 месяца.
Формат обучения: еженедельно по понедельникам ОНЛАЙН занятия с преподавателем - 4 учебных часа. Рассмотрение учебного материала, заданий в рамках проекта для выполнения в течение учебной недели.
Слушатель, который принимает участие в обучении, 8-10 учебных часов должен посвящать работе над проектом в течение всег окурса обучения.

Преподаватель курса: программист 20+ лет стажа, 15+ лет преподавательской деятельности.
Описание проекта можно найти в GitHub репозитории: https://github.com/javagurulv/virtual_internship_v3

Первые 30 задач и материалов к курсу можно посмотреть на платформе GutHub в открытом доступе: https://github.com/javagurulv/virtual_internship_v3

  • Стоимость: 620
  • Продолжительность: 60 часов
ПРОГРАММА ОБУЧЕНИЯ "Основы программирования на языке Python для анализа данных"
Основные команды и структуры данных языка Python (30 учебных часов)
- Общие положения
- Типы данных
- Операторы управления
- Понятие цикл. Работа с циклами
- Коллекционные типы данных
- Модули. Создание функций
- Работа с файлами
- Конструкция try - except 
- Графический интерфейс
Объектно-ориентированное программирование на Python (8 учебных часов)
 - Основы ООП. Понятие класса
- Принципы ООП и примеры реализации
Анализ данных с использованием Python (22 учебных часа)
- Работа с многомерными массивами в NumPy
Работа с данными в Pandas
- Визуализация данных в Matplotlib
Реализация проекта
 
 

ПРЕДВАРИТЕЛЬНОЕ РАСПИСАНИЕ ЗАНЯТИЙ:

_______ 2024 года (пн) 10.00 - 17.00 - 8 часов;
_______  2024 года (вт) 9.00 - 16.00 - 8 часов;
_______   2024 года (ср) 9.00 - 16.00 - 8 часов;
_______   2024 года (чт) 9.00 - 16.00 - 8 часов;
_______   2024 года (пт) 9.00 - 16.00 - 8 часов;
_______   2024 года  (пн) 10.00 - 17.00 - 8 часов;
_______   2024 года  (вт) 9.00 - 16.00 - 8 часов;
_______  2024 года (ср) 9.00 - 14.30 -  4 часа, зачет.

  • Стоимость: 500
  • Продолжительность: 36 часов
Цель курса – получение базовых знаний и навыков, необходимых для  освоения любых возможностей платформы и применения их при разработке собственных приложений.
Предварительный уровень подготовки: знание основ программирования на языке 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 часов
Использование потоков. Понятие 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. 

  • Стоимость: 580
  • Продолжительность: 60 часов
ПРОГРАММА ОБУЧЕНИЯ "Основы  программирования на Python"
Основные команды и структуры данных языка Python
- Общие положения
- Типы данных
- Операторы управления
- Понятие цикл. Работа с циклами
- Коллекционные типы данных
- Модули. Создание функций
- Работа с файлами
- Конструкция try - except 
- Графический интерфейс
Объектно-ориентированное программирование на Python
 - Основы ООП. Понятие класса
- Принципы ООП и примеры реализации
Фреймворк Django, HTML, SQL
HTML
SQL. Модуль Python SQLite3
Фреймворк Django
Реализация проекта
 

ПРЕДВАРИТЕЛЬНОЕ РАСПИСАНИЕ ЗАНЯТИЙ:

_______ 2024 года (ср) 9.00 - 16.00 - 8 часов;
_______ 2024 года (чт) 9.00 - 16.00 - 8 часов;
_______ 2024 года (пт) 9.00 - 14.30 - 6 часов;
_______ 2024 года (пн) 9.00 - 16.00 - 8 часов;
_______ 2024 года (вт) 9.00 - 16.00 - 8 часов;
_______ 2024 года  (пн) 10.00 - 17.00 - 8 часов;
_______ 2024 года  (вт) 9.00 - 16.00 - 8 часов;
_______ 2024 года (ср) 9.00 - 14.30 -  6 часов, зачет.

  • Стоимость: 600
  • Продолжительность: 50 часов
Программа курса:

Основы HTML и CSS (6 часов)
Базовые теги HTML
Списки и ссылки
Создание форм
Введение в стили.
Селекторы и классы

Библиотека Django и веб-разработка (30 часов)
Принципы разработки веб-приложений
Приложения и контроллеры
Маршруты и маршрутизация
Модели (СУБД SqLite)
Работа с моделями
Шаблоны
Административный веб-сайт 
Связи между моделями
Формы, связанные с моделями
Статические файлы

Итоговый проект (14 часов)
Проектирование веб-приложение
Разработка модели данных
Настройка административной страницы веб-приложение
Реализация шаблонных страниц пользователя

ПРЕДВАРИТЕЛЬНОЕ РАСПИСАНИЕ ЗАНЯТИЙ:
23 октября  9.00 - 16.00 (8 учебных часов);
24 октября  9.00 - 17.30 (10 учебных часов);
25 октября  9.00 - 16.00 (8 учебных часов);
28 октября  9.00 - 16.00 (8 учебных часов);
29 октября  9.00 - 16.00 (8 учебных часов);
30 октября  9.00 - 16.00 (8 учебных часов), зачет
 
 
 
 
 
  • Стоимость: 620
  • Продолжительность: 60 часов

Практико-ориентированная программа повышения квалификации "Программирование на 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. Временные ряды

 

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