C# дистанционное обучение

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE State - Вступление 00:08:34
2 теста
23 чел. ★ 4.8 Done
  Мы начинаем знакомство с шаблоном проектирования Состояние.
На этом уроке мы узнаем назначение этого шаблона и его отличия от Стратегии.
Далее мы напишем две программы:
игру Камень-ножницы-бумага и целый Калькулятор.
Отчёт отправил: 17606. Виктор Выполнено за 18 дней 3 час. 15 мин. [Показать отчёт]
Научился: Суть паттерна State в том, что объект может менять свое поведение в зависимости от состояния, а в паттерне Strategy в алгоритмов нет возможности менять контекст, они выполняют только то, что им задано. Также в интерфейсе State должен присутствовать обработчик события который уведомляет объект о текущем состоянии 
Сложности: Не возникло 
2 State - КНБ - States 00:09:45
1 тест
21 чел. ★ 5 Done
  Мы начинаем создание программы "Камни, ножницы, бумага"
для демонстрации шаблона проектирования: "State".
На этом уроке мы подготовим основные классы и интерфейс.
Отчёт отправил: 17606. Виктор Выполнено за 14 час. 13 мин. [Показать отчёт]
Научился: Познакомился с реализацией паттерна State, в литературе пишут, что его фишка в том, что в этом патерне для обратной связи задействован обработчик события или делегат, который сообщает объекту о состояниях  
Сложности: Не возникло 
3 State - КНБ - Play 00:12:58
1 тест
21 чел. ★ 5 Done
  Мы продолжаем создание программы "Камни, ножницы, бумага"
для демонстрации шаблона проектирования: "State".
На этом уроке мы реализуем необходимые алгоритмы для того,
чтобы можно было полноценно поиграть.
Отчёт отправил: 17606. Виктор Выполнено за 1 час. 56 мин. [Показать отчёт]
Научился: Очень интересная игра, главное  - практическая), в том смысле, что на ее примере легко учить языки программирования. Я сталкивался с написанием этой игры пару лет назад, когда учил JavaScript, но там вся логика игры построена на использовании конструкции if...else 
Сложности: Не возникло 
4 VIP - State - КНБ - JFrame 00:10:08
1 тест
21 чел. ★ 5 Done
  Мы закончили создание программы "Камни, ножницы, бумага"
для демонстрации шаблона проектирования: "State".
Но на этом уроке мы добавим GUI интерфейс на основе JFrame.
Отчёт отправил: 17606. Виктор Выполнено за 1 час. 56 мин. [Показать отчёт]
Научился: C классом Frame не получилось, поскольку в C# он находится в пространстве имен Windows.UI.Xaml.Controls, которое в консольное приложение никак не хотело присоединяться, требуя очевидно Windows Form Пошел другим путем и через Nuget, присоединил соответствующий пакет  Frame, но  с ним также ничего не вышло, к сожалению  
Сложности: Найти аналог классу JFrame в C#. Аналог скорее всего класс Frame(), но с консольным приложением он никак не захотел работать   
5 VIP - State - КНБ - JButtons 00:12:11
1 тест
21 чел. ★ 5 Done
  Мы продолжаем создание GUI интерфейса для игры "Камни, ножницы, бумага".
На этом уроке мы исправим косметические ошибки и продолжим
реализовывать GUI интерфейс для возможности полноценной игры.
Отчёт отправил: 17606. Виктор Выполнено за 1 час. 43 мин. [Показать отчёт]
Научился: Пересоздал в третий раз этот проект, но уже в Windows Form, но опять таки с классом Frame ничего не вышло, сделал просто через Form. По ходу особо в синтаксис языка Java не вникал, но на С# это все намного проще, особенно создание кнопок   
Сложности: Совместить синтаксисы C# and Java 
6 ПОЛУФИНАЛЬНЫЙ УРОК без видео
1 тест
13 чел. ★ 4.8 Done
  Поздравляю c завершением первой части курса.
Напиши, чему ты научился, нравится ли тебе данный шаблон.
Какие видишь преимущества и недостатки.
Отчёт отправил: 17606. Виктор Выполнено за 10 мин. [Показать отчёт]
Научился: Вот скажите, разве справедливо за финальные и полуфинальные уроки снимать по 50 байтов? Эти уроки ничему не учат! Конечно многие могут поспорить, типа же это классно: развивает логическое мышление, умение формулировать, анализировать, выделять главную мысль... может и развивает, но зачем же байты снимать?) Категорически не согласен!)) Шаблон легкий! Как в понимании так и запоминании: "объекты меняют свое поведение в зависимости от состояния" я всегда, когда слышу эту фразу, думаю об алкоголе)) да и на аналогиях запоминается лучше  
Сложности: Не возникло 
7 State - Целый калькулятор - States 00:15:30
1 тест
20 чел. ★ 5 Done
  Мы начинаем создание целого калькулятора для демонстрации
использования шаблона проектирования State.
На этом уроке мы изучим работу калькулятора.
Отчёт отправил: 17606. Виктор Выполнено за 40 мин. [Показать отчёт]
Научился: Рисовать схему в стандартной программе Windows. Когда-то уже писал калькулятор на JavaScript и самого кода там не так уж и много на JS но зато кнопки помнится вырисовывал на SCSS со всеми этими миксинами (@mixin) долго и нудно) 
Сложности: Не возникло  
8 State - Целый калькулятор - Context 00:09:57
1 тест
21 чел. ★ 5 Done
  Мы продолжаем создание целого калькулятора для демонстрации
использования шаблона проектирования State.
На этом уроке мы реализуем базовую логику.
Отчёт отправил: 17606. Виктор Выполнено за 29 мин. [Показать отчёт]
Научился: Создал заглушки для классов конкретных состояний, а также реализовал необходимую логику в классе Context() 
Сложности: Не возникло 
9 State - Целый калькулятор - Press key 00:08:36
1 тест
21 чел. ★ 5 Done
  Мы продолжаем создание целого калькулятора для демонстрации
использования шаблона проектирования State.
На этом уроке мы реализуем основной класс Program(),
чтобы можно было тестировать написанный код.
Отчёт отправил: 17606. Виктор Выполнено за 1 час. 39 мин. [Показать отчёт]
Научился: В С# есть прекрасный метод Console.Read(), который возвращает int, попытался им воспользоваться, но в таком случае пришлось перекраивать всю программу, поэтому решил взять пока Console.ReadLIne(), который возвращает строку, а потом уже в конце программы вернуться к экспериментам с Console.Read() 
Сложности: Не возникло 
10 State - Целый калькулятор - Logic 00:14:28
1 тест
21 чел. ★ 5 Done
  Мы продолжаем создание целого калькулятора для демонстрации
использования шаблона проектирования State.
На этом уроке мы реализуем переход между состояниями ввода данных.

Постарайтесь самостоятельно найти все ошибки в программе.
Потом сравните со списком ошибок, которые нашёл Иван Воронин:
https://www.videosharp.info/10558/checking/design-state=1510
Отчёт отправил: 17606. Виктор Выполнено за 2 час. 34 мин. [Показать отчёт]
Научился: Реализовал классы StateFirst/Opers/Second/Result() и калькулятор заработал 
Сложности: Не возникло 
11 State - Целый калькулятор - 16 кнопок 00:26:07
1 тест
21 чел. ★ 5 Done
  На этом уроке мы сделаем графический интерфейс для калькулятора.
Попрактикуемся в использовании JFrame, JButton, JLabel, JPanel.
Немножко доработаем контекст и состояния.
Отчёт отправил: 17606. Виктор Выполнено за 8 дней 4 час. 12 мин. [Показать отчёт]
Научился: Несколько раз откладывал решение этого урока, а оказалось всё элементарно. Просто поначалу пугало сильное отличие относительно решений на джаве и сишарпе, но повторюсь, к счастью, оказалось не таким уж сложным, как выглядело поначалу) 
Сложности: Практически не возникло) 
12 State - Целый калькулятор - Fix Bugs 00:10:45
1 тест
19 чел. ★ 4.9 Done
  На этом уроке мы исправим ошибки,
которые были допущены при реализации
функций перехода между состояниями.


Отчёт отправил: 17606. Виктор Выполнено за 21 час. 20 мин. [Показать отчёт]
Научился: Ошибки, честно говоря, сам не искал. Такое даже в голову не приходило. Программа ведь работает - значит все прекрасно) Может в предыдущем уроке и было такое задание, но то ли пропустил мимо ушей, а может и не было такого - точно не помню...  
Сложности: Не возникло 
13 ФИНАЛЬНЫЙ УРОК без видео
2 теста
11 чел. ★ 5 Done
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 17606. Виктор Выполнено за 49 мин. [Показать отчёт]
Научился: Интересный патерн, интересные проекты и хороший курс) 
Сложности: Не возникло 
Видеообзор: p7LxJ07CKig
  Итого:   13 видеоуроков 2 час. 18 мин.
15 тестов
11 чел. ★ 4.97  
  Финалисты:   Сергей Соколов,   Иван Воронин,   Алексей Малышев,   Александр,   Новопашин Владимир,   Tekashnik,   Виктор,   Dmitry Sinitsin,   Yefim,   Anatoli,   Tom .

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: в начале ролика видео с Дикаприо, когда он летел в Россию и мотор загорелся - тоже про состояния полёта и реакцию паксов ) Курс достаточно ясно излагает смысл стейтпаттерна, кода немного, в финале - красивая экранная форма с калькулятором. Возможность для развития программы - к кнопкам можно прикрутить иной, нужный по ТЗ функционал, а интерфейс + классы состояний позволяют сделать разноплановый отклик на одни и те же запросы пользователя в зависимости от контекста. Почву под ногами этот курс почувствовать позволяет более чем. Спасибо за уроки!



Научился: Курс по шаблону State отличный, рекомендую пройти его и всю серию курсов по шаблонам! Обязательно используйте шаблоны проектирования на практике в своих проектах, но только без фанатизма, а по мере необходимости. Желаю всем успехов в обучении!