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

Формула программиста
основатель — Волосатов Евгений Витольдович

Бурные потоки

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

10 миниуроков.
2 часа 18 минут.
Доступ на 15 дней.

2,000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 31 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 20 мин. [Показать отчёт]
Научился: Узнал, что заяц по-английски hare. 
Сложности: Не понял почему используем статические поля, а не константы. 
Комментарии: Действительно, если у змеи будут голова и хвост, то их тоже можно сделать статичными. Еще цвет поля, например. 
2 Террариум 00:13:24 30 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: На каждом уроке учусь на чужом опыте. 
Сложности: Понять зачем в методе IntScreen мы написали блок else и вызываем в нем метод PutScreen если он ничего не выводит на экран.  
Комментарии: Предлагаю вариант написания метода AddHare( ): public static void AddHare( ) { int x = new Random().Next(1, size.x - 1); int y = new Random().Next(1, size.y - 1); PutScreen(new Coord(x, y), ConsoleColor.White, aHare); } 
3 Зайчики 00:13:40 30 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился рисовать зайчиков. 
Сложности: Все прошло легко и непринужденно. 
Комментарии: Необходимо добавить нестатическое поле "длина питона". Возможно, "цвет питона", "количество съеденных зайчиков". Направление движения питона: право, лево, вверх, вниз. 
4 Питонатор 00:15:34 30 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Всему понемногу. 
Сложности: Написать метод для отображения питона. 
Комментарии: Из-за того, что не умею пока пользоваться очередями Queue, написал метод который отображает голову питона. Направление головы питона выбрал сам. 
5 Поворот головы 00:20:51 29 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился перегружать оператор сложения для нашей структуры. 
Сложности: Рассмотреть питона на экране. 
Комментарии: Интересно. 
6 Поток питонов 00:17:02 28 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился запускать питонов в потоке, а потом завершать их жизнь. 
Сложности: Была одна лехкотня. 
Комментарии: Крутые уроки! 
7 Бурная жизнь 00:14:56 28 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 34 мин. [Показать отчёт]
Научился: Научился рисовать тело змеи. 
Сложности: Понять что к чему. 
Комментарии: Удивительно что это заработало! :) 
8 Приоритет 00:14:20 27 чел. ★ 5 Open
9 Замри! 00:17:49 26 чел. ★ 4.8 $
10 Смысл жизни 00:09:16 25 чел. ★ 5 $
11 ФИНАЛЬНЫЙ УРОК 25 чел. ★ 4.8 $
12 VIP. Игры со словами 01:06:32 8 чел. ★ 5 $
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 8 чел. ★ 4.95  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём,   Елена,   Станислав,   Алексей|BrisK|Кривицкий .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил то, что знал о потоках и предназначении static, узнал о приоритетах потоков и Monitor
Трудности: Ничего
Этот курс, как и другие в этой серии (других я не проходил), получился просто замечательный, особенно в плане визуализации. Но, в отличии от других, в этот раз это больше замечательная заготовка (для обучения и демонстрации работы с потоками). Сейчас попытаюсь объяснить. Я заметил, что все курсы из линейки "Професишарп" связаны: после того, как в первом мы во всех подробностях рассмотрели IEnumerator, с лёгкостью использовали его во втором, для создания класса работающего с графами, который, я надеюсь, очень пригодится нам здесь для того, чтобы змейка, например, шла к ближайшему зайцу. Как бы то ни было, в этом курсе заметно, что он третий подряд. За одну неделю одному человеку практически невозможно подготовить такую обширную тему, как потоки, тем более с такой потрясающей визуализацией. Теперь о самом курсе. Если вы ничего не знаете о потоках, лучше сначала пройдите урок "Нити на кубиках" (videosharp.info/video/soft2/nr=62), так как курс называется "Професишарп" и подразумевается, что что-то мы таки знаем =) Что же мы делали на этом курсе? Как я уже сказал большую его часть заняла визуализация, но она полностью стоила того, чтобы потратить на неё столько времени, но, естественно, это не всё. Также мы довольно детально рассмотрели подводные камни, которые встречаются, когда вы хотите, чтобы один объект работал в нескольких потоках, такие как: использование ключевого слова static и механизмы для синхронизации доступа к объектам lock и Monitor. Кроме этого, мы узнали, как задавать потоку определённый приоритет, что это даёт, как прерывать потоки извне, как обрабатывать это прерывание в самом потоке и как один поток может ожидать завершения другого (но, я считаю, что на последнее было выделено мало времени). Как видите, получился с одной стороны не длинный, и с другой стороны довольно насыщенный курс, и хотя довольно много всего было рассмотрено, почти всё это основы, так сказать база, без которой возможно рассматривать потоки на более глубоком уровне; вот почему, я считаю, что то, что есть на данных момент - это замечательный шаблон, взяв который который за основу можно ещё очень много сделать. С другой стороны, я и сам не знаю, что находится на этом "более глубоком" уровне, да и есть ли он вообще, так что вполне могу ошибаться на счёт всего этого. Но, в любом случае, с нетерпением жду продолжения =)
Научился: писать отзыв
Трудности: писать отзыв
Курс хороший и особенно хорошо, что он консольный, это убирает лишнее. Новое было практически все, что связано с потоками и их прерыванием. Улучшить можно добавив какие-то еще примеры, где именно необходимо! использовать потоки, а где их можно заменить просто по-другому написав программу. Все-таки надо больше ООП, больше разделения, мне кажется, это не помешает восприятию кода.