Course logo

Курс «Основы программирования на Java» (2016/2017 год, осень)

ОБЪЯВЛЕНИЕ. Теоретический зачёт для не сдавших вовремя курсовой проект состоится в следующие даты: 21 декабря, 10-00, 9-325; 23 декабря, 17-00, 9-325. Студенты, сдавшие курсовой проект на "4" или "5" до конца зачётной недели (23 декабря), получают теоретический зачёт автоматом.

На дополнительной сессии сдать теоретический зачёт можно в понедельник, 23 января, в 16:00. Это последняя попытка, присутствие должников обязательно. При себе иметь допуск из деканата.

В настоящее время все штатные попытки сдать теоретический зачёт закончились. Для студентов, сдавший курсовой проект, вопрос о сдаче теоретического зачёта будет решаться индивидуально в начале весеннего семестра.

ВОПРОСЫ К ТЕОРЕТИЧЕСКОМУ ЗАЧЁТУ

  1. Сравнение Java и C++
  2. Система типов
  3. Класс Object и его методы
  4. Видимость в языке Java
  5. Сравнение классов, абстрактных классов и интерфейсов
  6. Статические и нестатические члены класса
  7. Виды вложенных классов
  8. Исключения
  9. Перечисления
  10. Библиотека коллекций
  11. Регулярные выражения: основные возможности
  12. Регулярные выражения: применение на Java
  13. GUI: AWT и Swing
  14. GUI: событийная модель
  15. GUI: отрисовка
  16. GUI: компоненты и контейнеры
  17. Runnable и Thread
  18. synchronized и volatile
  19. Concurrency-классы и утилиты
  20. Java Virtual Machine

Информация о курсе

Занятия в рамках цикла "Программирование" (3-й семестр).
Преподаватели:
Глухих М.И.
Петров М.А.
Гагарский К.А.
Вылегжанина К.Д.
Сидорина Т.А.
Слушатели:
Студенты, обучающиеся по направлениям бакалавриата "Информатика и вычислительная техника" и "Автоматизация и управление"

Основные задачи курса

Курс предоставляет базовые знания по программированию на языке Java и является продолжением основного курса программирования.

Основная литература

  • Хорстманн К., Корнелл Г. Java2. Библиотека профессионала. Том1. Основы. Том2. Тонкости программирования / Пер. с англ.-М.: Вильямс, 2010.
  • Монахов В. Язык программирования Java и среда NetBeans.- СПб.: БХВ-Петербург, 2011.

Дополнительная литература

  • Ноутон П., Шилдт Г. Java 2: наиболее полное руководство / Пер. с англ.- СПб.: БХВ-Петербург, 2008.
  • Монахов В. Язык программирования Java и среда NetBeans.- СПб.: БХВ-Петербург, 2011.
  • Хабибуллин И. Java 7.- СПб.: БХВ-Петербург, 2012.
  • Эккель Б. Философия Java / Пер. с англ.- СПб.: Питер, 2011.
  • Пышкин Е.В. Основные концепции и механизмы объектно-ориентированного программирования. Учеб. пособие.- СПб.:«БХВ-Петербург», 2005.
  • Арнольд К., Гослинг Дж., Холмс Д. Язык программирования Java, 3-е издание. М.: Издательский дом «Вильямс», 2001.
  • James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification, Second Edition.
  • Joshua Bloch. Effective Java: Programming Language Guide, second edition. ISBN 978-0-321-35668-0, 2008.

Электронные ресурсы

JRE / JDK

Среды разработки (IDE)

Документация

Интересные задачи

Содержание курса в осеннем семестре 2016/17 уч. года

# Дата Название Примеры Тематика
1 2015-09-07 Вводная --- Технология Java, принципы языка Java, сравнение с C++
2 2015-09-14 Основные конструкции См. Ветвления, циклы, ввод-вывод
3 2015-09-21 Проектирование классов ч.1 См. Класс Object, равенство, спецификаторы полей и методов, примеры, тесты
4 2015-09-28 Проектирование классов ч.2 См. Вложенные классы, инициализаторы, методы-создатели, исключения, перечисления, интерфейсы
5 2015-10-05 Библиотека коллекций ч.1 --- Коллекции, иерархия интерфейсов, списки, множества
6 2015-10-12 Библиотека коллекций ч.2 См. Множества, ассоциативные массивы, очереди, стеки
7 2015-10-26 Регулярные выражения --- Возможности языка RegEx, способы его применения на Java
8 2015-11-02 Введение в AWT/Swing См. Архитектура GUI-приложения, компоненты и контейнеры, AWT, Swing, метод paint, пример с апплетом
9 2015-11-09 Таймеры и Graphics2D См. Таймеры, афинные преобразования, перья, кисти, фигуры, готовые изображения
10 2015-11-16 Компоненты и события См. Обработка событий, модель-представление, мышь, клавиатура, менеджеры размещения, простые компоненты
11 2015-11-23 Разработка редактора См. Сериализация, меню, стандартные диалоги, сложные контейнеры и компоненты, способы сохранения, XML
12 2015-11-30 Многонитевое программирование См. Программы, процессы, потоки, реализация в Java, таймеры, задача поиска простых чисел, volatile, concurrency
13 2015-12-07 Многонитевое программирование См. Методы синхронизации потоков, синхронизация по ресурсам и событиям, производитель-потребитель
14 2015-12-14 Виртуальная машина Java --- Устройство JVM, байт-код, набор инструкций, языки JVM

Архив за предыдущие годы

  • лекции за год 2015-16 (автор Глухих М.И.) можно посмотреть здесь
  • лекции за год 2014-15 (авторы Пышкин Е.В., Кузнецов А.Н.) можно посмотреть здесь
  • лекции за год 2012-13 (авторы Глухих М.И., Кузнецов А.Н.) можно посмотреть здесь
  • лекции за год 2011 (автор Пышкин Е.В.) можно посмотреть здесь
  • лекции за год 2009 (автор Глухих М.И.) можно посмотреть здесь