C# обучение для чайников

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

основатель — Волосатов Евгений Витольдович
Кирилл Шмойлов приглашает на свой Курс 2020.

Новые технологии

Практическое знакомство с различными технологиями и методиками программирования: делегаты, потоки, нити, полиморфизм, наследование и многое другое. Создание программ для работы с микрофоном, принтером, на построение графиков, создание архиватора.




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

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

После взноса 512 256 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 8 рублей.

Первый взнос - 256 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 256 рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 512 руб./30 дней + 512 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Модульное тестирование 00:36:07
1 тест
111 чел. ★ 5 Done
  На этом уроке мы познакомимся с модульным тестированием.
Мы напишем небольшой калькулятор, в который добавим
проект для модульного тестирования, и покажем,
как это всё работает, как это нужно использовать.
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Писать тесты с помощью Visual Studio, в том числе тесты, которые вызывают исключения типа [ExpectedException(typeof(DivideByZeroException))] 
Сложности: Вообще, материал сложный, но Евгений Витольдович изложил его очень просто и понятно. 
Комментарии: Материал, рекомендованный для дополнительного изучения имеется и в русском переводе: Пошаговое руководство. Создание и запуск модульных тестов для управляемого кода (https://msdn.microsoft.com/ru-ru/library/ms182532.aspx) 
2 Делегаты на кубиках 00:47:37
190 чел. ★ 4.9 Done
  На этом уроке подробно показываю и объясняю,
что такое делегаты, зачем они нужны и как их использовать.
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился работать с делегатами, передавать действия и параметры из одного класса в другой, кидать кубики случайным образом.  
Сложности: Было тяжеловато, но понял делегаты лучше.  
Комментарии: Большое спасибо! Очень интересно!  
3 Нити на кубиках 00:42:59
1 тест
109 чел. ★ 4.7 Done
  Демонстрация использования потоков с делегатами на примере игральных кубиков.

Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Научился работать с потоками, с методом Invoke.  
Сложности: Немного путался с потоками, но, кажется, в целом, разобрался.  
Комментарии: Большое спасибо! Также большое спасибо Елене за дополнение. Просмотрел ее ролик и реализовал предложенные ею механизмы остановки потоков. Работает отлично! Интересно, а в чем отличие событий Form1_Leave и Form1_FormClosed?  
4 Телефон по TCP/IP протоколу 00:47:44
60 чел. ★ 4.9 Done
  На этом видеоуроке мы создадим три класса, которые удобно
использовать для передачи данных между двумя компьютерами.
Отчёт отправил: 7645. Александр Львович Выполнено за 3 час. 30 мин. [Показать отчёт]
Научился: Научился создавать связь между двумя компьютерами, настраивать порты и хосты, передавать данные.  
Сложности: Увы, не все было понятно. Пока довольно сложно для меня. Возникали ошибки, связанные с особенностями моего компьютера (см. комментарии). 
Комментарии: Большое спасибо! Замечаний нет. Организация клиент-сервера мне очень понравилась. Однако, к сожалению, возникла ошибка сетевого потока NetworkStream: "Сделана попытка доступа к сокету методом, запрещенным правами доступа." Формируется поток ns = null И далее выводится еще одна ошибка, относящаяся к потоку ns: "Ссылка на объект не указывает на экземпляр объекта." На том компьютере, на котором я обычно работаю, многие программы, требующие коннекта, не устанавливаются. На другом компьютере все работает корректно. Плохо понял функцию Waiter(). Также не понял, почему производится переназначение функции Connect вместо абстрактного метода.  
5 Обои рабочего стола 01:00:58
81 чел. ★ 4.9 Done
  Составляем программу - менеджер фоновых рисунков для рабочего стола.
Отчёт отправил: 7645. Александр Львович Выполнено за 5 час. 00 мин. [Показать отчёт]
Научился: Научился работать с реестром, с папками на диске (создавать папку, считывать файлы), работать с элементами управления Listbox и Combobox.  
Сложности: См. комментарии. 
Комментарии: Большое спасибо! Менеджер картинок рабочего стола мне очень понравился. К сожалению, больше часа мучился с выводом картинки на рабочий стол. Оказалось, что нужно было выводить полный путь к картинке, а не относительный. У меня функция PlacePicture заработала так:       public void PlacePicture(string name)         {             if (name == "")               return;             string path = dir + name;             if (!File.Exists(path))                 return;             string path1 = Path.GetFullPath(path); // полный путь к картинке (path – относительное имя файла; path1 – полное имя файла)             SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path1,                 SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);         } Помог просмотр значения Wallpaper в реестре.  
6 Говорящие часы. Запись голоса 00:57:32
79 чел. ★ 4.9 Done
  На уроке создаём программу для записи звуковых файлов,
которые будут использованы для создания говорящих часов.
Отчёт отправил: 7645. Александр Львович Выполнено за 4 час. 00 мин. [Показать отчёт]
Научился: Научился записывать звук с микрофона, работать с библиотекой NAudio для записи звука с микрофона, записывать звуковые файлы в память компьютера.  
Сложности: Плохо понял, как создается очередь потоков с помощью Invoke.  
Комментарии: Большое спасибо! Замечаний нет.  
7 Говорящие часы. Воспроизведение 00:38:41
76 чел. ★ 5 Done
  На уроке пишем программу,
которая показывает и говорит текущее время
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Научился работать с часами, воспроизводить звуковые файлы из памяти компьютера в зависимости от количества часов и минут.  
Сложности: Пока все понятно.  
Комментарии: Большое спасибо! Сами часы, с минутами и секундами, очень порадовали! Забавно получилось, когда было несколько "говорений" одновременно.  
8 ПОЛУФИНАЛЬНЫЙ УРОК 00:08:08
49 чел. ★ 4.8 Done
  Задание:
Посмотрите видеообзор об этом курсе Елены Вставской.
Она подробно рассказывает о программах, которые вы уже написали -
посмотрите, какие могли быть сложности и как с ними справиться.
Задание.
Написать отзыв об этом видео-курсе,
прикрепить свою фотографию,
указать своё имя и фамилию.

Отчёт отправил: 7645. Александр Львович Выполнено за 30 мин. [Показать отчёт]
Научился: Писать отзыв  
Сложности: Не очень трудно.  
Комментарии: Новые технологии – очень интересный курс, это третий курс, который я прохожу в Школе программиста. В первой части данного курса были очень подробно рассмотрены такие нестандартные и сложные проблемы, как модульное тестирование, примеры использования делегатов и нитей (потоков Thread), запись и воспроизведение голоса, клиент-серверные системы на примерах взаимосвязи двух компьютеров и управления сменой обоев рабочего стола. Как всегда, особая благодарность руководителю проекта Школа программирования Евгению Витольдовичу Волосатову, который подобрал такие интересные задачи и все подробно объясняет. Некоторые сложные для меня вопросы программирования также приходится изучать дополнительно – с помощью интернета и специальной литературы. После прохождения уроков данного курса многое стало мне намного понятнее, например, делегаты и нити. Мое имя и фотография имеются в моем профиле на портале Школы. В целях дальнейшего развития данного курса предлагаю написать программы простого шлюза, протокола передачи данных, а также экспорта и импорта файлов XML.  
9 Клиент-сервер для смены обоев 01:00:07
1 тест
63 чел. ★ 4.9 Done
  Создание клиент-серверного приложения для удалённой смены фоновой картинки на рабочем столе.
На компьютере "жертве" стоит клиентская программа, которая подключается к серверу за получением ссылки на скачивание картинки, которую следует разместить на рабочем столе. Серверная программа обрабатывает подключения клиентов, отправляя им ссылки для фоновых картинок. Управление серверной программой реализована через редактирование конфигурационного файла.
Отчёт отправил: 7645. Александр Львович Выполнено за 3 час. 30 мин. [Показать отчёт]
Научился: Научился работать с сервером и клиентом, передавать из сервера в клиент URL картинки в интернете, работать с реестром, с папками на диске (создавать папку, считывать файлы).  
Сложности: См. комментарии.  
Комментарии: Большое спасибо! Клиент-серверная система размещения картинок рабочего стола мне очень понравилась. К сожалению, на моем компьютере пока не удается открыть сервер. Стабильно выводится сообщение: "Сделана попытка доступа к сокету методом, запрещенным правами доступа" Проблема возникает только на одном компьютере - на других все работает нормально. Пока приспособился таким образом, что программу пишу на своем компьютере, а потом удаленно перехожу на другой компьютер, и там все работает корректно.  
10 Мотиватор 00:31:12
1 тест
85 чел. ★ 4.9 Done
  На этом уроке мы научимся загружать картинку и рисовать на ней.
Результаты стараний отобразим на экране и сохраним в файл.
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился работать с объектом Graphics, с помощью которого можно менять картинку, с конструкцией using (using (Graphics graphics = Graphics.FromImage(img));), рисовать и писать на картинке, сохранять картинку в файл и открывать картинку из файла.  
Сложности: Было сложно разобраться с объектом Graphics и с конструкцией using, но потом все понял.  
Комментарии: Большое спасибо! Создатель мотиваторов мне очень понравился. Замечаний нет.  
11 Печать таблицы + экспорт в Excel 00:38:16
1 тест
70 чел. ★ 4.9 Done
  Как вывести на печать таблицу.
Как экспортировать таблицу в Excel
Самый простой и быстрый способ.
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Научился работать с компонентами DataGridView и с WebBrowser, выводить данные на печать и в Excel.  
Сложности: В основном, было понятно.  
Комментарии: Большое спасибо! Замечаний нет.  
12 Работа с WinAPI 00:49:53
1 тест
66 чел. ★ 4.9 Done
  Использование функций WinAPI для поиска и закрытия окон.
Отчёт отправил: 7645. Александр Львович Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: Научился работать с открытыми окнами с помощью функциональности WinAPI.  
Сложности: Пока все понятно.  
Комментарии: Большое спасибо! Замечаний нет. На меня произвело большое впечатление закрытие окна "Licence Reminder - Spot on the Mouse"! 
13 Построение графиков 01:10:27
1 тест
61 чел. ★ 4.9 Done
  Рано или поздно любому программисту приходится строить графики.
Чтобы не изобретать велоиспед - лучше воспользоваться готовым решением.
На уроке мы установим библиотеку ZedGraph и познакомимся с её возможностями.
Настроим оси координат, легенду, добавим график, нарисуем стрелочки, всё разукрасим.
Отчёт отправил: 7645. Александр Львович Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: Научился строить графики с помощью библиотеки ZedGraph, выводить на график стрелочки и надписи, запускать вывод графиков с помощью кнопок.  
Сложности: Скачать и установить ZedGraph.dll Постоянно выходила ошибка "There are no components in "… ZedGraph.dll"  that can be placed on the toolbox" Удалось установить, когда я переместил файл DLL в папку с коротким путем, без подчеркиваний и пробелов.  
Комментарии: Большое спасибо! Очень интересный урок! Замечаний нет.  
14 ФИНАЛЬНЫЙ УРОК 00:23:23
37 чел. ★ 4.8 Done
  Задание:
Записать видеообзор пары своих программ из курса Новые технологии.

Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился записывать видео с помощью программы ocam и размещать видео на свой канал youtube.  
Сложности: Волновался.  
Комментарии: Большое спасибо. Замечаний нет.  
Видеообзор: https://www.youtube.com/watch?v=6CeJvh2TTAw
15 VIP урок. C# + MySQL через DataSet 00:45:50
1 тест
55 чел. ★ 4.9 Done
  Установка и настройка MySQL.
Создание базы данных.
Создание подключения.
Всё необходимое для начала работы с базой данных, с нуля.

Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Этот вариант работы с БД очень понравился. Узнал много нового про работу с MySQL. Раньше я всего этого не знал. 
Сложности: За преподавателем выполнять несложно. Все сразу получилось. 
Комментарии: Урок прекрасный - на 5+! Также хочу отметить, что при изменении таблиц в элементе grid символы кириллицы сохраняются некорректно (как знаки вопроса). 
16 VIP урок - Создание архиватора - 1 часть 00:39:44
44 чел. ★ 5 Done
  Архиватор - это программа, которая несколько файлов собирает в один.
Без сжатия. Сжатием занимается компрессор.
На этом уроке мы начнём писать архиватор.

Отчёт отправил: 7645. Александр Львович Выполнено за 6 час. 00 мин. [Показать отчёт]
Научился: Научился работать с файлами в C#, выполнять побайтную запись в конец файла в потоке, работать с компонентом ListView.  
Сложности: Было нелегко понять процедуру побайтной записи.  
Комментарии: Большое спасибо! Прекрасный урок! Замечаний нет. Было бы хорошо разделить этот урок на 2 части.  
17 VIP урок - Создание архиватора - 2 часть 00:57:52
25 чел. ★ 4.9 Done
  Продолжение урока по созданию архиватора.
Используется FileStream, BinaryReader, BinaryWriter.
Почитать о потоках можно здесь: http://kzachetu.ru/theory/4/112
Отчёт отправил: 7645. Александр Львович Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Научился работать с файлами в C#, выполнять побайтную запись в конец файла в потоке, работать с компонентом ListView.  
Сложности: Было нелегко понять процедуру побайтной записи.  
Комментарии: Большое спасибо! Замечаний нет.  
18 VIP урок. Игра Жизнь 01:22:45
5 чел. ★ 5 $
  Я познакомился с этой игрой в дестве, когда даже компьютеров не было, играть в неё можно было только на листке бумаги в клетку. На уроке я расскажу правила игры, потом мы создадим класс по реализации логики игры, затем, используя метод динамического программирования, я покажу, как можно в 10 разу ускорить расчёт нового поколения (это по желанию), и, под конец, подключив созданный класс мы напишем саму игру.

Продолжительность урока 1 час 22 минуты,
Это программа - отличный тренажёр для начинающих программистов и хорошая программа в копилку вашего портфолио.
  Итого:   18 видеоуроков 13 час. 59 мин.
8 тестов
4 чел. ★ 4.9  
  Финалисты:   Иван Воронин,   Permitin Alexey,   vip,   Yefim .

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





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

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

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

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


Научился: Научился материализовать свои хотелки=)
Затянул с видео, но в следующий раз будет лучше)


Научился: Повторил как нужно записывать видеообзоры. Но они пока у меня получаются очень корявыми. Волнуюсь, запинаюсь и забываю половину о том, что планировал бойко рассказать. Первое время не понимал - зачем вообще в урок встроено обязательное задание для того, чтобы самому снять обзор. Потом начало доходить, что это необходимо, чтобы научиться самому красиво презентовать свои творения, тренировать правильную, красивую и грамотную речь. Дальше буду проходить вип-уроки в "Новых технологиях."
Трудности: Ничего, буду тренироваться дальше.