Программирование на Java
Санкт-Петербург, осень 2014
Описание
Рекомендуемая литература по курсу:
Первоисточники:
Адрес для связи с преподавателем: vladykin+java2014 at gmail dot com.
Домашние задания проверяет Артём Попов.
Оценка за курс выставляется по результатам домашних заданий и контрольных работ. В конце семестра все баллы за контрольные и домашки складываются, вычисляется процент от максимального балла и определяется оценка: 91-100% -- оценка отлично
, 75-90% -- оценка хорошо
, 60-74% -- оценка удовлетворительно
.
По ссылке можно найти курс 2011 года от Георгия Корнеева.
Видео всех лекций курса на канале CS центра на YouTube.
Преподаватели
Список лекций
- История и эволюция языка
- Ключевые особенности
- Hello World
- Инструменты разработчика: Java Development Kit
- Автоматизация сборки при помощи Maven
Система типов: * Примитивные типы, преобразование типов. * Ссылочные типы. Массивы и строки.
Управляющие конструкции: * Условные операторы (if, switch). * Циклы (for, while, do). * Операторы break и continue, метки.
- Основы ООП.
- Класс, интерфейс, перечисление.
- Аннотации.
- Модификаторы доступа.
- Вложенные классы.
- Наследование.
- Пакеты.
- Обзор подходов к обработке ошибок.
- Исключения, типы исключений.
- Конструкции try/catch/finally, try-with-resources, multicatch.
- Java Logging API.
- Использование отладчика.
Обзор стандартных коллекций и их реализации: * Списки, стеки, очереди. * Множества. * Ассоциативные массивы.
Generics: * Параметризация классов и методов * Синтаксис и реализация в Java
Классы: java.io.File и java.nio.file.*
Потоки байт: InputStream, OutputStream.
Потоки символов: Reader, Writer.
java.io.StreamTokenizer и java.util.Scanner.
- Функциональные интерфейсы
- Лямбда-выражения
- Ссылки на методы
- Stream API
Reflection API.
Расположения объекта в памяти.
Java-байткод.
Альтернативные языки для JVM.
Модульное тестирование: JUnit, FEST Assert, Mockito.
Тестирование производительности: JMH.
Общие сведения о параллелизме.
Запуск и остановка потоков.
Синхронизация потоков: synchronized, wait, notify.
Модель памяти.
Ключевое слово volatile.
Атомарные типы.
Примитивы синхронизации.
Коллекции.
ExecutorService.
ForkJoinPool.
URI и URL.
Сокеты.
Блокирующий и неблокирующий ввод-вывод.
Библиотека Netty.