Материалы занятий

Общую информацию о курсе см. на странице Общая информация

09/01



1. 10 обязательных знаний и умений, которые должны быть у всех по результатам прошедшего семестра:
  1. .java-файл должен называться так же, как public-класс в нем. Поэтому рекомендация: файлов в проекте должно быть столько же, сколько классов (кроме редких случаев осознанного использования не-public классов).
  2. Функция main должна находиться в одном из public-классов. Создание вложенных классов (класс в классе), внутри которых main - крайне неуместно.
  3. Если public-классов у Вас в проекте несколько - то необходимо в настройках проекта указать, какой из этих классов следует запускать.
  4. Если программа не компилируется - список ошибок можно открыть из меню Window->Show View->Problems. При двойном щелчке на сообщении об ошибке - курсор переходит на строку, в которой эта ошибка расположена.
  5. В этом же меню можно открыть Project Explorer, Console, Debug, Variables, Watches и др. полезные окна.
  6. Если компилятор показал в программе 100 ошибок - исправлять их всегда надо начинать с самой верхней (после ее исправления другие ошибки могут исчезнуть сами собой).
  7. Если текст сообщения об ошибке Вам не понятен, или ни о чем не говорит - попробуйте ввести его в поисковую строку Googl'а.
  8. Каждый должен уметь пользоваться пошаговым отладчиком (начало/прекращение отладки, step over/step into, просмотр значений переменных и стека вызовов).
  9. Всегда форматируйте код с использованием отступов вложенных блоков. Как здесь: http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html
  10. Справка по всем классам стандартной библиотеки java доступна на сайте java.sun.com по ссылке Java APIs. Это основной источник справочной информации по встроенным классам.

2. Задание на повторение (для подготовки к лабе)

(сразу совет: не беритесь делать задание сразу целиком: делайте его по частям, как описано внизу страницы)

Класс Person:

  • ФИО;
  • почтовый адрес.

Класс Letter:

  • from;
  • to;
  • subject;
  • text;

Класс Post (почта):

  • addLetter();
  • getLettersTo(Person);
  • getLetterFrom(Person);

Простейший способ организовать класс Post - хранить в нем массив Letter'ов и по запросам getLettersTo/From производить в нем поиск и возвращать найденные письма в новом массиве.

Более продуманный способ: хранить в классе Post Map<Person, Set<Letter>>.

Простейший способ хранить все связи между объектами (Letter->Person, Post->Letter, Post->Person) - хранить стандартные java-вские ссылки. Но подумайте!, позволит ли этот подход реализовать запись всех этих данных в файл и последующую их загрузку обратно в массивы, Map'ы и проч.

Порядок выполнения задания:

  1. Класс Person.
  2. Массив объектов Person, заполнение его "в коде", вывод на экран.
  3. Класс Letter.
  4. Post: реализация хранения связей между людьми и письмами.

09/08


Порядок сдачи лабораторной:
  1. Тетрадь на столе. Программа открыта в IDE и запущена.
  2. Объяснить, какие в программе классы и что в каждом из них инкапсулировано (т.е. какому понятию из реального мира соответствует данный класс).
  3. Какие в этих классах ключевые атрибуты и операции (перечислять все поля и методы - не надо!).
  4. Как устроено хранение всех объектов и манипулирование ими в main'е или каком-то главном классе.

09/15


Задание на потоки:
  1. Создать поток, вычисляющий (бесконечно) число Пи через сумму ряда Лейбница. (немного обманул вас на паре с формулой)
  2. В main'е выдать пользователю меню с двумя опциями: 1) смотреть текущий результат, 2) выход.

09/22


Прием лаб.

09/29


Дедлай на л.р.1-4.

10/06


Придумываем темы курсовых, составляем список функциональных возможностей программы.

10/13


  1. См. туториал http://docs.oracle.com/javase/tutorial/essential/io/scanning.html
  2. Создать .txt-файл с информацией о студентах: Вася 1996 КС-21
  3. Прочитать его из программы и вывести, сколько лет каждому.

10/20


Показываем и обсуждаем ТЗ на свой проект. Делаем апплет "hello, word" из Шилдта.

10/27


Показывем проект Владимировой. Сдаем лабы.

Через неделю жду:

  • концептуальную модель предметной области;
  • диаграмму классов предметной области (см. книгу Рэмбо, глава 12.2)
(1-2 страницы).

Крайний срок на лабы 5-8 - 12(13).11.2014! После - они не принимаются.

10/27 суббота


Обсуждаем код, написанный по проектам.
Comments