Курсы по программированию

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 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 ArrayList 00:12:16
1 тест
73 чел. ★ 5 Done
  На этом уроке мы обсудим план занятий,
вспомни былые времена голых массивов,
и выясним, зачем же нужны коллекции.
Начнём знакомство с самой простой
коллекции ArrayList и немного
поэкспериментируем с ней.

Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Узнал о коллекции ArrayList  
Сложности: Вроде ничего 
Комментарии: Узнал впервые о методе вставки insert, до этого только удалял элементы:) 
2 List 00:12:57
1 тест
71 чел. ★ 4.9 Done
  На этом уроке мы поработаем с типизированной коллекцией List.
Обсудим её преимущества, по сравнению с ArrayList,
добавим несколько элементов, отсортируем их и даже найдём их сумму.
Перебор элементов мы организуем двумя разными способами -
через итератор и обычным foreach().
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Вспомнил списки и работу с ними.  
Сложности: Сумма...  
Комментарии: Нашёл метод RemoveAt - удаление по индексу. Не могу понять, почему Sum в List не работает??  
3 Array vs List 00:11:04
69 чел. ★ 5 Done
  На этом уроке мы сравним эффективность использования
ArrayList, List<> и простого массива.
Победителем окажется типизированная коллекция List<>.
Очень интеренсо сравнивать эффективность,
нам в этом поможет флагманский класс Stopwatch.
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Научился сравнивать коллекции.  
Сложности: Ничего :)  
Комментарии: Заодно и горячие клавиши повторил :)  
4 ListDictionary 00:15:19
69 чел. ★ 5 Done
  На этом уроке мы начнём рассматривать три класса,
которые похожи по функциональности, но очень сильно отличаются
по реализации, это: ListDictionary, Hashtable, HybridDictionary.
Эти коллекции хранят пару значений: ключ - значение.
Они нетипизированные и работают с объектами.
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Узнал о коллекция типа ListDictionary и посмотрел некоторые свойства.  
Сложности: Вроде всё было понятно.  
Комментарии: Чем-то похоже на ключи в SQL, если мне не изменяет память, constraint... А для эксперимента любуюсь Remove :)  
5 Hashtable 00:11:56
1 тест
67 чел. ★ 4.9 Done
  На этом уроке мы поработаем с Hashtable - каким именно
образом в неё складываются значения и почему она будет
работать, даже если хеш-функция вернёт одинаковые значения.
Также мы увидим, что порядок элементов путается,
а сами значения хранятся в очень хитром виде.
В конце урока мы сделаем всё то же самое с гибридным классом.
Самостоятельное задание: сравнить скорость работы этих коллекций.
1 этап: создать МНОГО коллекций по 8 и по 9 элементов (ОТДЕЛЬНО).
2 этап: создать ОДНУ коллекцию из ОГРОМНОГО количества элементов.
Подвести итоги и в отчёте написать вывод.
Отчёт отправил: 6925. Артём Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился самостоятельно экспериментировать и сравнивать коллекции на практике.  
Сложности: Ждать.  
Комментарии: Скажу честно: мне лень было напрягать мозги и думать над этим, однако желание не стать посредственным программистом победило. Вот что накалякал: Я никак не мог понять, как создать много коллекций. Только потом вспомнил, что массив всегда придёт в помощь. Ну да ладно, с этим справился. Потом всё пошло отлично, но вот на скрине получилось так, что 100000 коллекций LD создаётся 200мс, а одна из 100000 элемнтов - минуту. МИНУТУ, КАРЛ! То ли я ошибся в исходнике (прикрепляю его), то ли коллекция LD быстрая только при малом кол-ве элементов? Ну а так, проэкспериментировав, можно сделать вывод, что с малым кол-вом элементов лучше LD не найти, в то же время HD-коллекции удобны при бОльшем кол-ве элементов. И ещё: я не понял третий этап, который Вы говорили на видео. Что от меня нужно? А так эксперимент понравился, спасибо за урок!  
6 BitArray 00:14:00
3 теста
64 чел. ★ 4.9 Done
  На этом уроке мы поработаем с интересной коллекцией BitArray,
которая позволяет компактно хранить большие массивы двоичных данных.

Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Познакомился с коллекцией bitArray и закрепил знания по логическим операциям.  
Сложности: Вспомнить операции 
Комментарии: Ну наконец-то я понял Xor, а то с института не знал её. Да и логические действия забывать нельзя. Ах да, после этого урока охота пользоваться массивами пропадает:) А для эксперимента я просто вспомнил and и or :) 
7 Граф 00:13:48
2 теста
63 чел. ★ 4.9 Done
  На этом уроке я дам определение графа своими словами,
всё, что запомнил с момента учёбы в университете.
В конце урока мы зададимся вопросом -
как хранить граф в памяти компьютера.
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Вспомнил графы.  
Сложности: Думать над хранением их 
Комментарии: На курсе Комбинаторика была задача о выходе из лабиринта, где использовались очереди. Правда, тогда я о них не знал, но попробую с их помощью. А за идею графа спасибо сестре,которая попросила объяснить задачу рл геометрии :) 
8 Вершины 00:14:15
2 теста
63 чел. ★ 4.9 Done
  На этом уроке мы начнём создавать класс Граф
для хранения графа и работы с ним.
На уроке мы создадим всё, что касается вершин.
Отчёт отправил: 6925. Артём Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил итераторы и волшебное слово yield  
Сложности: yield... 
Комментарии: Dictionary подошёл бы и хранить там две вершины через массив (вершина 1, вершина2), соединяющие ребро, и длину его.  
9 Рёбра 00:12:47
61 чел. ★ 4.9 Done
  На этом уроке мы содадим колекцию для хранения рёбер.
Опишем методы добавления рёбер и перебора смежных вершин.
Отчёт отправил: 6925. Артём Выполнено за 15 мин. [Показать отчёт]
Научился: Научился описывать коллекцию рёбер и понял, почему надо Dictionary 
Сложности: вроде ничего  
Комментарии: простое неправильное решение :)  
10 Инициация 00:11:15
1 тест
60 чел. ★ 5 Done
  На этом уроке мы создадим экземпляр нашего графа
и добавим в него все его элементы по образцу.
Самостоятельное задание - вывести граф на экран.
Отчёт отправил: 6925. Артём Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил динамическое создание элементов. 
Сложности: Додуматься до вывода 
Комментарии: Самое простое и неправильное решение - цикл. Вот не хочется писать 6 раз AddLabel и вычислять координаты, но похоже, придётся... P.S. возникла идея матрицы смежности составить :) Жаль, что на уровне идеи это и осталось :(  
11 Отображение 00:16:18
57 чел. ★ 5 Done
  На этом уроке мы выведем граф на экран: и вершины и рёбра.
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил работу с графикой.  
Сложности: не сразу вспомнил, что координата метки - верхний левый угол 
Комментарии: А можно ли метки в виде круга создать? Кстати, по поводу линий: уж очень попахивает Bitmap, pictureBox. Можно ли так использовать?  
12 Шахматная доска 00:19:58
1 тест
57 чел. ★ 5 Done
  На этом уроке мы создадим граф в виде Шахматной доски.
И организуем её вывод на экран.
Отчёт отправил: 6925. Артём Выполнено за 30 мин. [Показать отчёт]
Научился: Научился создавать шахматный граф.  
Сложности: Не запутаться в циклах.  
Комментарии: Не получается скрин сделать: как только нажимаю альт, сразу стираются линии :(  
13 Широкий поиск 00:14:59
56 чел. ★ 5 Done
  На этом уроке мы познакомимся с алгоритмом поиска вширь.
Мы проработаем весь алгоритм на конкретном примере.
Самостоятельное задание - выбрать граф и также с ним поработать.
Отчёт отправил: 6925. Артём Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил алгоритм поиска вширь. 
Сложности: Вспомнить очередь. 
Комментарии: Идём дальше :)  
14 Широкий алгоритм 00:14:12
53 чел. ★ 5 Done
  На этом уроке мы напишем алгоритм поиска вширь.
Однако, запустить его не удастся. Почему?
Это вам самостоятельное задание, разобраться
в причине, и найти способ, как это исправить.
Отчёт отправил: 6925. Артём Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Вспомнил алгоритм поиска вширь через очередь.  
Сложности: Найти ошибку.  
Комментарии: Ну раз мы изменяли коллекцию, то почему бы там, где итератор, не сделать пребор, как в массиве - по индексу?  
15 Широкий пошаговый ход 00:11:46
52 чел. ★ 5 Done
  На этом уроке мы исправишм ошибку из прошлого урока
и пройдёмся пошагово по всему алгоритму.
Отчёт отправил: 6925. Артём Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пошаговое исследование программы.  
Сложности: Ничего.  
Комментарии: Теперь пора визуализацию делать :)  
16 Визуализация процесса 00:14:07
47 чел. ★ 5 Open
  На этом уроке мы создадим делегат "Покраска"
и через него реализуем отображение процесса.
17 Глубокий поиск 00:09:58
47 чел. ★ 5 $
  На этом уроке мы познакомимся с алгоритмом поиска вглубь.
Мы проработаем весь алгоритм на конкретном примере.
Самостоятельное задание - выбрать граф и также с ним поработать.
18 Глубокий алгоритм 00:15:07
46 чел. ★ 5 $
  На этом уроке мы напишем алгоритм поиска вглубь.
Вернее сказать - скопипастим. И пофилософствуем.
На этом же уроке посмотрим, как он работает.
19 ФИНАЛЬНЫЙ УРОК без видео
43 чел. ★ 5 $
  Поздравляю с окончанием курса!
Оставь отзыв об этом курсе.

Какой курс ты будешь проходить следующим?
  Итого:   19 видеоуроков 4 час. 06 мин.
12 тестов
43 чел. ★ 4.97  
  Финалисты:   Максим,   Alcatraz,   Дмитрий,   Tekashnik,   Denis,   Иван,   Дмитрий 199,   Николай,   Михаил,   Дмитрий,   Ender,   Платон,   Владимир,   Андрей Н.,   Владимир Борисенко,   Максим Лапшинов,   Permitin Alexey,   Новопашин Владимир,   Максим Саратов,   Алексей В.,   Den Andreevich,   Елена,   Станислав,   Сергей Соколов,   Yefim,   Алексей Малышев,   Александр,   Сергей,   Денис,   chokayes,   ser2018,   vip,   Игорь Тюлькин,   Александр Балбашов,   Денис,   Кирилл,   no name,   Max,   Константин,   Дмитрий,   MaxB,   Anatoli,   Булат .

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





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

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

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

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


Научился: Отличный курс. Я познакомился с новыми для себя коллекциями, узнал их основные достоинства и недостатки. А также изучил как работает стек и очередь на примере обхода графа вширь и вглубь Дальше скринсейвер по акции ну и еще что-нибудь! =)
=)


Научился: На данном курсе я ознакомился и реализовал на практике алгоритмы обхода вершин графа (заодно систематизировал свои первоначальные знания о графах, которые немного подзабыл). Очень эффектно выглядит, когда реализованный функционал в коде становится наглядным и визуализируется. Так лучше понимаешь то, что не смог понять в тексте алгоритма и в коде.
Трудности: Самым сложным все равно остается понимание работы с итераторами (IEnumerable, IEnumerator, yield). До конца не уверен, что смогу сам реализовать такой подход в другом проекте (решается только практикой).
Меня очень интересует тема визуализации данных и процессов. Очень хочется понять как например реализуется графический эквалайзер в проигрывателях музыки (прыгающие уровни ползунков, не говоря уже о полноценных образах)