Skip to content

Практическая часть курса "Программирование на Java", 2016 год

Notifications You must be signed in to change notification settings

kryloffgregory/mipt-java-2016

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,400 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Build Status

Поток 2016го года. Прогресс потока.

Контакты

Чат курса в Telegram

Домашние задания

  1. Калькулятор - дедлайн 14.10.2016 23:59 MSK
  2. Key-value storage - дедлайн 31.10.2016 23:59 MSK
  3. Оптимизация производительности
  • мягкий дедлайн: 21.11.2016 23:59 MSK (после его наступления можно получить максимум 1 балл)
  • жесткий дедлайн: 28.11.2016 23:59 MSK

Как оценивается

  • Если на момент дедлайна у преподавателя претензий к коду нет, задача считается принятой, за неё даётся 2 балла.
  • Если на момент дедлайна тесты проходятся успешно, но у преподавателя есть замечания, задача считается сделанной, за неё дается 1 балл.
  • Если на момент дедлайна тесты не проходятся или же pull request вообще не оформлен, задача считается не сделанной, за неё дается 0 баллов.

Материалы

Лекции

  1. Основы
  2. Объекты
  3. Классы
  4. Обобщения и лямбды
  5. Проектирование
  6. Многопоточность

Семинары 596-ой группы

Стараемся придерживаться google-кодстайла.
Проще всего этого можно добиться, скачав настройки для кодстайла. Посмотреть, как их устанавливать, можно здесь.
После этого не забываем использовать кнопку Code/Reformat Code, хотя бы перед коммитом.

Обязательным является прохождение проверки Maven Checkstyle. Она происходит при запуске всех тестов (например, с помощью mvn test или по клавише test во вкладке Maven Projects).

  1. Java vs C++; Работа с исключениям и I/O
    Примеры кода
    Доп семинар Доп. литература: Head First Изучаем Java

  2. Паттерны проектирования
    Доп. литература: Head First Паттерны проектирования

  3. Строки и обёртки над примитивными типами в Java. Антипаттерны
    Доп. литература: Чистый код

  4. Повторное использование кода в Java. Многопоточность в Java

  5. Средства синхронизации в Java
    Примеры кода

  6. Рефлексия и сборка мусора в Java
    Примеры кода
    Хорошая статья про ссылки в Java

  7. Lambdas & Streams
    Примеры кода

Рекомендуемая литература

Документация
Работа с Git

Программа

  • Предпосылки к появлению Java
  • Примитивы
  • java.lang.Object
  • Классы, абстрактные классы, интерфейсы, внутренние классы, анонимные классы
  • Наследование, переопределение методов
  • Модификаторы доступа, инкапсуляция
  • Обобщения (Generics)
  • Лямбда-выражения
  • Пакет java.util.Collections
  • Компоновка программного кода
  • Многослойная архитектура
  • Порождающие шаблоны проектирования
  • Структурные шаблоны проектирования
  • Поведенческие шаблоны проектирования
  • Потоки в JVM
  • Критические секции, synchronized
  • Java Memory Model
  • Паттерны организации многопоточного кода
  • Проблемы многопоточности
  • Сборщик мусора
  • Стратегии сборки мусора
  • Слабые ссылки
  • Пределы нагрузки JVM
  • Оптимизация кода
  • Профайлинг
  • Тюнинг параметров JVM
  • Reflection API
  • Aspect-Oriented Programming
  • Abstract Syntax Tree
  • Фреймворки для компоновки сложных приложений
  • Работа с SQL из Java
  • HTTP в Java
  • Парадигма REST
  • Форматы сериализации
  • Сравнение Java с другими языками
  • Мотивация при выборе языка/фреймворка/сервиса

About

Практическая часть курса "Программирование на Java", 2016 год

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%