Курсы для программистов

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

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

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

После взноса  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 Создаём графику 00:28:12
130 чел. ★ 4.9 Done
  Первый урок.
Анализ проекта, создание формы, инициализация графики, рисование окружностей.

Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: 1) рисовать пиксель 2) Refactor->Extract Method 
Сложности: нарисовать 1 пиксель  
Комментарии: если нужно нарисовать именно ОДИН пиксель, то подойдет такая запись: graph.FillRectangle(brush, px, py, 1, 1); только надо предварительно создать кисть: Brush brush =(Brush)Brushes.Blue;  
2 Движение шарика 00:31:11
116 чел. ★ 4.9 Done
  Второй урок.
Добавление таймера, создание функции для изменения координат, реализация отскока шарика от краёв картинки, учёт размера кружка, стирание старого положения.

Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: 1) анимация движения посредством таймера формы и перерисовки объекта 2) алгоритм отскока шарика внутри прямоугольника 
Сложности: чтобы шарик отскакивал четко справа 
Комментарии: у меня условия для отскока справа: px+box_width+sx>=bmp.Width; py+box_height+sy >=bmp.Height; тоже работает нормально. 
3 Новый класс Graph 00:29:03
93 чел. ★ 4.9 Done
  Третий урок
Создание класса Graph и перенос в него всех действий с графикой.
Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: 1) разбивать код программы на разные классы для упрощения кода. 2) использовать рефакторинг 
Сложности: какие методы и свойства вынести из кода формы в класс Graph и как передавать данные между ними. 
Комментарии: хороший урок) 
4 Новый класс Figure 00:31:21
83 чел. ★ 5 Done
  Четвёртый урок
На этом уроке мы вынесем всю логику работы с координатами в отдельный класс Pixel и в конце добавим ещё одни шарик в наш "Хранитель экрана".

Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: 1) разделять функционал кода с вынесением методов в отдельный класс 
Сложности: рефакторинг кода: переопределение переменных и логики программы 
Комментарии: по идее для множества объектов типа Figure нужно создавать коллекцию объектов? 
5 Новый класс Polygone 00:30:58
75 чел. ★ 4.9 Done
  Пятый урок
На этом уроке мы закончим создание хранителя экрана.
Мы создадим класс Polygone для хранения многоугольника.
Также добавим в класс Graph метод для его рисования.
В результате получится забавный анимированный многоугольник + потенциал для дальнейшего развития программы.
Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: 1) использовать конструкции типа: public List<Figure> list { get; private set; } с добавлением в список собственных классов 2) отрисовывать перемещающиеся объекты, состоящие из множества точек 
Сложности: вращение точки для генерации пятиугольника 
Комментарии: отличный урок, правда под конец я уже немного запутался во всех созданных классах и методах, и их переопределениях) 
6 ПОЛУФИНАЛЬНЫЙ урок 00:23:23
51 чел. ★ 4.9 Done
  Задание:
Записать видео обзор созданного хранителя экрана.
Рассказать, понравился ли тебе курс, чему ты научился, что было самым сложным.

Отчёт отправил: 4780. Дмитрий Выполнено за 24 час. 00 мин. [Показать отчёт]
Научился: немного продвинулся в понимании работы ООП и функций, а также вложенных массивов 
Сложности: поиск логических ошибок в программе 
Комментарии: Так и не нашел ошибку, из-за которой после первого полного цикла полигоны начинают задесятеряться. Кроме этого при отрисовке возникают артефакты в виде точек на экране. В целом урок очень понравился, спасибо! 
Видеообзор: https://youtu.be/1pEtYYvKK8o
7 Форма настроек 00:23:24
44 чел. ★ 5 Done
  Шестой урок
На этом уроке мы создадим форму для выбора настроек нашего Хранителя экрана.
Можно будет выбрать цвет фона и цвет линий, а также количество вершин.
форма будет создана в новом классе Window Forms.
Отчёт отправил: 4780. Дмитрий Выполнено за 40 мин. [Показать отчёт]
Научился: использование ColorDialog 
Сложности: все было просто 
Комментарии: хорошо 
8 Применение настроек 00:29:52
44 чел. ★ 5 Done
  Седьмой урок
На этом уроке мы добавим кнопку Сохранения настроек
и сделаем применение выбранных параметров.
Для этого нам нужно будет организовать
передачу данных между формами.
Для применения всех настроек придётся дорабатывать
классы Graph и Figure, писать алгоритм
для добавления/удаления вершин
и создания случайной фигуры.
Придётся дорабатывать
Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: как организовать передачу параметров между формами приложения 
Сложности: адаптировать код под свою программу 
Комментарии: ^_^ 
9 Использование реестра 00:29:45
44 чел. ★ 5 Done
  Восьмой урок
На этом уроке мы будем сохранять параметры в реестре и считывать их оттуда.
Функции для работы с реестром вынесем в отдельный статический класс.
Сделаем считывание и сохранение всех трёх параметров:
цвет фона, цвет линий, количество вершин.
Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: записывать и считывать значения из реестра 
Сложности: сохранение цвета в реестре 
Комментарии: :) 
10 Параметры командной строки 00:22:41
42 чел. ★ 5 Done
  Девятый урок
На этом уроке мы узнаем,
как нужно управлять запуском стандартных хранителей экрана.
Какие параметры командной строки для этого используются.
Добавим анализ аргументов командной строки
в свою программу, в зависимости от которых
будем открывать либо настройки программы,
либо запускать хранитель экрана.
Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: запускать программу с параметрами 
Сложности: все было понятно 
Комментарии: :^) 
11 Полноэкранный режим 00:13:58
42 чел. ★ 5 Done
  Десятый урок
На этом уроке мы переделаем нашу заставку чтобы она работала в полноэкранном режиме.
Для этого уберём заголовок, установим аттрибут "поверх всех окон".
Создадим ещё один конструктор, которому будем передавать размеры основного экрана.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: устанавливать форму поверх всех окон 
Сложности: все было просто 
Комментарии: :) 
12 Режим предобзора и установка 00:25:51
42 чел. ★ 5 Done
  Одиннадцатый урок, последний
На этом уроке мы закончим создание хранителя экрана.
Сделаем самую сложную часть - вывод предобзора в окно вызвавшей программы.

Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: работа с WinAPI 
Сложности: dll , WinAPI 
Комментарии: заработало, даже удивительно 
13 ФИНАЛЬНЫЙ урок 00:23:23
36 чел. ★ 4.9 Done
  Задание
Высказать свой отзыв об этом курсе
записав видеообзор полученной программы.

Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: =) 
Сложности: ничего) 
Комментарии: =) 
Видеообзор: https://youtu.be/wrAr25O7krQ
14 VIP. Говорящие часы. Запись голоса 00:57:32
33 чел. ★ 5 Done
  На уроке создаём программу для записи звуковых файлов,
которые будут использованы для создания говорящих часов.
Отчёт отправил: 4780. Дмитрий Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: 1. использовать библиотеку NAudio 2. использовать объект SoundPlayer sp = new SoundPlayer(path + audio_filename) 3. пример использования делегатов 
Сложности: здесь много новых технологий, это и библиотека NAudio и аудиоплеер и использование делегатов для работы с библиотекой. В общем, непростой пример, но очень функциональный. 
Комментарии: уже отправлял отчет после вебинара, то ли в чашке кофе, то ли где-то еще, уже не помню, - давно было. 
15 VIP. Говорящие часы. Воспроизведение 00:38:41
31 чел. ★ 5 Done
  На уроке пишем программу,
которая показывает и говорит текущее время
Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: 1. использование объекта DateTime и преобразование его данных к виду hh:mm:ss 2. использование отдельного класса для разделения функционалов формы и программы 3. ознакомился с многопоточностью на примере воспроизведения звуковых файлов 
Сложности: многопоточность и делегирование 
Комментарии: хорошая программа получилась, функциональная. 
  Итого:   15 видеоуроков 7 час. 19 мин.
17 чел. ★ 4.97  
  Финалисты:   Олюшка,   Денис,   Дмитрий,   Андрей Поляков,   Артём,   Permitin Alexey,   Валерий Жданов,   Алексей В.,   Станислав,   Tekashnik,   Иван Воронин,   Neverwinter 2,   Новопашин Владимир,   Александр,   Yefim,   superGrover,   MaxB .

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





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

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

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

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


Научился: Практика в формулировании текста для видеобзора.
Трудности: Найти подходящее время для записи видео, чтобы не мешали посторонние звуки, подбор текста. Однако, после полуфинального обзора в этом же видеокурсе, финальный обзор дался сравнительно легко.
Огромное спасибо Евгению Витольдовичу за такой замечательный видеокурс и за создание проекта videosharp.info!
Смотреть видеозапись: http://www.youtube.com/watch?v=9mxVsbjri3c&feature=youtu.be


Научился: Скорее повторила прошлый опыт)
Трудности: Настроиться на съемку:)
На данном этапе что-то пошло не так с моей программой, это видно в видеоотзыве, но, надеюсь, что у меня получиться справиться с этой проблемой!:)