Обучение программированию 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 Подготовка - Фрукты по списку 00:12:36
2 теста
45 чел. ★ 5 $
  На этом уроке мы познакомимся с перечислением Enum.
Фактически - это набор именных констант в одной упаковке.
Перечисления в языке Java представляют из себя класс,
который предоставляет много интересных возможностей.

Преимущества использования перечислений:
+ Все константы собраны под одним именем.
+ Можно проверить наличие строчного значения в списке.
+ Можно в цикле перебрать все константы.
+ Оператор выбора switch на основе перечисления исключает ошибки.
+ Можно использовать как константную справочную базу данных.

Самостоятельное задание:
Создайте перечисление по дням недели - от MONDAY до SUNDAY.
Введите с клавиатуры строку и проверьте, является ли она днём недели.
Выведите название введённого дня недели на русском языке (switch-case).
Выведите на экран список всех дней недели, кроме введённого.
 
11329. Zulchumor Kurbonova
16016. Aleksej Fiodorov
7683. Gražvydas Kairys
1397. Евгений Мехтиев
2 Подготовка - База фруктов 00:18:10
1 тест
38 чел. ★ 5 $
  На этом уроке мы увидим интересные возможности перечислений enum в языке Java.
Оказывается каждое слово - это не просто константное числовое значение,
а целый экземпляр класса, в котором можно размещать справочную информацию.
Получается целая константная база данных - справочник!

Рекомендуемая литература:
http://interviewinit.com/2014/04/java-enumerations-особенности/
15 вопросов на собеседование относительно Enum, с ответами:
http://info.javarush.ru/translation/2015/10/13/15-вопросов-для-собеседования-разработчиков-относительно-Enum-в-Джаве-с-ответами-.html


Самостоятельное задание
 
11323. Vladimir Fedotov
8275. Tekashnik
8275. Tekashnik
791. Валерий Жданов
3 FREE Постановка задачи 00:11:50
2 теста
51 чел. ★ 4.9 Free
  Мы начинаем создание Java-проекта
на основе задачи про Деда Мороза,
который дарил детям фрукты.

При создании проекта вы сможете проникнуться духом Явы
и прочуствовать во всей красе суть объектно-ориентированного подхода.
 
10670. Сергей Соколов
11310. Kiril Palajev
20122. Andrei
13417. Chip
4 Яблоки на снегу 00:15:44
2 теста
47 чел. ★ 5 $
  На этом уроке мы добавим в нашу программу перечисление - enum Fruit.
Таким образом мы сможем изменять список допустимых фруктов,
не меняя основную программу.
 
11323. Vladimir Fedotov
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
16018. Andrej Gladkov
5 Фрукточтец 00:11:51
2 теста
45 чел. ★ 5 $
  На этом уроке мы создадим класс FruitReader,
в который перенесём алгоритм считывания начальных данных.
Таким образом основная программа значительно упростится.

Создайте текстовы файл "fruits.txt".
На нескольких строчках напишите названия фруктов.
Не забудьте в конце файла два раза нажать Enter.
Разместите файл в корень проекта.
Попробуйте открыть файл, указав полный путь с именем.
 
11322. Dmitrij Starikovič
25687. Ksandr
25687. Ksandr
17609. Андрей Гладков
6 Фрукты из строки 00:14:40
2 теста
44 чел. ★ 5 $
  На этом уроке мы напишем метод,
который сконвертирует строчку в объект BufferedReader.
Таким образом мы сможем задачу по заполнению коллекции
фруктов из строки делегировать уже созданному методу Read().

Теперь наш класс FruitReader стал чересчур универсальным, и это не очень хорошо.
Мы его разделим на несколько составных частей,
каждая часть будет отвечать за свой инструментарий.
 
11309. Sergej Piskun
16014. Kiril Krutiajev
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
7 Волшебные конструкторы 00:18:40
2 теста
39 чел. ★ 5 $
  На этом уроке мы рассмотрим несколько способов,
как можно оформить содержимое наследников класса FruitReader.
Какие будут преимущества и недостатки при их использовании из основной программы.

В конечном итоге мы реализуем всё через волшебные конструкторы наследников.
В основной программе алгоритм вычислений вынесем в отдельную функцию.
Избавимся от статика и удивимся, как удобно теперь можно изменять
тип источника данных - нужно всего лишь менять вызов конструктора.
 
10309. Станислав
791. Валерий Жданов
791. Валерий Жданов
32424. Михаил
8 Фруктовые комментарии 00:21:08
2 теста
35 чел. ★ 5 $
  На этом уроке мы займёмся документированием созданных классов и методов.
Мы будем использовать javadoc-стиль для автоматизации процесса создания документации.
 
11589. Yefim
11589. Yefim
30514. Tom
1397. Евгений Мехтиев
9 Новые игрушки 00:12:51
1 тест
35 чел. ★ 5 $
  На этом уроке мы попробуем расширить диапазон игрушек в мешке Деда Мороза.
Сначала попробуем это сделать через обобщение, и окажемся в тупике.
В конце урока мы найдём простое правильное решение,
и выясним, почему стоит делать именно так.
Совет: сначала посмотрите видео полностью, не внося изменений в код.
 
11329. Zulchumor Kurbonova
11322. Dmitrij Starikovič
7696. Vladimir Falejev
11309. Sergej Piskun
10 Какие ваши аргументы? 00:13:36
2 теста
33 чел. ★ 5 $
  На этом уроке мы сделаем управление нашей программой через аргументы командной строки.
В этом случае мы сможем легко изменять источники входных данных.
Не нужно больше менять и компилировать исходный код.
 
16018. Andrej Gladkov
11329. Zulchumor Kurbonova
16015. Andrej Petrunev
16015. Andrej Petrunev
11 Рефакторинг аргументов 00:10:39
1 тест
31 чел. ★ 5 $
  На этом уроке мы перенесём проверку
аргументов командной строки в отдельную функцию.
Попутно исправим некоторые недочёты и ошибки.

Обоснуйте своими словами, почему мы решили
не создавать отдельный класс для проверки аргументов?
 
10558. Иван Воронин
10558. Иван Воронин
11326. Antonina Ignatjeva
8275. Tekashnik
12 Пошаговый проход 00:13:05
1 тест
30 чел. ★ 4.9 $
  На этом уроке мы вынесем проверку аргументов в отдельную функцию.
После этого займёмся исправлением ошибки,
которая возникает при отсутствии \n в конце строк.
Чтобы проще было найти ошибку, и улучшить понимание струкутры программы в целом, мы выполним пошагово всю программу, посмотрим на содержимое переменных и доберёмся до сути той ошибки.
 
791. Валерий Жданов
791. Валерий Жданов
1232. Фомичева Наталья
6203. Николай Миролюбов
13 Массивная строка 00:20:56
2 теста
30 чел. ★ 5 $
  На этом уроке мы создадим класс FruitReaderStringArray,
в который вынесем алгоритм формирования строчки из массива.
Урок длинный - очень много подробных объяснений -
что мы делаем, почему мы делаем именно так.
 
7238. Константин
24765. Anatoli
11589. Yefim
16015. Andrej Petrunev
14 Логические задачи 00:18:14
1 тест
30 чел. ★ 5 $
  На этом уроке мы начнём наращивать функционал нашего проекта.
Создадим класс Logic, в котором реализуем несколько методов.
Каждый метод будет решать одну задачу по списку фруктов.
 
7119. Новопашин Владимир
10309. Станислав
24765. Anatoli
24765. Anatoli
15 Размер множества 00:10:27
2 теста
28 чел. ★ 5 $
  На этом уроке мы продолжим работу над классом Logic.
Напишем два разных способа решения одной задачи:
Сколько разных фруктов в мешке у Деда Мороза?

Самостоятельное задание:
сделать пошаговое выполнение новых функций.
 
7119. Новопашин Владимир
7119. Новопашин Владимир
16015. Andrej Petrunev
11329. Zulchumor Kurbonova
16 Список задач 00:13:43
1 тест
27 чел. ★ 5 $
  На этом уроке мы составим список всех решаемых задач.
У нас будет функция, которая запускает все задачи друг за другом.
Также мы создадим ещё одно перечисление из всех возможных задач.
 
1397. Евгений Мехтиев
16015. Andrej Petrunev
11321. Leonid Shevchenko
10558. Иван Воронин
17 Форматы JSON и XML 00:12:02
1 тест
25 чел. ★ 5 $
  На этом уроке мы переделаем класс Logic,
чтобы он мог возвращать результаты расчётов
в совершенно разных форматах - RAW, JSON, XML.
 
11308. Michail Ostryj
16015. Andrej Petrunev
6203. Николай Миролюбов
7238. Константин
18 Профессиональный Интерфейс 00:12:12
2 теста
23 чел. ★ 5 $
  На этом уроке мы создадим интерфейс Convertable.
Он поможет нам выделить из класса Logic задачи по конвертации.
 
7119. Новопашин Владимир
1232. Фомичева Наталья
25687. Ksandr
11308. Michail Ostryj
19 Коллекция HashMap 00:11:14
2 теста
23 чел. ★ 5 $
  На этом уроке мы создадим в классе Logic метод,
который запишет результаты вычислений в словарь -
то есть в коллекцию HashMap.
 
20122. Andrei
8275. Tekashnik
30514. Tom
25687. Ksandr
20 Конвертабельные классы 00:12:23
3 теста
23 чел. ★ 5 $
  На этом уроке мы сделаем три новых класса,
каждый из которых реализует интерфейс Convertable.
В каждом классе будет всего одна функция - Convert(),
которая из словаря создаёт нужную структуру данных.
 
11308. Michail Ostryj
30514. Tom
16015. Andrej Petrunev
6203. Николай Миролюбов
21 Параметр Формата 00:16:18
1 тест
22 чел. ★ 5 $
  На этом уроке мы обсудим возможность управления
форматом вывода результата нашей программой
через передачу параметра командной строки:
java Program [-format json|xml|raw]
 
10670. Сергей Соколов
7696. Vladimir Falejev
20122. Andrei
20122. Andrei
22 Параметрический Созидатель 00:12:34
3 теста
19 чел. ★ 5 $
  На этом уроке мы так и не реализуем функцию parseArgsConvert().
Вместо этого мы организуем более общий подход к анализу аргументов.
Разделим список всех аргументов на составные части по их назначению.
И подготовим функцию create(), которая будет созидать каждую часть.
 
10558. Иван Воронин
16089. Povilas Abramovicius
8275. Tekashnik
30514. Tom
23 Создатель 00:15:59
2 теста
19 чел. ★ 5 $
  На этом уроке напишем функцию create.
 
7238. Константин
16089. Povilas Abramovicius
11329. Zulchumor Kurbonova
16015. Andrej Petrunev
24 Как шагает Дед Мороз 00:11:25
1 тест
19 чел. ★ 5 $
  На этом уроке мы пошагово выполним всю программу,
увидим, как параметры командной строки разделяются
на несколько списков и поочерёдно обрабатываются.
 
16014. Kiril Krutiajev
10558. Иван Воронин
10558. Иван Воронин
11589. Yefim
25 Конвертабельность 00:09:41
2 теста
19 чел. ★ 5 $
  На этом уроке мы наконец-таки проанализируем параметры
командной строки и создадим нужный экземпляр конверт.
 
791. Валерий Жданов
16015. Andrej Petrunev
16015. Andrej Petrunev
20122. Andrei
26 Фабрика параметров 00:14:42
1 тест
19 чел. ★ 5 $
  На этом уроке мы наконец-таки закончим создание основной части программы.
Мы создадим класс ParamFabric, в который перенесём весь парсинг аргументов.
Останется только оформить документацию - написать комментарии.
 
10558. Иван Воронин
16089. Povilas Abramovicius
16089. Povilas Abramovicius
16014. Kiril Krutiajev
27 Буфера в стрингах 00:19:58
2 теста
18 чел. ★ 5 $
  На этом уроке мы пройдёмся по всему коду программы
и сделаем небольшие улучшения кода.
В основном мы будем заменять
String на StringBuffer в тех местах,
где происходит итеративное формирование строк.
 
11589. Yefim
10494. Алексей В.
10309. Станислав
24765. Anatoli
28 Документация Деда Мороза 00:26:00
1 тест
16 чел. ★ 5 $
  На этом уроке мы опять пройдёмся по всему проекту
и допишем документируемые комментарии.
Затем создадим HTML-документацию
используя утилиту JavaDoc.
 
16015. Andrej Petrunev
24765. Anatoli
20122. Andrei
20122. Andrei
29 Задедомороженный Архив 00:12:05
1 тест
25 чел. ★ 5 $
  На этом уроке мы запакуем весь архив в один файл, используя утилиту jar.
В таком виде удобно копировать и распространять программу -
вместо огромного количества файлов - всего один архив.
 
10494. Алексей В.
10494. Алексей В.
11321. Leonid Shevchenko
11324. Jevgenij Kariagin
30 Комплименты Деду Морозу без видео
1 тест
22 чел. ★ 5 $
  Поздравляю с завершением
Объектно-Ориентированного-Проекта
на примере решения задачи про Деда Мороза.

Пожалуйста, оставь отзыв об этом видеокурсе.
Что тебе понравилось, что не понравилось,
что можно было бы сделать лучше,
в свободной новогодней форме.
 
11321. Leonid Shevchenko
13417. Chip
791. Валерий Жданов
10309. Станислав
  Итого:   30 видеоуроков 7 час. 04 мин.
49 тестов
15 чел. ★ 5  
  Финалисты:   Новопашин Владимир,   Иван Воронин,   Алексей В.,   Tekashnik,   Сергей Соколов,   Константин,   Валерий Жданов,   Станислав,   Andrej Petrunev,   Chip,   Dmitry Sinitsin,   Anatoli,   Yefim,   Ksandr,   Tom .

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





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

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

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

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


Научился: Отличный видеокурс! Очень помогает в развитии объектно-ориентированного мышления при проектировании и программировании приложений, очень хорошо рассмотрено как происходит разбиение сложных задач на менее сложные, достаточно много рефакторинга что бы делать программу более оптимальной и локаничной, и вообще рекомендую пройти его ещё раз только самостоятельно(конечно подсматривая) это даст ещё больший эффект. Всем соискателям удачи в освоении такого прекрасного языка программирования как Java!



Научился: На этом курсе я познакомился с перечислениями, интерфейсами. Поработал с коллекциями ArrayList, HashMap и HashSet. Попрактиковался в отладке приложений, создании javadoc-документации. Увидел как можно использовать ООП возможности Java для разделения общего интерфейса и конкретной реализации в новых классах.