Изучение c# на примерах

Формула программиста
основатель — Волосатов Евгений Витольдович
Новый видеокурс по Git
У вас нет доступа для просмотра этой записи.

Получить доступ

Теория ООП

Практический курс по теории Объектно-ориентированного программирования.
С нуля создаётся проект по рисованию различных геометрических фигур,
которые потом объединяются в спрайты, взаимодействуют друг с другом.

Во время создания проекта постоянно применяется рефакторинг кода,
при этом демонстрируются приёмы Объектно-ориентированного программирования.

Во второй части курса мы проработаем понятие Интерфейса.

Объём: 39 коротких видеоуроков
Время: 7 часов 40 минут.
Доступ на 30 дней.

3000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 106 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Инкапсулировать свой ответ :) 
Сложности: Пока ничего сложного. 
Комментарии: Все гладко. 
2 Урок рисования 00:08:10 101 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Рисовать линии. 
Сложности: Понять классы Bitmap, Graphics, Pen. 
Комментарии: Все гладко. 
3 Первый класс 00:09:53 94 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Пока трудно сказать. 
Сложности: Ничего. 
Комментарии: Все гладко. 
4 Второй класс 00:09:13 90 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 30 мин. [Показать отчёт]
Научился: Уловил мысль, наследование должно быть логичным. 
Сложности: Не нашел дерево классов в VS 2010. 
Комментарии: Все гладко. 
5 Круглый класс 00:08:10 87 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Рисовать окружность. 
Сложности: Пока ничего. 
Комментарии: Все гладко. 
6 Структура пикселя 00:10:55 76 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 25 мин. [Показать отчёт]
Научился: В первые увидел структуру. 
Сложности: Понять всё. 
Комментарии: Все гладко. 
7 Структура vs Класс 00:25:05 68 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Отличать структуру от класса. 
Сложности: После объяснения Евгения Витольдовича ничего. 
Комментарии: Все гладко! 
8 Пиксели для классов 00:14:44 65 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Еще чуть-чуть ООП. 
Сложности: Пока ничего. 
Комментарии: Все гладко. 
9 Расстояние между пикселями 00:12:12 65 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 25 мин. [Показать отчёт]
Научился: Что объект с одинаковой спецификацией может иметь различную реализацию. 
Сложности: Уследить за всеми экземплярами и держать их в голове. 
Комментарии: Все отлично! 
10 Цветные карандаши 00:14:54 63 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Запутыванию ) 
Сложности: Пока ничего. 
Комментарии: Всё гладко! 
11 Рисуем Снеговика 00:14:40 62 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 30 мин. [Показать отчёт]
Научился: Рисовать фигуры через точки. 
Сложности: Нарисовать в Pinte снеговика -) 
Комментарии: Все гладко! 
12 Второй Снеговик 00:09:46 62 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Второго снеговика рисовать ) 
Сложности: Пока ничего. 
Комментарии: Все отлично! 
13 Богатое наследство 00:12:53 61 чел. ★ 5 Done
  Отчёт отправил: 1806. Аристарх Решено за 15 мин. [Показать отчёт]
Научился: Вызывать базовый конструктор из производного класса. Моё определение наследования: это передача отца(базовый класс) → сыну(производный класс) своего наследства в виде состояния(полей) и поведения(методов). 
Сложности: Пока все ясно. 
Комментарии: Всё чётко! ) 
14 Фигуральный базовый класс 00:10:56 60 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 10 мин. [Показать отчёт]
Научился: Повторил пару моментов. Функция уже реализована, благодаря Евгению Витольдовичу. 
Сложности: Пока ничего. 
Комментарии: Все гладко. 
15 Рисователь снеговиков 00:11:51 60 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 10 мин. [Показать отчёт]
Научился: Использовать функцию GetType(). Shape.position будет для наших фигур осью, вокруг которой буду перемещаться наши фигуры. 
Сложности: Пока ничего. 
Комментарии: Все отлично. 
16 Переезд метода Draw 00:11:54 60 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 10 мин. [Показать отчёт]
Научился: Ещё раз понял ,что существует множество вариантов решения одной и той же задачи. 
Сложности: Пока ничего. 
Комментарии: Все гладко. 
17 Переезд graph в базовый класс 00:13:10 60 чел. ★ 5 Done
  Отчёт отправил: 1806. Аристарх Решено за 15 мин. [Показать отчёт]
Научился: Укрепляю ООП. 
Сложности: Пока ничего. 
Комментарии: Всё гладко! 
18 Мощь полиморфизма 00:09:01 58 чел. ★ 5 Done
  Отчёт отправил: 1806. Аристарх Решено за 10 мин. [Показать отчёт]
Научился: Чуточку полиморфизма. 
Сложности: Пока ничего. 
Комментарии: Все отлично! 
19 Спрайт для Снеговика 00:12:28 58 чел. ★ 5 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Научился немного оперировать такой структурой данных как List. 
Сложности: Все тип-топ! 
Комментарии: Чёткий курс ) 
20 Перемещение круга 00:11:42 57 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 20 мин. [Показать отчёт]
Научился: Перемещать окружность. 
Сложности: Все тип-топ. 
Комментарии: Замечаний нет, все гладко ) 
21 Перемещение других фигур 00:08:37 55 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 15 мин. [Показать отчёт]
Научился: Перемещать фигурку из трёх составляющих.  
Сложности: Да вроде бы ничего. 
Комментарии: Все тип-топ! 
22 Перемещение Снеговиков 00:10:48 54 чел. ★ 4.9 Done
  Отчёт отправил: 1806. Аристарх Решено за 15 мин. [Показать отчёт]
Научился: Пока не могу сказать, надо разобрать программу по подробнее. 
Сложности: Пока не догоняю координатную систему окна... 
Комментарии: Все тип-топ! 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 48 чел. ★ 5 $
24 Интерфейс. Зачем он нужен. 00:09:33 46 чел. ★ 4.9 $
25 Интерфейс. Правила игры. 00:12:23 45 чел. ★ 5 $
26 Интерфейс. Алгоритм игры. 00:07:48 45 чел. ★ 5 $
27 Интерфейс. Создаём кружок. 00:08:36 44 чел. ★ 5 $
28 Интерфейс. Площадка для игры. 00:11:58 43 чел. ★ 5 $
29 Интерфейс. Кружок на площадке. 00:11:49 43 чел. ★ 5 $
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 43 чел. ★ 5 $
31 Интерфейс. Кружок хочет играть. 00:09:42 43 чел. ★ 5 $
32 Интерфейс. Кружок готов к игре! 00:20:47 42 чел. ★ 5 $
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 42 чел. ★ 5 $
34 Интерфейс. Изменяем правила игры. 00:10:22 41 чел. ★ 5 $
35 Интерфейс. Создаём новую игру. 00:12:31 40 чел. ★ 5 $
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 37 чел. ★ 5 $
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 38 чел. ★ 5 $
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 36 чел. ★ 5 $
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 29 чел. ★ 5 $
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 29 чел. ★ 4.96  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Оля,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita,   Станислав,   Алексей Хонин,   Ludmila .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Метод Contains у класса List<>, удобная штука.
Трудности: Не было, все понятно, хорошо показано, как изменить правила в игре.
Перед началом второй части курса теории ООП я ожидал, что мы продолжим работать со снеговиками, научим их каким-нибудь действиями (помню Оля писала мне в комментариях, что "они у нас еще потанцуют, а мы отлично потренируемся"). Кроме того, в шапке курса было указано, "При создании программы мы будем использовать некоторые шаблоны проектирования, такие как "Одиночка", "Фабрика", "Строитель", "Наблюдатель" и другие. Когда я это увидел, еще до того, как пройти первую часть курса, то загорелся желанием пройти курс ООП. В первой части курса паттернов не было, поэтому ожидал их увидеть во второй части. Но и во второй части их не было. Да, были моменты с методами Arena.NewCircle(), но упор в курсе был сделан не на паттерны, а на интерфейсы. Однако это ни в коей мере не говорит о том, что курс мне не подошел. Я присутствовал на вебинаре, на котором производилась запись курса, это восхитительная атмосфера, всем советую ходить на вебинары!) Тематика второй части курса меня сразу захватила, Евгений Витольдович придумал интересный пример для объяснения этой важной концепции в объектно-ориентированном программировании. При этом, в первых уроках упор был сделан на абстракцию, логику программу, а отображением результатов на форме мы занимались во второй половине курса, и, что примечательно, программа сразу со старта заработала корректно, это достойно уважения!) Кроме того, практически после каждого урока были дополнительные вопросы на проработку материала. Нам было необходимо написать словесные алгоритмы или попробовать самим реализовать действия из следующих уроков. Это сильно мотивирует и проверяет на сколько качественно усваивается материал. В целом, я считаю, что неплохо прокачался за эти два курса ООП. Кому стоит рекомендовать данный курс? В своем полуфинальном отчете я писал, что курс теория ООП хорошо подойдет для программистов, которые достаточно уверенно знают C#, но не уверенно понимают понятия ООП. Мои коллеги по проекту не разделяют этого мнения (я читал их отзывы с полуфинального урока) и считают, что курс мастхев для новичков. На вкус и цвет конечно, но я своего мнения не меняю. Лучше сначала хорошо проработать задачи из консоли, бесплатные курсы, понять, что ты не боишься языка программирования и можешь написать программу любой разумной сложности, и потом понять для себя, чего не хватает и к чему лежит интерес) Получился достаточно длинный отчет, спасибо тем, кто прочитал его до конца) Спасибо Евгений Витольдович, мне было приятно пройти курс теория ООП, появились новые идеи, открылись пробелы по некоторым вопросам, будем изучать дальше!)
Научился: Создавать новые игры, используя интерфейс.
Трудности: Ничего сложного.
Мне очень понравилась игра!) Очень классно получилось) И что самое примечательное, что мы можем сами, как нам угодно менять правила игры)