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 Iterator - Numbers - Introduction 00:05:39
1 тест
24 чел. ★ 4.8 Done
  Мы начинаем знакомство с самым популярным, используемым
и самым востребованным шаблоном проектирования: "Итератор".
Так же мы создадим базовый интерфейс, который является
основой для последовательного перебора любых объектов.
Отчёт отправил: 17606. Виктор Выполнено за 43 мин. [Показать отчёт]
Научился: Итератор предоставляет возможность перебора элементов с определенной целью. Картинку хотелось подобрать повеселее. Остановился на этой. Мысль такова. Должна быть коллекция, набор элементов, и итератор получает ко всем им доступ, в каком порядке и где бы они не находились и совершает с ними определенные действия)  
Сложности: Пока решил делать в VS и переписывать это все в синтаксисе С#, если возникнут сложности, вернусь и сделаю в IntelliJ IDEA Community на Java 
2 Iterator - Numbers - 12345 00:04:27
1 тест
22 чел. ★ 5 Done
  Мы продолжаем знакомство с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы создадим класс NumbersIterator()
реализовав интерфейс Iterator для перебора целых чисел.
Отчёт отправил: 17606. Виктор Выполнено за 46 мин. [Показать отчёт]
Научился: Постепенно постигаю суть 
Сложности: Не возникло 
3 Iterator - Numbers - Iterable 00:04:44
1 тест
22 чел. ★ 5 Done
  Мы продолжаем знакомство с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы создадим класс Program() в котором продемонстрируем
как работать с созданным ранее итератором NumbersIterator().
Отчёт отправил: 17606. Виктор Выполнено за 23 мин. [Показать отчёт]
Научился: В Iterator'e мы прописываем функционал для перебора объектов, а Iterable использует Iterator  для доступа к конкретному типу объектов. По сути так же, как в С#, только в С# они называются немного по-другому): IEnumerator , IEnumerable 
Сложности: Не возникло 
4 Iterator - Numbers - Running 00:05:12
1 тест
22 чел. ★ 5 Done
  Мы продолжаем знакомство с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы реализуем класс Numbers() implements Iterable.
Отчёт отправил: 17606. Виктор Выполнено за 1 час. 37 мин. [Показать отчёт]
Научился: Пришлось полностью избавиться от неопределенности и все переписать в синтаксисе С#. С другими паттернами, конечно же, так экспериментировать не стану  
Сложности: Не возникло 
5 Iterator - Numbers - Inner class 00:02:25
1 тест
22 чел. ★ 5 Done
  Мы продолжаем знакомство с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы объединим два класса в один.
Отчёт отправил: 17606. Виктор Выполнено за 13 мин. [Показать отчёт]
Научился: Пришлось добавлять внутреннему классу модификатор public, а то никак не хотел позволять создавать его экземпляр 
Сложности: Не возникло 
6 Iterator - Numbers - System 00:05:13
1 тест
22 чел. ★ 4.9 Done
  Мы продолжаем знакомство с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы удалим созданные ранее интерфейсы Iterable и Iterator.
После чего воспользуемся встроенным java.util.Iterator.
Отчёт отправил: 17606. Виктор Выполнено за 4 час. 7 мин. [Показать отчёт]
Научился: Честно говоря, ожидал большего. Ведь речь идет о шаблонах проектирования, а не просто о принципах работы итератора. Принципы работы изложены в других курсах и довольно неплохо 
Сложности: Не возникло 
7 Iterator - Random 00:07:48
1 тест
22 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы попрактикуемся в использовании итератора и
создадим очередную программу для генерации случайных чисел.
Отчёт отправил: 17606. Виктор Выполнено за 12 час. 46 мин. [Показать отчёт]
Научился: Урок дался тяжело. Решил второй проект сделать все же на Java, а не на С#. И тут началось. Во-первых, уже забыл, как работать в IntellJ IDEA Community, которую устанавливал на одном из курсов по джаве. Помог урок Елены Вставской в курсе по Тестированию. Но Витольдович работает в каком-то другом редакторе, поэтому постоянно возникали какие-то "приколы"... это не VS, которая сама все предлагает и создает автоматом. Но после преодоления всех трудностей и успешной компиляции проекта, вдруг оказалось, что я его создал не в той папке, с которой его можно запустить)) И поскольку моя цель не изучение Java, а понимание паттернов, решил все проекты, переписывать в синтаксисе С#.  Что успешно и реализовал. Да, порой возникают несоответствия и какие-то "непонятки", но зато при таком переделывании-переписывании приходит более глубокое понимание изучаемой темы)  
Сложности: Работа в IntellJ IDEA Community 
8 Iterator - Digits 00:07:54
1 тест
22 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы напишем ещё один Итератор, который
будет перебирать цифры числа.
Отчёт отправил: 17606. Виктор Выполнено за 2 час. 54 мин. [Показать отчёт]
Научился: Создавать свой итератор 
Сложности: Не возникло 
9 Iterator - BlackJack - Introduction 00:05:13
1 тест
22 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы распишем план игры BlackJack,
которую реализуем в течении следующих уроков.
Отчёт отправил: 17606. Виктор Выполнено за 17 мин. [Показать отчёт]
Научился: Познакомился с планом игры 
Сложности: Не возникло 
10 Iterator - BlackJack - Card 00:09:22
1 тест
22 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы начинаем создание игры BlackJack,
а конкретно создадим вначале проект IteratorBlackJack и
создадим класс Card(), который продемонстрирует возможность
использования итератора для перечисления не только чисел.
Отчёт отправил: 17606. Виктор Выполнено за 3 час. 15 мин. [Показать отчёт]
Научился: Урок оказался более чем интересным. Вдруг) выяснилось, что в С# в середине enum нельзя создавать методы, как в Java, да и метод ordinal() отсутствует. Метод  ordinal()  заменил простым приведением типов, а с GetAmount() пришлось повозиться. Удалось его создать в качестве метода расширения в дополнительном статическом классе. Как всегда помог гугл)) 
Сложности: Разобраться в отличиях C# и Java 
11 Iterator - BlackJack - Deck of Cards 00:06:44
1 тест
21 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы создадим класс Cards() implements Iterable,
который будет перебирать все возможные комбинации карт.
Отчёт отправил: 17606. Виктор Выполнено за 6 дней 21 час. 42 мин. [Показать отчёт]
Научился: Сделал! Еще одна маленькая победа) Не скажу, что 7 дней сидел над решением) Отложил до лучших времен, а решение как-то само пришло. Так что медленно, но уверенно двигаемся дальше 
Сложности: Понять конструкцию for() in Java. Сложности возникают по ходу и их все больше) 
12 Iterator - BlackJack - Random 00:06:59
1 тест
21 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы реализуем алгоритм перемешивания колоды.
Для этого мы воспользуемся нестандартным способом,
который напоминает игру: "Что? Где? Когда?".
Отчёт отправил: 17606. Виктор Выполнено за 3 час. 17 мин. [Показать отчёт]
Научился: Этот  урок дался не очень сложно. С классом Random() мы знакомы уже давно, поэтому все сложилось 
Сложности: Проблемы остались из одного из прошлых уроков, точнее появились они теперь, но это лишь результат. Метод GetAmount() для enum пришлось создавать как метод расширения в отдельном статическом классе(ExtentionEnum), (поскольку C# не позволяет в enum создавать методы) теперь же не могу его вывести через foreach() из-за невозможности приведения типов, ну экземпляр, собственно его создать не могу, чтобы обойти это. Посмотрим может удастся найти решение или придется переписать этот метод 
13 Iterator - BlackJack - Stages 00:09:06
1 тест
21 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы реализуем базовый алгоритм Дилера,
чтобы он раздавал карты играющим.
Отчёт отправил: 17606. Виктор Выполнено за 36 мин. [Показать отчёт]
Научился: Способ интересный после такого хорошего объяснений, кажется наилучшим в данной ситуации 
Сложности: На этот раз не возникло 
14 Iterator - BlackJack - Play game 00:16:58
1 тест
20 чел. ★ 5 Done
  Мы продолжаем эксперименты с самым популярным
и востребованным шаблоном проектирования: "Итератор".
На этом уроке мы доделаем игру BlackJack, после чего
можно будет играть с Дилером один на один.
Отчёт отправил: 17606. Виктор Выполнено за 11 час. 11 мин. [Показать отчёт]
Научился: Урок понравился! Игра понравилась и естественно получил огромное удовольствие при ее написании и реализации! Правда, немного пришлось помучиться:  где-то пришлось пересоздавать отдельные методы, где-то дописывать новые, но, чем труднее давалось, тем более радостным был результат! Поэтому огромное спасибо, Евгению Витольдовичу, за такие интересные примеры по реализации паттерна Итератор 
Сложности: Уже все в прошлом) 
15 ФИНАЛЬНЫЙ УРОК без видео
5 тестов
10 чел. ★ 5 Done
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 17606. Виктор Выполнено за 2 мин. [Показать отчёт]
Научился: Прекрасный курс! Тест не проходил, поскольку языка Java  не знаю. С паттерном разобрался по полной программе 
Сложности: Понять некоторые конструкции языка Java 
Видеообзор: j1e9jGI9bu0
  Итого:   15 видеоуроков 1 час. 37 мин.
19 тестов
10 чел. ★ 4.98  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Новопашин Владимир,   Виктор,   Tekashnik,   Александр,   Dmitry Sinitsin,   Anatoli,   Yefim,   Tom .

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





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

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

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

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


Научился: Итератор это мощная вещь перебора коллекций)) Очень хорошо разобран класс итератора и механизм его работы. Очень полезный шаблон в жизни каждого программиста. Данный курс вскрывает внутренности данного шаблона. Рекомендован к прохождению.
Трудности: Вспомнить что было в курсе



Научился: вот и новый курс за плечами, количество говорят должно перерасти в качество, жаль небыстрый это процесс Итератор несложен и для новичка удобен к пониманию и осмыслению Два принципа в основе - проверить наличие следующего элемента для обработки И обработать как требуется Это база - булевский метод hasNext проверит есть ли куда двигаться, а метод next, возвращающий обрабатываемый элемент занимается его изменением как того требует ТЗ Всё остальное - уже надстройка В нашей игре итератор реализован в Cards.java