- Знакомство
- Обзор сайтов и литературы по Java и ООП
- Книги по алгоритмам
- Скачивание, установка и настройка Java
- Почему именно Java? (преимущества)
- Что такое Java? История создания языка
- Платформа Java. JVM, сборка мусора, оптимизация, прогрев. JDK, JRE
- Варианты поставки Java: ME, SE, EE
- Установка и настройка IntelliJ IDEA, создание проекта
- Установка и настройка Apache Maven. Центральный репозиторий. POM (project object model)
- Установка и настройка Git + GitHub. Клиент git для Windows
- Установка и настройка web-сервера Apache Tomcat
- JavaDoc
- Виды памяти: heap, stack. Опции при запуске JVM для настройки размера памяти
- Java->class->JVM. Первая программа на Java (Hello World). Package
- Шаблоны Idea для быстрого ввода кода: psvm, sout+v/m, fori...
- Лексика языка Java: комментарии, операторы, переменные, литералы, присваивание, операторные скобки
- 8 примитивных типов данных: byte, short, int, long, float, double, boolean, char
- Сокращённая форма: +=, -=..., инкремент/декремент, префиксный/постфиксный
- Условный оператор if.. else..
- Точность вычислений в действительных числах (float, double)
- Массивы. Arrays: foreach, многомерные
- Передача параметров по ссылке и значению
- Операции: арифметические, побитовые, логические
- Строки форматирования и System.out.printf
- Циклы: while, do while, for
- Использование Markdown-разметки для документации
- Перевод строки на разных платформах
- Класс String: работа со строками
- Основы объектно-ориентированного программирования: Класс. Экземпляр класса (объект)
- Инкапсуляция. Полиморфизм. Интерфейсы. Абстрактные классы
- Пакеты. import. Модификаторы доступа: public, protected, private, package local. Область видимости
- Объектная модель. Состояние, поведение, индивидуальность (Гради Буч)
- Типы отношений между классами: наследование, аггрегация, ассоциация
- Множественное наследование. Делегирование
- Виды тестирования: ручное, отладчик (debugger), логи, unit-тесты
- Модульное тестирование в JUnit4 (+JUnit3)
- Исключения в Java
- Практика: Решение квадратного уравнения
- Ввод с клавиатуры и вывод на экран
- Графические библиотеки (обзор): AWT, Swing, JavaFX
- Зарегистрироваться на http://github.com + присоединиться к организации levelp
- Придумать объектную модель для своего проекта
- Подумать о проекте, о предметной области
- Решение квадратного уравнения ax^2 + bx + c = 0
- Разложение на слагаемые (рекурсия, массивы)
- Скобочные последовательности
- JobSite - сайт с резюме (для поиска работы)
- ToDoList - список задач + синхронизация
- Web-приложение для управления банковскими счетами
- Ваш проект