Online обучение c#

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

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

Статистика по видеоурокам

  • Всего просмотрено уроков: 37
  • Всего выполнено уроков: 36

Отчёты по видеоурокам

Дата Видеоурок Результат
2015-10-07 15:21 Теория ООП Переезд graph в базовый класс + 20 15 мин.
Закрепляю навыки наследования
Ничего
Все хорошо
2015-10-06 16:04 Теория ООП Переезд метода Draw + 20 15 мин.
Грамотно инкапсулировать методы
ничего
Все хорошо
2015-10-06 15:44 Теория ООП Приведение с мотором + 20 5 мин.
Понял некоторые принципы наследования, подтолкнуло на размышление высказываение о object
Ничего
нам понадобится переменная Shape.position для координации объекта на плоскости. Перемещать объект будем задавая position и от нее начинать прорисовывать снеговика
2015-10-06 15:30 Теория ООП Фигуральный базовый класс + 20 20 мин.
Углубленно и гибко применять ООП на практике. Например через цикл for.
Ничего
Хороший урок.
2015-09-28 16:08 Теория ООП Богатое наследство + 20 20 мин.
Использовать наследование в практике
Как всегда, добавить в мозги новшество. Открываю свой справочник, что бы закрепить в голове новое слово base.
Наследование - это как если брать меня за класс, то я наследуюсь от родителей, я могу унаследовать такие поля и методы как : поведение, цвет глаз, рост и т.д., плюс ко всему добавить что то свое, индивидуальное, и тогда мне скажут "В КОГО ТЫ ТАКОЙ?"

Отличие в том, что в шарпе нет множественного наследования, а я могу унаследовать как от мамы, так и от папы.
2015-09-28 15:47 Теория ООП Второй Снеговик + 20 15 мин.
Ничему новому, просто нарисовали второй объект
Ничего
Что нужно изменить в этой программе, чтобы мы могли
а) перемещать снеговика;
б) поворачивать снеговика;
в) изменять размер снеговика.

Во первых необходимо запечатать снеговика в объект (класс)
Что бы его перемещать, необходимо задать среднюю точку, координаты по которым будет снеговик перемещаться
Что бы его перевернуть, необходимо высчитать и менять значения края объекта
Ну и что бы менять размеры, так же необходимо менять координаты линий

Чутье подсказывает что в следующем уроке это будет реализовано через свойства
2015-09-28 15:22 Теория ООП Рисуем Снеговика + 1 20 мин.
Проектировать рисунки для спрайтов перед их "переносом в код"
Ничего
Все отлично!
2015-09-28 14:37 Теория ООП Цветные карандаши + 21 20 мин.
Закрепил знания о конструкторах
Разобраться
Все ок, двигаемся дальше
2015-09-28 14:02 Теория ООП Расстояние между пикселями + 20 15 мин.
Более углубленно понимать построение конструкторов и ключевое слово this.
Закрепить знания
Вызывать перегружаемый конструктор с помощью ключевого слова this полезно, в частности, потому, что он позволяет исключить ненужное дублирование кода. Другое преимущество организации подобного вызова перегружаемого конструктора заключается в возможности создавать конструкторы с задаваемыми "по умолчанию" аргументами, когда эти аргументы не указаны явно.

Для закрепления советую почитать
http://professorweb.ru/my/csharp/charp_theory/level6/6_2.php
2015-09-27 21:19 Теория ООП Пиксели для классов + 21 15 мин.
Узнал что ключевое слово this не только указывает на текущий экземпляр.
Понять что применение ключевого слова this состоит в проектировании класса, использующего технику под названием сцепление конструкторов или цепочка конструкторов (constructor chaining). Этот шаблон проектирования полезен, когда имеется класс, определяющий несколько конструкторов. Учитывая тот факт, что конструкторы часто проверяют входящие аргументы на соблюдение различных бизнес-правил, возникает необходимость в избыточной логике проверки достоверности внутри множества конструкторов.
Беглый ввод ключевого слова, стоило заострить на нем внимание. Пришлось читать дополнительную литературу, но ничего
2015-09-27 20:53 Теория ООП Структура vs Класс + 20 20 мин.
Понял разницу между классом и структурой, да и в принципе познакомился со структурами
Вникнуть в новую тему
Хорошее пояснение, было бы не плохо побольше таких отступлений
2015-09-27 20:19 Теория ООП Структура пикселя + 21 15 мин.
Узнал что можно задавать больше 1 конструктора классу.
Пока ничего
Все отлично, двигаемся дальше
2015-09-23 16:33 Теория ООП Круглый класс + 20 15 мин.
Рисовать круг
Ничего
Все хорошо
2015-09-23 16:21 Теория ООП Второй класс + 20 15 мин.
Понял ошибки, неправильно понимал ключевое слово this. Это хорошо :)

Ничего
Все отлично!
2015-09-23 16:06 Теория ООП Первый класс + 20 15 мин.
Создавать классы (но я умел). Стоит сказать, что удобно понимать ключевое слово this как обращение к полям (и возможно методам) в РАМКАХ фигурных скобок, т.е. за пределы скобок this не поможет обратиться.
Ничего.
Стоит рассказать что происходит в оперативной памяти при инициализации нового экземпляра класса, поля, переменной. Лично мне так было проще учить и понимать происходящее
2015-09-23 15:47 Теория ООП Урок рисования + 20 10 мин.
Рисовать линии
Ничего
Все отлично
2015-09-23 13:37 Теория ООП Инкапсуляция мечты   5 мин.
Я на самом деле раньше знал что такое инкапсуляция (остальные парадигмы для меня пока загадка). Инкапсуляция это одна из парадигм ООП, сокрытие реализации программы. Если провести параллель с живым миром - пример на картинке, мы знаем человека, можем общатсья с ним, взаимодействовать, но не знаем как он устроен. Или, например, введя дату своего рождения в форму, форма отобразит сколько нам лет, все действия расчетов инкапсулированы в программу и не доступны нам. Если смотреть глубже, инкапсуляция защищает данные, например поля в классах, и мы, как программисты, качая библиотеки для C# пользуемся объектами, в которые икапсулированы подпрограммы и нам не зачем вникать в реализацию.
Ничего
WinForms не гуд, хочу параллельно заниматься XAML
2015-07-27 09:33 БД - Книжка оценок Создание интерфейса программы + 3 5 час. 00 мин.
Выполнять запросы через код и возвращать значения из БД в таблицу
Я параллельно создаю еще одну программу на основе пройденного материала, что бы его закрепить, отличием является только то что данные передаются из дочерней формы в родительскую и наоборот + тип date использую (Евгений честно сказал - дата это геморой еще тот). Сложно закреплять материал и не сделать из кода кашу
Вопрос: зачем полю с модификатором public нужны свойства {get; set}? я так понял на изучении ООП, что эти свойства нужны что бы работать с закрытыми полями в рамках инкапсуляции и сокрытия или все таки свойства играют более широкую роль, я вот этот момент не совсем понял, и зачем мутатору модификтор доступа private?
Код:
public string error { get; private set; }
public string query { get; private set; }

Замечание:  работать без мастера создания БД и мастера привязки к проекту в VS базы данных конечно хорошо, мы более на низком уровне посмотрели как все это делается, но хочется работать быстрее и добавляя базу через мастер студии, я так и не смог ее завести. Почему то студия при каждом дебаге сбрасывала базу на 0 и удаляла базу из последнего дебага, т.е. брала ту базу, которая была на момент импорта в студию. Без дебага из папки работало. Пришлось все похерить, плюс ко всему dataGreed непонятно как привязывался к базе, компилятор постоянно ругался, это было еще одной причиной выпилить все и делать как на видео. Жаль что не рассмотрели способ работы с базой через мастер. Я так понял код там отличается сильно, придется изучать это из других источников.

Еще один момент, программа взвизгула когда удалил все строки, пришлось при старте, если нет записей, добавлять нулевую, пока не разбирался как это устранить, т.к. параллельно делаю свою прогу, там тоже не мало багов и косяков)
2015-07-24 17:00 БД - Книжка оценок Проектирование БД «Книжка оценок» + 10 1 час. 30 мин.
Проектировать БД и выполнять SQL запросы
SELECT pupil, subject, point
FROM point, pupil, subject
WHERE point.pupil_id=pupil.id
AND point.subject_id=subject.id
Можно было объяснить "поразжованнее" то что было самым сложным
2015-05-20 18:09 Игры со Спрайтами Домино. Динамическая пирамида + 1 1 час. 25 мин.
Использовать и создавать инструменты когда я этого захочу
Формула которая создает и выравнивает пирамиду. Понять как бы суть, все быстро, быстро и быстро.
Все как всегда хорошо!
2015-05-20 17:22 Игры со Спрайтами Домино. Перемешиваем плашки + 10 25 мин.
Дальше по-немногу вникать в суть
Понять суть ))
Все хорошо, продолджаем
2015-05-20 11:33 Игры со Спрайтами Домино. Правила игры + 1 25 мин.
Создавать класс для игры в пасьянс домино
Понять работу циклов и разницу между структурой и классом
Сложно вникать без знаний теории ООП. Все на догадках. Наверное это будет следующий курс который я приобрету
2015-05-20 10:38 Игры со Спрайтами Спрайт. Рисуем Аполлона   15 мин.
Ничему новому
Ничего
Пока все хорошо)
2015-05-19 10:34 Игры со Спрайтами Аполлон. Главные герои + 1 10 мин.
Рисовать
Найти дома карандаш
Ничего нового
2015-05-18 20:45 Игры со Спрайтами Спрайт. Сериализация объекта + 10 30 мин.
Сериализовать в XML и сохранять "что-то" в файл.
Как всегда, жать на паузу и досконально, меняя код, смотреть зависимости и понимать что, куда и почему.
Все замечания высказал ранее, сейчас все "ровно"
2015-05-15 11:20 Игры со Спрайтами Спрайт. Панель инструментов + 10 25 мин.
Работать с событиями кнопок и понял как можно заставить кнопки влиять на программу.
Ничего
Пока делал, думал - на сколько сложно организовать заливку...
2015-05-15 10:45 Игры со Спрайтами Спрайт. Рисуем линии мышкой + 10 25 мин.
Создавать события мыши для работы с графикой
Собрать в голове все воедино что бы понять принцип работы тех или иных методов.
Знаю что на это потребуется больше времени для записи материала, но было бы ОЧЕНЬ круто если бы напротив строчек был комментарий что и почему.
2015-05-14 13:07 Игры со Спрайтами Спрайт. Класс для Спрайта + 10 15 мин.
Понимать что к чему
Ничего
Немного начинаю понимать что к чему, но не понял зачем нужен лист, т.е. его глубину и как он работает
2015-05-14 12:30 Игры со Спрайтами Спрайт. Класс для графики + 10 15 мин.
Создавать конструктор и метод для рисования
Понять каждую строчку написанного
Непонятно чем класс отличается от структуры.
2015-05-13 09:57 Игры со Спрайтами Спрайт. Структура для линии + 2 15 мин.
Создавать массивы для рисования и работать с ними
Понимание взаимосвязи между методами
Так как я новичок, некоторые вещи туго доходят пока еще. В 11 минутах большой объем новой информации, в которой сложно улавливается связь между собой.
2015-05-13 09:32 Игры со Спрайтами Спрайт. Первая форма + 10 15 мин.
Рисовать на форме
Понять принцип взаимосвязи между методами.
Не понятно что значит "new"
2015-05-12 09:47 Демо игры Игра Быстрощёлк + 10 45 мин.
Работать с объектами, писать функции с последующим возвратом к ним, самостоятельно разобрался с выпадающим меню и сделал возможность выбора сложности (от 10 до 30 щелчков).
В этом уроке все было легко и доступно
Все хорошо и круто)
2015-05-04 19:41 Демо игры Лабиринт 2D - игра + 10 2 час. 00 мин.
Работать с объектами и программировать для них правила. Немного непонятно с классами, нужна практика, надеюсь дальше будет все более и более понятно.
Создать свой уровень. Не работал start_game(), понял что не создал действие для Shown, для третьей формы. Добавил файл в формате png (который отличался от gif), компилятор начал ругаться.
Сделал скример, была такая флеш в интернете, покажу друзьям)
Добавил страшную пикчу + звук крика. В напряженный момент лабиринта вылетает картинка с криком и пропадает что бы пройти дальше.
2015-05-01 14:51 Демо игры Лабиринт 2D - меню + 2 30 мин.
Закрепил навык работы с формой, научился создавать классы, пока еще туго въезжаю, но опыт приходит со временем и практикой.
Потерял { и ;
компилятор ругал и подчеркивал void, звук не хотел отключаться.
Разобрался, но не до конца понимаю создание классов.
Домашнее задание было бы не плохо делать для закрепления материала, что бы я перечитывал материал, гуглил, и спрашивал закрепляя знания. Например, исходя из этого урока, простые задачи по созданию и применению классов. Консоль конечно прокачивает знания, но не параллельно видеокурсам. Спросить не могу, ведь я не на вебинаре :)
2015-04-30 12:48 Демо игры Картинка с секретом + 10 1 час. 00 мин.
Создавать форму, менять свойства объектов и формы, программировать события, обращаться к ресурсам и импортировать их в проект.
Программирование переменной
Не понял до конца как работает переменная, не получилось запустить секретную картинку при условии MouseMove, вроде делал как в уроке, даже перепроверил, слишком гружено с переменными для первого урока.
2015-04-29 22:45 Демо софт Вступительное слово + 1 10 мин.
-
Найти англ версию 2012 vs
Хорошее начало. Ожидаю от видео-курсов продуктивного обучения. По-видимому я наткнулся на лучший "учебник". Готовых программ на VS не имею.
  Нано-игры Арканоид - Уровень и ракетка   Открыто


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





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

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

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

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


Научился: Выполнять запросы через код и возвращать значения из БД в таблицу
Трудности: Я параллельно создаю еще одну программу на основе пройденного материала, что бы его закрепить, отличием является только то что данные передаются из дочерней формы в родительскую и наоборот + тип date использую (Евгений честно сказал - дата это геморой еще тот). Сложно закреплять материал и не сделать из кода кашу
Вопрос: зачем полю с модификатором public нужны свойства {get; set}? я так понял на изучении ООП, что эти свойства нужны что бы работать с закрытыми полями в рамках инкапсуляции и сокрытия или все таки свойства играют более широкую роль, я вот этот момент не совсем понял, и зачем мутатору модификтор доступа private? Код: public string error { get; private set; } public string query { get; private set; } Замечание: работать без мастера создания БД и мастера привязки к проекту в VS базы данных конечно хорошо, мы более на низком уровне посмотрели как все это делается, но хочется работать быстрее и добавляя базу через мастер студии, я так и не смог ее завести. Почему то студия при каждом дебаге сбрасывала базу на 0 и удаляла базу из последнего дебага, т.е. брала ту базу, которая была на момент импорта в студию. Без дебага из папки работало. Пришлось все похерить, плюс ко всему dataGreed непонятно как привязывался к базе, компилятор постоянно ругался, это было еще одной причиной выпилить все и делать как на видео. Жаль что не рассмотрели способ работы с базой через мастер. Я так понял код там отличается сильно, придется изучать это из других источников. Еще один момент, программа взвизгула когда удалил все строки, пришлось при старте, если нет записей, добавлять нулевую, пока не разбирался как это устранить, т.к. параллельно делаю свою прогу, там тоже не мало багов и косяков)


Научился: Использовать наследование в практике
Трудности: Как всегда, добавить в мозги новшество. Открываю свой справочник, что бы закрепить в голове новое слово base.
Наследование - это как если брать меня за класс, то я наследуюсь от родителей, я могу унаследовать такие поля и методы как : поведение, цвет глаз, рост и т.д., плюс ко всему добавить что то свое, индивидуальное, и тогда мне скажут "В КОГО ТЫ ТАКОЙ?" Отличие в том, что в шарпе нет множественного наследования, а я могу унаследовать как от мамы, так и от папы.