Разработка мобильных приложений на языке Java

О ПРОГРАММЕ

Срок обучения: 144 академических часа.

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

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

Записаться на программу:https://www.gosuslugi.ru/futurecode/27532?region=80000000000&view=online

Ссылка на программу в системе обучения Odin:https://www.odin.study/ru/EducationalProgram/Info/7590

ЦЕЛЬ ПРОГРАММЫ

Охватить минимально необходимые базовые знания из разных областей информационных технологий и программирования с учетом уровня подготовки школьников.
Разработка с каждым учащимся индивидуального приложения для платформы Android.
Ориентация на учеников с различным уровнем подготовки.

МЕТОДЫ ОБУЧЕНИЯ

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

КТО МОЖЕТ УЧИТЬСЯ НА БЕСПЛАТНЫХ КУРСАХ?

Школьники 8–11 классов, являющиеся гражданами Российской Федерации и успешно сдавшие вступительное испытание.
Студенты СПО, являющиеся гражданами Российской Федерации и успешно сдавшие вступительное испытание.

КАК ПОДАТЬ ЗАЯВКУ НА БЕСПЛАТНОЕ ОБУЧЕНИЕ

1. Выберите на портале Госуслуг форму обучения: онлайн/офлайн и курс Уфимского университета, где вы планируете обучаться.
2. Подайте заявление, приложив справку об обучении в школе или в организации среднего профессионального образования:
— подать заявление на участие может сам школьник или студент СПО, его родитель или законный представитель
— заявитель должен иметь подтвержденную учетную запись на Госуслугах
3. После проверки заявления придет ссылка на единое вступительное испытание в личный кабинет и на почту:
— если заявление подавал сам школьник или студент, это будет почта, указанная в его личном кабинете
— если заявление подавал родитель или законный представитель, ссылка будет продублирована на почту взрослого, а также на почту, которая была указана при заполнении заявления как почта для тестирования и обучения
4. Пройдите единое вступительное испытание в течение 10 рабочих дней с момента получения ссылки
5. После успешного прохождения испытания заключите договор с образовательной организацией от имени родителя или законного представителя на обучение за счет государства.

РЕЗУЛЬТАТЫ ОБУЧЕНИЯ

В результате освоения программы слушатель должен приобрести:

  • Знания: современные методы разработки и реализации алгоритмов математических моделей на базе языка программирования Java;
  • Умения: разрабатывать и реализовывать алгоритмы математических моделей на базе языка программирования Java, разрабатывать мобильные приложения;
  • Навыки: применение современных методов разработки и реализация алгоритмов математических моделей на базе языка программирования Java, разработка мобильных приложений.

содержание программы


Модуль 1. Основы программирования на языке Java

Тема 1.1. Инструкции по установке программного обеспечения. Типы данных и операции

  • Порядок создания, компиляции, сборки и запуска в IDE приложения Java. Порядок инсталляции IDE в домашних условиях. Выбор IDE по усмотрению преподавателя: либо IntelliJ IDEA + Android Studio или Eclipse + ADT. Последний вариант не рекомендуется использовать при работе в ОС Windows
  • Типы данных и операции: переменные, примитивные типы данных, арифметические операторы, выражения и присваивания
Тема 1.2. Логические выражения

  • Логические операторы, принадлежность точки закрашенной области
Тема 1.3. Условный оператор

  • Условные конструкции. Понятие блока, область действия блоков. Условные конструкции: if-else, switch
Тема 1.4. Циклы и массивы

  • Итеративные конструкции while, do-while. Безусловные операторы перехода break. Итеративные конструкции for. Массивы. Вложенные циклы. Безусловные операторы перехода break с меткой, continue. Одномерные массивы, цикл for each в Java. Разбор примеров нахождения максимума и минимума, поиска на числовых массивах
Тема 1.5. Многомерные массивы

  • Двумерные массивы. Трехмерные массивы

Модуль 2. Язык Java. Объектно-ориентированное программирование

Тема 2.1. Классы и объекты

  • Понятие класса и объекта. Цели и задачи ОО-подхода к проектированию и разработке ПО. Объект, сообщение, класс, экземпляр объекта, метод. Общее понятие о парадигмах ООП: абстракция, инкапсуляция, наследование, полиморфизм. Описание протокола класса. Обзор классов, соответствующих примитивным типам
Тема 2.2. Конструкторы и деструкторы. Статические методы

  • Работа с экземплярами класса Конструкторы и деструкторы. Статические методы. Открытые и закрытые поля. Доступ к полям объекта. Инициализация переменных, массивов, полей классов в конструкторе. Конструктор по умолчанию. Перегрузка методов на примере конструкторов
Тема 2.3. Строки

  • Основы тестирования и отладки Начальные приемы тестирования и отладки, сценарии тестирования на примерах со строками
Тема 2.4. Знакомство с разработкой на Android

  • Среда разработки. Принципиальная архитектура Android-приложения. Интерфейс Android приложения Построение простейшего интерфейса пользователя. Язык разметки XML. Описание ресурсов Android с помощью XML. Разметки (Layouts) и их применение. Представления (Views)
Тема 2.5. Наследование, инкапсуляция и полиморфизм

  • Производные классы и наследование. Защищенные части классов и правила доступа для классов и объектов в Java. Сравнение иерархии классов и контейнеризации классов. Полиморфные методы и позднее связывание в Java. Абстрактные методы и классы, интерфейсы
Тема 2.6. Context и Intent

  • Понятия контекста (Context) и намерения (Intent) в Android. Параметризованные типы (Generic) как пример статического полиморфизма в Java.

Модуль 3. Основы программирования Android приложений

Тема 3.1. Практикум ООП проектирования. Ввод-вывод в Java

  • Разбор кейсов проектирования архитектуры классов приложения. Диаграммы UML. Исключения Библиотечные классы ввода-вывода. Обработка исключений и классы исключений. Стандартные исключения Java. Работа с файлами в Android
Тема 3.2. Внутренние и анонимные классы

  • Внутренние и анонимные классы на примерах обработчиков событий пользовательского интерфейса
Тема 3.3. Параллелизм и синхронизация. Сервисы в Android

  • Процессы и потоки в Android. Классы AsyncTask и Thread. Реализация логики потоков. Синхронизация потоков. Жизненный цикл сервисов и управление им. Класс IntentService
Тема 3.4. Фрагменты

  • Фрагменты (Fragments). Сенсоры Создание и управление фрагментами. Класс Fragment и его методы. Взаимодействие фрагментов и активностей. Типы сенсоров и обработка событий
Тема 3.5. Двумерная графика, SurfaceView

  • Класс Canvas. Разработка игровых приложений. Этапы проектирования и реализации. Реализация графики на основе SurfaceView. Разработка 3D игр с использованием фреймворка libGDX

Модуль 4. Алгоритмы и структуры данных на языке Java. Основы разработки мобильных приложений

Тема 4.1. Связные списки. Адаптеры

  • Стеки, очереди, односвязные и двусвязные списки. Адаптеры. Назначение и применение. Стандартные адаптеры
Тема 4.2. СУБД. Реляционная модель, SQL

  • Реляционная модель данных и реляционные схемы. Представление данных в виде таблиц. Различные типы связей. Проектирование простейшей БД. Обзор и классификация современных СУБД. Локальная СУБД на примере SQLite. Создание и наполнение таблиц: команды CREATE, INSERT. Команда SELECT для выборки данных, UPDATE для изменения, DELETE для удаления записей из таблицы. Дополнения к запросам SELECT. Ключевые слова ORDER BY, DISTINCT. Агрегация в SELECT в запросах: COUNT, SUM, AVG, MAX, MIN
Тема 4.3. Рекурсия, деревья, алгоритмы сортировок

  • Линейная и ветвящаяся рекурсия. Стек вызовов. Дерево, как базовая структура данных. Обзор алгоритмов сортировок: пузырьковая, вставкой и быстрая в сравнении трудоемкости. Компараторы
Тема 4.4. Множества. Ассоциативные массивы

  • Хэш-таблица и функция хэширования Поддержка хэширования в Java, метод hashCode. Семейства контейнеров Collections и Map. Класс Map, контейнеры HashMap, TreeMap. Хранение данных в Android Preferences

 Тема 4.5. IP-сети. Web сервер. Протокол HTTP

  • Адресация в IP-сетях. Автоматизация назначения IP-адресов (DHCP). Доменные имена (DNS), URL-ссылки. Несколько IP адресов для одного сайта. Популярные сетевые команды ping, tracert, ipconfig. Сервисы работы с IP-адресами. HTTP запросы и ответы. Понятие web-сервера. Запросы клиента POST и GET, коды ответов сервера, заголовки запросов и ответов. Разбор запросов и ответов сервера
Тема 4.6. Клиент-серверная архитектура

  • Структура, схема взаимодействия сервера и клиента мобильного приложения. Формат JSON и XML. Сериализация. Библиотека Retrofit
Тема 4.7. REST взаимодействие

  • Облачные платформы. Облачные сервисы3 для хостинга серверной части приложений. Реализация серверной части средствами Java
Тема 4.8. Серверные СУБД

  • Хранение данных на сервере в виде БД. Индексы. Знакомство с серверной СУБД на примере PostgreSQL/MySQL
Тема 4.9. Back-end части web сервера

  • Реализация средствами Java, PHP. Дизайн программного обеспечения и приложений Material Design

Расписание

(будет размещено по мере формирования групп)

модуль 1

не позднее 01.10 – до 30.11.2023

модуль 2

не позднее 01.12 – до 31.01.2024

модуль 3

не позднее 01.02 – до 31.03.2024

модуль 4

не позднее 01.04 – до 31.05.2024

руководитель и преподаватели

Image Description

Ахметьянова Альбина Ильшатовна

Руководитель и преподаватель программы

Ассистент кафедры математического моделирования Уфимского университета науки и технологий.


 
Image Description

Дмитриев Олег Васильевич

Руководитель и преподаватель программы

Старший преподаватель кафедры математического моделирования Уфимского университета науки и технологий.


 
Image Description

Ткачев Владислав Игоревич

Преподаватель

Доцент кафедры информационных технологий и компьютерной математики Уфимского университета науки и технологий.


 
Cookie-файлы
Настройка cookie-файлов
Детальная информация о целях обработки данных и поставщиках, которые мы используем на наших сайтах
Аналитические Cookie-файлы Отключить все
Технические Cookie-файлы
Другие Cookie-файлы
Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie. Подробнее о нашей политике в отношении Cookie.
Подробнее Понятно
Cookies