public class Main {
System.out.println( "Образовательный
проект для студентов"
);
} }

Основная программа

В течение двух лет студенты получают знания о процессе проектирования и разработки высоконагруженных Java приложений. На проекте используется балльно-рейтинговая система. Контроль производится в течение семестра по результатам выполнения домашних заданий. В конце программы студенты защищают свой проект.

Только для студентов СПбПУ

  • Первый
  • Второй
  • Третий
  • Четвертый
  • Углубленное программирование на Java - I
    12 занятий, 12 академических часов
  • Алгоритмы и структуры данных
    15 занятий, 15 академических часов
  • Фронтэнд разработка
    10 занятий, 10 академических часов

О курсе «Углубленное программирование на Java - I»

График занятий в вузе

18:00 — 21:00   Будние
10:00 — 16:30   Суббота

Занятия
    1. О программе курса. Введение в язык, среда программирования, основные конструкции языка.

      Введение в язык. История развития Java. JDK, java, javac. Hello world. Разные JDK/SDK. Написание простейшей программы. Типы данных. Переменные. Операции. Строки. Ввод и вывод. Управляющая логика: блоки, условные операторы, циклы, switch, прерывание логики. Массивы.<br /><br />Установка Oracle JDK. Работа с Oracle JDK.<br />Метод main как точка входа программы.<br /><br />Установка IntelliJ IDEA Community Edition. Настройка IDE.<br />Запуск программы, компиляция.
    2. Классы и объекты, статические методы и поля.

      Введение в ООП. Применение предопределенных классов. Определение собственных классов. Статические методы и поля. Параметры методов. Конструирование объектов. Пакеты. Путь к классам. Комментарии и документирование.
    3. Проверка домашних заданий

      Проверка домашних заданий №1 и №2
    4. Инкапусляция и наследование. Интерфейсы, полиморфизм.

      Уровни доступа к членам класса.<br />Классы, суперклассы и подклассы. Класс Object. equals, hashCode, toString. Объектные оболочки и boxing/unboxing. varargs. enum. Основы обработки исключений.<br />Интерфейсы. Клонирование объектов. callback. Внутренние классы.<br />Полиморфизм. Полиморфизм в Java. Принципы ООП.
    5. Внутренние и вложенные классы.

      Внутренние классы. Статически вложенные классы. Локальные классы. Анонимные классы.
    6. Контрольное занятие № 2

      Проверка домашних заданий
    1. Обработка исключений и логирование через out/err. Отладка программ.

      Обработка ошибок. Рекомендации по обработке исключений. assertions. Логирование. Отладка программ. Отладчик / debugger.
    2. Синхронный ввод/вывод. Параметризованные типы. Коллекции. Итераторы.

      Классы InputStream/OutputStream, Reader/Writer. Буферизованный ввод/вывод. Работа с файлами.
      Generics. Обообщенные классы и обобщенные методы. Ограничения на переменные типа. Generic-код и JVM. Ограничения и пределы в Generics. Наследование и Generics. Подстановочные типы.
      Коллекции. Интерфейсы коллекций. Конкретные коллекции. Итераторы. Архитектура коллекций. Алгоритмы. Устаревшие коллекции.
    3. Контрольное занятие № 3

      Проверка домашних заданий
    4. Reflection и аннотации. Unit-тестирование.

      Reflection. Ограничения на Reflection. Security Manager.
      Аннотации. Типы аннотаций.
      JUnit, Mock/Stub. Библиотека Mockito.
    5. Графика на Java. Итоговое занятие

      Общие сведения о библиотеке Swing. Создание фрейма. Отображение данных в компоненте. Оформление текста. Вывод изображений. Обработка событий. Actions. События от мыши. Иерархия событий в AWT. Swing и MVC. Введение в компоновку пользовательского интерфейса. Ввод текста. Компоненты для выбора вариантов. Меню. Расширенные средства компоновки. Диалоговые окна.
    6. Пересдача

      Студенты имеют возможность досдать или пересдать работы по предыдущим контрольным занятиям.
Преподаватели
Тимур Насрединов
Михаил Нечаев
Результат

умение использовать принципы ООП с учетом специфики Java; умение использовать стандартную библиотеку для работы с функциями ввода/вывода; умение писать unit-test'ы для Java приложений; умение строить UI Java-приложения; умение анализировать код Java-приложения с помощью Reflection API.