Как создать программу для компьютера

Формула программиста
основатель — Волосатов Евгений Витольдович

Продажа пакета приостановленна

Купить этот пакет можно только во время акций.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Вступление - Язык UML 00:03:45 22 чел. ★ 5 $
  Мы начинаем создание новой программы на языке Java.
Цель курса - продемонстрировать процесс
проектирования и создания прикладного
программного обеспечения на языке Java.
2 Вступление - Примеры UML схем 00:06:18 19 чел. ★ 4.9 $
  На этом уроке мы познакомимся с ещё одной статьёй про UML.
Сопоставим UML-диаграмы и созданные по ним классы.
3 Проектирование - Три класса 00:05:32 19 чел. ★ 5 $
  На этом уроке мы познакомимся с сайтом draw.io,
на котором удобно рисовать самые разные схемы.

Нарисуем три «классных» прямоугольника:
Student, Lesson, Pupil.

Самостоятельное задание - придумать и вписать
необходимые поля и методы для этих классов.
4 Проектирование - Классные диаграмы 00:13:35 18 чел. ★ 5 $
  На этом уроке мы обсудим суть поставленной задачи.
Впишем все необходимые поля и методы для каждого класса.
5 Проектирование - Выяснение отношений 00:11:24 18 чел. ★ 5 $
  На этом уроке мы выясним отношения классов друг к другу.
Кто кого имеет и каким образом.

Дорисуйте на схеме стрелочки отношений
и добавьте надписи над стрелочками о типе отношений.
6 Создание - Класс Lesson 00:09:51 16 чел. ★ 5 $
  На этом уроке мы приступим, наконец-таки, к программированию.
Мы создадим пустые классы Program, Student, Lesson, Point.
Добавим описанные в UML-диаграме поля и методы в класс Lesson.
В классе Program создадим код для запуска написанного кода.
7 Создание - Класс Student 00:10:24 13 чел. ★ 5 $
  На этом уроке мы опишем поля и методы класса Student.
В основной программе создадим трёх студентов и выведем их на экран.
8 Создание - Класс Point 00:14:24 12 чел. ★ 5 $
  На этом уроке мы создадим все поля и методы класса Point.
Затем добавим каждому студенту несколько оценок.
Потом вспомним, что забыли записать студентов на лекции.
Во второй половине урока мы займёмся созданием
студенческого метода для формирования карточки getInfo ().
9 Отладка - Пошаговый проход 00:18:05 12 чел. ★ 5 $
  На этом уроке мы пошагово пройдём по каждой строчке программы.
Просмотрим состояние всех переменных и экземпляров объектов.
10 База - Статический класс 00:11:08 11 чел. ★ 5 $
  На этом уроке мы спроектируем класс Book
для хранения всех данных нашей объектной базы.

11 База - Список студентов 00:13:03 11 чел. ★ 5 $
  На этом уроке мы создадим класс Book,
и добавим в него поля и методы
для работы со списком студентов.
12 База - Список лекций 00:08:56 11 чел. ★ 5 $
  На этом уроке мы добавим в класс Book поля и методы для работы со списком лекций.
В основной программе мы разместим код для демонстрации этих методов.

Мы также обсудим, когда и почему не/стоит использовать HashSet.
13 База - Список оценок 00:10:24 11 чел. ★ 5 $
  На этом уроке мы добавим в класс Book поля и методы для работы со списком оценок.
Также удалим старые поля и методы из класса Student для работы с оценками.
В основной программе мы добавим случайные
оценки каждому студенту по каждой лекции.
14 ПОЛУФИНАЛЬНЫЙ УРОК 11 чел. ★ 5 $
  Поздравляю с экватором.
Предлагаю немножко передохнуть.
Напиши,чему ты научился за первую часть этого курса.
Нравится ли тебе такой способ изложения материала.
Какие видишь преимущества и недостатки курса.
15 Меню - Планирование 00:13:48 10 чел. ★ 4.9 $
  На этом уроке мы спроектируем класс Menu
для интерактивного управления нашей объектной базой.
16 Меню - Интерактив 00:17:20 9 чел. ★ 5 $
  На этом уроке мы создадим класс Menu для отображения основного меню управления нашей базой.
Реализуем основные методы работы с базой через пункты меню.
Дорисуем недостающие методы в классе Menu на нашей схеме.
17 Меню - Работа со студентами 00:14:33 8 чел. ★ 5 $
  На этом уроке мы продолжаем реализацию методов класса Menu.
Начнём с методов добавления/отображения студентов: doAddStudent() и doShowStudents().
И проверим работу приложения добавив несколько студентов, после чего выведем их с порядковыми номерами из базы.
18 Меню - Работа с лекциями 00:19:02 8 чел. ★ 5 $
  На этом уроке мы воспользуемся ранее переименованным методом addRandomRecords()
чтобы не вводить каждый раз при запуске программы начальные данные для тестирования.
В классе Menu мы реализуем методы doAddLesson() и doShowLessons()
для добавления и просмотра лекций.
Отрефакторим название метода doAddLessonToStudent() в doAssignLessonToStudent() класса Menu как в коде,
так и на нашей UML схеме для лучшей передачи смысла его работы.
Реализуем необходимые методы inputStudentIndex() и inputLessonIndex().
Добавим более информативный вывод работы программы.
19 Меню - Запись студента на курс 00:13:48 8 чел. ★ 5 $
  На этом уроке мы добавим новый пункт в наше меню для отображения карточки студента.
Реализуем новый метод doShowStudentCard() для отображения карточки выбранного студента,
так же добавим этот метод в класс Menu на нашей UML схеме.
Подкорректируем уровни доступа методов в классе Menu на нашей UML схеме и в коде.
Отрефакторим метод doAssignLessonToStudent() выделив часть кода в отдельные методы.
20 Меню - Работа с оценками 00:22:11 7 чел. ★ 5 $
  На этом уроке мы реализуем метод doAddPoint() для оценивания успеваемости студентов по пройденным лекциям.
Добавим соответствующий красивый вывод информации о полученной оценке студентом за такую то лекцию.
Реализуем матрёшку-перегрузку из методов для получения списка лекций определённого студента.
21 Сериализация - Статическое напряжение 00:10:46 7 чел. ★ 5 $
  Во мы и закончили нашу объектную базу данных на языке Java, но у неё есть один недостаток!
Все данные которые хранятся в нашей базе нигде не сохраняются и при каждом её запуске обнуляются.
На этом уроке мы приступим к сериализации нашей базы данных для сохранения изменений на диск.
Первое что нам необходимо будет сделать, это избавиться от static в классе Book.
Так же нам нужно добавить Конструктор в класс Book и добавим туда метод clear()
для автоматической подготовки базы к работе при создании её экземпляра.
Реализуем работу экземпляра класса Menu с экземпляром класса Book.
Исправим ошибки связанные с изменением доступности нашей базы.
Создадим метод start() в классе Menu и перенесём туда реализацию работы с меню.
22 Сериализация - Сохранение базы 00:12:23 7 чел. ★ 5 $
  На этом уроке мы реализуем сериализацию нашей базы данных в файл на диске.
Для этого мы внедрим интерфейс Serializable в нашем классе Book,
так же необходимо внедрить интерфейс Serializable во все классы,
которые используются классом Book, а именно: Student, Lesson и Point.
23 Сериализация - Восстановление базы 00:11:04 7 чел. ★ 5 $
  На этом уроке мы реализуем десериализацию нашей базы из файла
обратно в память нашей программы, чтобы продолжить работу с введёнными ранее данными.
После чего мы несколько раз запустим нашу программу, каждый раз вводя новые данные.
Убедимся, что при каждом запуске восстанавливаются предыдущие данные.
24 ФИНАЛЬНЫЙ УРОК 5 чел. ★ 5 $
  Поздравляю с завершением курса!

Оставь, пожалуйста, отзыв об этом курсе.

Запиши видеообзор созданной программы.
  Итого:   24 видеоурока общей продолжительностью 4 час. 31 мин. 5 чел. ★ 5  
  Финалисты:   Сергей Соколов,   Иван Воронин,   Алексей В.,   Новопашин Владимир,   Dmitrij Starikovič .

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Это отличный курс. Прекрасная практика по Java. Я прокачал свои навыки по Java, узнал для себя много нового! Ну а сериализация и десериализация это вишенка на торте этого курса!
=)


Научился: Повторил пройденное
Отличный курс от начала и до конца задействованы все необходимые инструменты и технологии для реализации консольных баз данных по любому направлению, подобное ПО в супермаркетах вижу часто на мониторах кассовых аппаратов. Использование сериализации/десериализации показывает яркий пример самого простого способа хранения ранее введённой информации без использования сторонних библиотек или технологий, по сути портативная программа получается, можно её вместе с файлом базы переносить куда угодно и она будет открываться и работать как надо. Спасибо Евгению Игромистру Витольдовичку за этот замечательный курс!!! з.ы. Когда проходил курс и формировал описание, у финального описание было и я его просто недоглядел, тем самым не сделав сразу, но проверяя отчёты удивился, увидев отчёт по курсу, который я думал уже прошёл на 100% =)