Хотите получать информацию по новым курсам и их датам проведения?
(Java-1) Основы программирования на Java. Уровень 1
Описание курса
Курс Основы программирования на Java. Уровень 1 рассчитан на слушателей не знакомых с программированием, и является введением в программирование, алгоритмизацию и структуры данных. Каждый участник на курсе получит знания и навыки, которые необходимы для старта в профессию любому начинающему разработчику.
На курсе будут рассматриваться основные алгоритмы и структуры данных, работа со средой разработки (IDE), основные понятия и концепции программирования, присущие любому объектно-ориентированному языку. Курс даёт навыки программирования на примере языка Java. Разбираются основы языка, организация программного кода, основы построения объектно-ориентированных моделей и т.п.
Практика:
В течение курса на практике, а также в качестве домашнего задания, решаются академические задачи, такие как создание калькулятора, текстового редактора, игра "Крестики-нолики" и так далее.
Данные примеры позволят слушателям изучить основы языка Java, применение в работе с файлами, создание графических пользовательских интерфейсов.
В итоге, участники получат все необходимые базовые знания, а также приобретут навыки разработки ПО на языке Java и навыки применения основных концепций ООП.
Очень приветствуются ваши реальные задачи, которые необходимо решить. Приносите, будем разбирать на курсе вместе!:)
Программа курса
1. Знакомство c Java
- Знакомство с Java.
- Процесс создания приложения
- Знакомство с Java SE
- Виртуальная машина Java
- Среда разработки IntelliJ IDEA
- Создание первого проекта
- Метод main
- Команды вывода в консоль
- Экранирование символов
- Переменные и примитивные типы данных
- Арифметические операции
- Домашнее задание:
- Программа решения линейных уравнений
2. Управляющие конструкции. Преобразование типов. Логические операции
- Конструкции условного перехода
- Логические операции и операторы
- Вложенность конструкций и область видимости
- Явное и неявное преобразование типов
- Конкатенация строк
- Знакомство с миром фундаментальных алгоритмов
- Алгоритм поиска минимума
- Домашнее задание:
- Программа решения квадратных уравнений
3. Массивы. Циклы. Базовые алгоритмы поиска. Сортировка.
- Оперативная память компьютера;
- Представление массива данных в памяти;
- Объявление и инициализация массивов;
- Алгоритм программы генерации массива со случайными числами;
- Реализация программы;
- Знакомство с циклами. Цикл while;
- Сокращенная запись арифметических операций;
- Постфиксная и префиксная инкрементация/декрементация;
- Алгоритм поиска минимума/максимума в массиве;
- Реализация алгоритмов поиска; цикл for; вложенность циклов;
- Простейший алгоритм сортировки массива;
- Реализация алгоритма сортировки;
- Домашнее задание:
- Реализация сортировки массива методом «пузырька»
- Создание программы «Телефонная книга» на основе массива
4. Введение в классы и объекты.
- Классы, как типы данных
- Объекты, как переменные
- Состояние и поведение объекта
- Поля и методы
- Сигнатура метода (тип, параметры, аргументы)
- Жизнь и смерть объектов
- Ссылочные типы данных
- Общение между объектами
- Создание класса Contact для программы «Телефонная книга»
- Домашнее задание:
- Добавление функционала в программу «Телефонная книга»
5. Коллекции
- Гибкие структуры данных в java.util
- Основные классы-коллекции
- Применение конкретных коллекций в зависимости от поставленной задачи
- Принцип работы ArrayList
- Знакомство с LinkedList, HashSet, HashMap, TreeSet
- Домашнее задание:
- Создание гибкой структуры данных, аналогичной ArrayList и использование ее в телефонной книге
6. Введение в ООП
- Четыре кита ООП
- Инкапсуляция (модификаторы доступа)
- «Хороший тон» разработки на Java
- Геттеры и сеттеры
- Ключевое слово this
- Конструкторы
- Наследование в Java и его применение
- Класс Object
- Преимущества полиморфизма в ООП языках
- Переопределение и перегрузка
- Абстракция при построении архитектуры приложения
- Домашнее задание:
- Доработка задачи на ООП по геометрическим фигурам
- Применение правил инкапсуляции в программе «Телефонная книга»
7. Абстрактные классы и методы. Интерфейсы. Анонимные классы
- Распределение обязанностей между классами
- Интерфейсы, как альтернатива множественному наследованию
- Маркер-интерфейсы, функциональные интерфейсы
- Интерфейс Comparable и правильная сортировка объектов
Домашнее задание:
- Добавление сортировки по алфавиту в телефонную книгу
- Добавление информации в класс Contact для увеличения возможностей телефонной книги.
8. Параметризация. Лямбда-выражения
- Динамическая типизация в Java
- Создание класса с параметризированным полем
- Лямбда-выражения, как альтернатива анонимным классам функциональных интерфейсов
- Применение лямбда-выражений
- Интерфейс Comparator
- Многоуровневая сортировка объектов
- Домашнее задание:
- Добавление в телефонную книги возможности настройки параметров сортировки
9. Рекурсия
- Знакомство с рекурсией
- Стек
- Решение задач с применением рекурсии
- Реализация алгоритма «быстрой» сортировки
- Домашнее задание:
- Создание собственного метода sort на основе реализованного алгоритма и применение в телефонной книге
10. Работа с файлами. Обработка исключительных ситуаций
- Класс File
- Потоки ввода-вывода
- Знакомство с java.io
- FileInputStream, InputStreamReader, BufferedReader
- FileOutputStream, PrintWriter
- Чтение и запись текстовых файлов
- Буфер записи
- Исключения. Exception и RuntimeException
- «Опасные» методы
- Обработка исключительных ситуаций
- Влияние иерархии классов исключений на порядок обработки
- Создание собственных исключений
- Пробрасывание исключений
Домашнее задание:
- Реализация сохранения контактов телефонной книги в файл и загрузки при запуске программы
Расписание
Вт 19:00 - 22:00
Пт 19:00 - 22:00
Дни | 1,25 месяца (40 ак. часов) |
---|---|
Дата курса | 25.июн |
Город | Все города |
Формат обучения | Корпоративный |