# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Вступление - Язык UML |
1 тест |
|||
Мы начинаем создание новой программы на языке Java. Цель курса - продемонстрировать процесс проектирования и создания прикладного программного обеспечения на языке Java. Отчёт отправил: 10670. Сергей Соколов Выполнено за не указано [Показать отчёт] Комментарии: UML - унифицированный графический язык моделирования с помощью которого можно графически описать объектную модель приложения. Как-то так. =) |
|||||
2 | Вступление - Примеры UML схем |
1 тест |
|||
На этом уроке мы познакомимся с ещё одной статьёй про UML. Сопоставим UML-диаграмы и созданные по ним классы. Отчёт отправил: 10670. Сергей Соколов Выполнено за не указано [Показать отчёт] Комментарии: Ну, для рисования подойдет https://www.draw.io/ Код вроде бы умеет генерировать вот эта http://argouml.tigris.org/ |
|||||
3 | Проектирование - Три класса |
1 тест |
|||
На этом уроке мы познакомимся с сайтом draw.io, на котором удобно рисовать самые разные схемы. Нарисуем три «классных» прямоугольника: Student, Lesson, Pupil. Самостоятельное задание - придумать и вписать необходимые поля и методы для этих классов. Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт] Научился: Создавать UML диаграммы в draw.io Сложности: придумать поля и методы Комментарии: =) |
|||||
4 | Проектирование - Классные диаграмы |
1 тест |
|||
На этом уроке мы обсудим суть поставленной задачи. Впишем все необходимые поля и методы для каждого класса. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Дорисовал каких методов у меня не хватало =) Сложности: понять какие связи нужны и в чем недостаток диаграммы Комментарии: =) |
|||||
5 | Проектирование - Выяснение отношений |
1 тест |
|||
На этом уроке мы выясним отношения классов друг к другу. Кто кого имеет и каким образом. Дорисуйте на схеме стрелочки отношений и добавьте надписи над стрелочками о типе отношений. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Рисовать связи между сущностями Сложности: ничего Комментарии: =) |
|||||
6 | Создание - Класс Lesson |
1 тест |
|||
На этом уроке мы приступим, наконец-таки, к программированию. Мы создадим пустые классы Program, Student, Lesson, Point. Добавим описанные в UML-диаграме поля и методы в класс Lesson. В классе Program создадим код для запуска написанного кода. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Создал 4 пустых класса. Добавил поля и методы в класс Lesson Избавился от статика Сложности: ничего Комментарии: Распечатать схему не могу, но второй монитор помогает =) |
|||||
7 | Создание - Класс Student |
1 тест |
|||
На этом уроке мы опишем поля и методы класса Student. В основной программе создадим трёх студентов и выведем их на экран. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Создал поля и методы в классе Student Сложности: ничего Комментарии: =) |
|||||
8 | Создание - Класс Point |
1 тест |
|||
На этом уроке мы создадим все поля и методы класса Point. Затем добавим каждому студенту несколько оценок. Потом вспомним, что забыли записать студентов на лекции. Во второй половине урока мы займёмся созданием студенческого метода для формирования карточки getInfo (). Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Создал поля и методы класса Point Записал студентов на лекции и добавил им оценки Написал метод который выводит информацию о студентах Сложности: ничего Комментарии: =) |
|||||
9 | Отладка - Пошаговый проход |
1 тест |
|||
На этом уроке мы пошагово пройдём по каждой строчке программы. Просмотрим состояние всех переменных и экземпляров объектов. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Выполнил пошагово каждую строчку В принципе все понятно даже без видео =) Сложности: ничего Комментарии: =) |
|||||
10 | База - Статический класс |
1 тест |
|||
На этом уроке мы спроектируем класс Book для хранения всех данных нашей объектной базы. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Дорисовал на схеме класс Класс будет хранить информацию о студентах, уроках и оценках Сложности: ничего Комментарии: =) |
|||||
11 | База - Список студентов |
1 тест |
|||
На этом уроке мы создадим класс Book, и добавим в него поля и методы для работы со списком студентов. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Создал класс Book, поля и методы для работы со списком студентов Сложности: ничего Комментарии: =) |
|||||
12 | База - Список лекций |
1 тест |
|||
На этом уроке мы добавим в класс Book поля и методы для работы со списком лекций. В основной программе мы разместим код для демонстрации этих методов. Мы также обсудим, когда и почему не/стоит использовать HashSet. Отчёт отправил: 10670. Сергей Соколов Выполнено за 10 мин. [Показать отчёт] Научился: Добавил поля и методы для работы со списком лекций. Для списка лекций в Book нет смысла использовать HashSet потому что даже при добавлении лекции с таким же названием это в любом случае будет другая лекция и она добавится и в ArrayList и в HashSet. В классе Student мы уже будем добавлять лекции из списка лекций в "базе" поэтому чтобы не получилось что наш студент записан на одну лекцию дважды, лучше использовать HashSet Сложности: ничего Комментарии: =) |
|||||
13 | База - Список оценок |
1 тест |
|||
На этом уроке мы добавим в класс Book поля и методы для работы со списком оценок. Также удалим старые поля и методы из класса Student для работы с оценками. В основной программе мы добавим случайные оценки каждому студенту по каждой лекции. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Добавил поля и методы для работы со списком оценок. Поставил каждому студенту по три случайных оценки =) Сложности: ничего Комментарии: =) |
|||||
14 | ПОЛУФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с экватором. Предлагаю немножко передохнуть. Напиши,чему ты научился за первую часть этого курса. Нравится ли тебе такой способ изложения материала. Какие видишь преимущества и недостатки курса. Отчёт отправил: 10670. Сергей Соколов Выполнено за 10 мин. [Показать отчёт] Научился: Проектировать программу с помощью UML схемы Закрепил ООП. Отличная практика для повторения ООП. Проектирование с помощью UML буду по возможности применять в своей практике. Сложности: ничего Комментарии: =) |
|||||
15 | Меню - Планирование |
1 тест |
|||
На этом уроке мы спроектируем класс Menu для интерактивного управления нашей объектной базой. Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Дорисовал на схеме класс Menu Перерисовал схему Сложности: ничего Комментарии: =) |
|||||
16 | Меню - Интерактив |
1 тест |
|||
На этом уроке мы создадим класс Menu для отображения основного меню управления нашей базой. Реализуем основные методы работы с базой через пункты меню. Дорисуем недостающие методы в классе Menu на нашей схеме. Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Создал класс Меню и его конструктор реализовал методы show(), inputMenuNr(), doMenuNr(), doExit() Добавил новый метод запуска приложения и любовался на получившееся меню Сложности: ничего Комментарии: =) |
|||||
17 | Меню - Работа со студентами |
1 тест |
|||
На этом уроке мы продолжаем реализацию методов класса Menu. Начнём с методов добавления/отображения студентов: doAddStudent() и doShowStudents(). И проверим работу приложения добавив несколько студентов, после чего выведем их с порядковыми номерами из базы. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Добавлять студентов и показывать тех студентов что я добавил =) Сложности: ничего Комментарии: =) |
|||||
18 | Меню - Работа с лекциями |
1 тест |
|||
На этом уроке мы воспользуемся ранее переименованным методом addRandomRecords() чтобы не вводить каждый раз при запуске программы начальные данные для тестирования. В классе Menu мы реализуем методы doAddLesson() и doShowLessons() для добавления и просмотра лекций. Отрефакторим название метода doAddLessonToStudent() в doAssignLessonToStudent() класса Menu как в коде, так и на нашей UML схеме для лучшей передачи смысла его работы. Реализуем необходимые методы inputStudentIndex() и inputLessonIndex(). Добавим более информативный вывод работы программы. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Задействовал генерацию случайных данных в нашу базу. Реализовал добавление и новых лекций и отображение их списка А так же присваивание лекции студенту. Сложности: ничего Комментарии: =) |
|||||
19 | Меню - Запись студента на курс |
1 тест |
|||
На этом уроке мы добавим новый пункт в наше меню для отображения карточки студента. Реализуем новый метод doShowStudentCard() для отображения карточки выбранного студента, так же добавим этот метод в класс Menu на нашей UML схеме. Подкорректируем уровни доступа методов в классе Menu на нашей UML схеме и в коде. Отрефакторим метод doAssignLessonToStudent() выделив часть кода в отдельные методы. Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Реализовал отображение карточки студента. Реализовал методы удаления студента и лекции Сложности: ничего Комментарии: =) |
|||||
20 | Меню - Работа с оценками |
1 тест |
|||
На этом уроке мы реализуем метод doAddPoint() для оценивания успеваемости студентов по пройденным лекциям. Добавим соответствующий красивый вывод информации о полученной оценке студентом за такую то лекцию. Реализуем матрёшку-перегрузку из методов для получения списка лекций определённого студента. Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт] Научился: Реализовал добавление оценки студенту. Если студент не записан на лекцию её не будет в списке лекций для добавления оценки. При добавлении студенту лекции в списке выводится только те лекции на которые студент не записан. Если таких нет, выводится сообщение о том что нет лекций для добавлений Сложности: ничего Комментарии: =) |
|||||
21 | Сериализация - Статическое напряжение |
1 тест |
|||
Во мы и закончили нашу объектную базу данных на языке Java, но у неё есть один недостаток! Все данные которые хранятся в нашей базе нигде не сохраняются и при каждом её запуске обнуляются. На этом уроке мы приступим к сериализации нашей базы данных для сохранения изменений на диск. Первое что нам необходимо будет сделать, это избавиться от static в классе Book. Так же нам нужно добавить Конструктор в класс Book и добавим туда метод clear() для автоматической подготовки базы к работе при создании её экземпляра. Реализуем работу экземпляра класса Menu с экземпляром класса Book. Исправим ошибки связанные с изменением доступности нашей базы. Создадим метод start() в классе Menu и перенесём туда реализацию работы с меню. Отчёт отправил: 10670. Сергей Соколов Выполнено за 10 мин. [Показать отчёт] Научился: Избавился от статика. Провёл рефакторинг Сериализация и Десериализация это сохранение и восстановление данных в/из какого либо формата пригодного для хранения Сложности: ничего Комментарии: =) |
|||||
22 | Сериализация - Сохранение базы |
1 тест |
|||
На этом уроке мы реализуем сериализацию нашей базы данных в файл на диске. Для этого мы внедрим интерфейс Serializable в нашем классе Book, так же необходимо внедрить интерфейс Serializable во все классы, которые используются классом Book, а именно: Student, Lesson и Point. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Сериализовать и сохранять данные в файл Сложности: ничего Комментарии: =) |
|||||
23 | Сериализация - Восстановление базы |
1 тест |
|||
На этом уроке мы реализуем десериализацию нашей базы из файла обратно в память нашей программы, чтобы продолжить работу с введёнными ранее данными. После чего мы несколько раз запустим нашу программу, каждый раз вводя новые данные. Убедимся, что при каждом запуске восстанавливаются предыдущие данные. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Доделал сериализацию Сложности: ничего Комментарии: =) |
|||||
24 | ФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с завершением курса! Оставь, пожалуйста, отзыв об этом курсе. Запиши видеообзор созданной программы. Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт] Научился: Это отличный курс. Прекрасная практика по Java. Я прокачал свои навыки по Java, узнал для себя много нового! Ну а сериализация и десериализация это вишенка на торте этого курса! Сложности: ничего Комментарии: =) Видеообзор: aZsYr0dLgjk |
|||||
Итого: 24 видеоурока |
4 час. 31 мин. 24 теста |
9 чел. | |||
Финалисты: Сергей Соколов, Иван Воронин, Алексей В., Новопашин Владимир, Dmitrij Starikovič, Tekashnik, Dmitry Sinitsin, Anatoli, Tom . |