homeГлавная   >   Видеокурсы   >   Основы программирования на языке C#
видеокурс

Основы программирования на языке C#

C# — современный кросс-платформенный объектно-ориентированный язык программирования, разработанный компанией Microsoft.
Популярность C# основана на двух факторах. Во-первых, язык обладает кратким и элегантным синтаксисом, а значит, он легок в изучении. Во-вторых, его сфера применения практически не ограничена и включает помимо области решения проблем автоматизации даже разработку веб-приложений, игр и мобильных приложений.

Курс рассчитан на слушателей без опыта, либо с минимальным опытом программирования. Он состоит из видеолекций и тщательно подобранных практических заданий.

Если вы только начинаете свой путь в мире программирования, C# станет отличным выбором в качестве первого языка программирования!

Получите доступ уже сейчас
Начать обучение
23 видеолекции
23 задания
7 часов 20 минут
15 000
Курс состоит из 23-х логически взаимосвязанных уроков, включающих теоретический материал, практические задания и задания для самостоятельной работы. Материал курса охватывает основы синтаксиса языка C#, структурный и объектно-ориентированный подходы в программировании.

Лекции, с одной стороны, освещают лишь самые необходимые и универсальные знания в области программирования на C#, не перегружая слушателя скрупулезным вниманием к мелочам. С другой стороны, содержат сведения из смежных областей, так или иначе необходимых профессиональному программисту.

Обучение программированию происходит, начиная с изучения основных терминов и понятий алгоритмизации, синтаксиса, базовых алгоритмических конструкций и структур данных, принципов объектно-ориентированного программирования и заканчивая рассмотрением возможностей многопоточности и асинхронности. При этом отдельное внимание уделяется культуре кода, организации взаимодействия с коллегами-программистами, навыкам эффективной работы в среде Microsoft VisualStudio.

Чему Вы научитесь:
— понимать устройство платформы .NET;
— использовать основные типы данных в C#;
— управлять потоком исполнения программы при помощи линейных, ветвящихся и циклических конструкций;
— использовать массивы и коллекции;
— реализовывать собственные методы;
— обрабатывать исключения и ошибки, возникшие в процессе работы приложения;
— понимать основы объектно-ориентированного программирования;
— применять в своих приложениях интерфейсы, абстрактные и статические классы, а также понимать существенные отличия между ними;
— пользоваться расширяющими методами, выполнять перегрузку операторов;
— создавать и выполнять запросы с использованием технологии LINQ;
— организовывать работу приложения в нескольких потоках, понимать работу критических секций;
— создавать динамически связываемые библиотеки и подключать их к своим проектам.

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

Документы

foto_document
Удостоверение Университета ИТМО о повышении квалификации
foto_document
Удостоверение Университета ИТМО о повышении квалификации

Автор курса

teacher
Швец Екатерина Сергеевна
Программист, преподаватель. Семилетний опыт разработки автоматизированных систем в различных компаниях, включающий разработку промышленных систем управления и web-приложений. Участвовала в проектировании и разработке функциональных приложений для Autodesk Revit для крупного российского девелопера в области жилой недвижимости. Преподавательский опыт более 10 лет.

Программа курса

Общие сведения о языке C#

Занятия

Краткая история развития языка C#. Задачи, решаемые при помощи C#. Структура программы. Идентификаторы. Типы данных. Типы значений и ссылочные типы.

Задания

Знакомство с официальным сайтом Microsoft. Получение инсталяционного пакета и установка среды разработки Microsoft Visual Studio.

Первая программа на языке C#

Занятия

Операторы присваивания. Команды ввода и вывода. Арифметические операторы. Модуль Math. Преобразование типов. Культура кода. Соглашения по именованию переменных.

Задания

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

Условные операторы

Занятия

Логические выражения. Логические операции. Условный оператор if. Условный оператор switch. Перечисления enum. Тернарный оператор.

Задания

Создание консольного приложения разветвляющейся структуры с использованием условного оператора if. Создание консольного приложения разветвляющейся структуры с использованием условного оператора switch. Создание консольного приложения разветвляющейся структуры с использованием тернарного оператора. Отладка приложения. Создание и настройка github-репозитория.

Операторы циклов

Занятия

Оператор цикла for. Оператор цикла while. Оператор цикла do…while.

Задания

Задание 4.1 Создание консольного приложения циклической структуры с использованием оператора цикла for. Создание консольного приложения циклической структуры с использованием оператора цикла while. Создание консольного приложения циклической структуры с использованием оператора цикла do…while.

Массивы

Занятия

Одномерные массивы. Многомерные массивы. Цикл foreach.

Задания

Стандартные алгоритмы обработки массивов. Поиск элемента в массиве. Стандартные алгоритмы обработки массивов. Сортировка элементов в массиве. Обработка многомерных массивов.

Обработка строк

Занятия

Строковый тип данных. Методы обработки строк. Введение в регулярные выражения.

Задания

Извлечение подстроки из строки. Замена символов в строке по образцу. Смена регистра символов в строке. Удаление фрагментов и вставка подстрок в строки Разбиение строки в массив строк. Преобразование строк в другие типы.

Методы

Занятия

Понятие метода. Параметры методов. Передача параметров по ссылке и значению. Выходные параметры. Массив параметров и ключевое слово params. Область видимости (контекст) переменных.

Задания

Создание метода с передачей параметров по значению. Создание метода с передачей параметров по ссылке. Создание метода с выходными параметрами. Создание метода с массивом параметров.

Работа с файловой системой

Занятия

Работа с дисками. Класс DriveInfo. Работа с каталогами. Классы Directory и DirectoryInfo. Работа с файлами. Классы File и FileInfo. Работа с файлами. Классы FileStream, StreamReader и StreamWriter.

Задания

Разработка консольного приложения для вывода информации о дисках, установленных на компьютере. Разработка консольного приложения для получения списка файлов и подкаталогов. Разработка консольного приложения для создания каталога. Разработка консольного приложения для удаления каталога. Разработка консольного приложения для копирования файла. Разработка консольного приложения для чтения и записи файлов, используя класс FileStream. Разработка консольного приложения для записи в файл, используя класс StreamWriter. Разработка консольного приложения для чтения из файла, используя класс StreamReader.

Обработка исключений

Занятия

Конструкция try..catch..finally. Типы исключений. Класс Exception. Создание классов исключений. Генерация исключения.

Задания

Разработка консольного приложения с применением конструкции try..catch..finally. Разработка консольного приложения с генерацией собственного исключения.

Введение в объектно-ориентированное программирование

Занятия

Понятие объектно-ориентированного программирования. Инкапсуляция. Наследование. Полиморфизм. Классы и объекты. Поля. Методы. Свойства. Перегрузка методов.

Задания

Разработка собственного класса, моделирующего объект внешнего мира, с использованием полей, методов, свойств, перегрузки методов.

Модификаторы доступа

Занятия

Модификатор доступа public. Модификатор доступа private. Модификатор доступа protected. Модификатор доступа internal. Модификатор доступа protected internal. Модификатор доступа private protected. Константы, поля и структуры для чтения.

Задания

Разработка класса, моделирующего объект реального мира, с использованием модификаторов доступа public, private, protected, internal, protected internal, private protected.

Статические члены и модификатор static

Занятия

Статические свойства и методы. Статический конструктор. Статические классы.

Задания

Разработка статического класса. Разработка класса, содержащего статические свойства и методы. Разработка класса, содержащего статический конструктор.

Наследование

Занятия

Понятие наследования. Доступ к членам базового класса из класса-наследника. Ключевое слово base. Конструкторы в производных классах. Порядок вызова конструкторов. Преобразование типов.

Задания

Разработка нескольких классов, моделирующих объекты реального мира, с использованием техники наследования.

Виртуальные методы и свойства. Абстрактные классы.

Занятия

Виртуальные методы и свойства. Переопределение и сокрытие методов. Абстрактные классы.

Задания

Разработка консольного приложения с несколькими классами, моделирующими объекты реального мира на основе технологии наследования с применением виртуальных методов, сокрытия методов, абстрактных классов.

Интерфейсы

Занятия

Интерфейсы. Применение интерфейсов. Явная реализация интерфейсов.

Задания

Разработка консольного приложения с интерфейсом и реализующими его классами. Реализация нескольких интерфейсов.

Работа с JSON

Занятия

Работа с JSON при помощи класса JsonSerializer. Сериализация в JSON. Десериализация.

Задания

Создание json-файла с информацией об объекте вручную. Моделирование объекта классом в консольном приложении. Сериализация его в json с записью в файл. Задание 16.3 Десериализация объекта из json-файла.

Обобщенные типы (generics)

Занятия

Обобщенные типы. Значения по умолчанию. Статические поля обобщенных классов. Использование нескольких универсальных параметров. Обобщенные методы.

Задания

Разработка в рамках консольного приложения обобщенного класса с одним универсальным параметром. Разработка в рамках консольного приложения обобщенного класса с несколькими универсальными параметрами.

Коллекции

Занятия

ArrayList. Список List. Двухсвязный список LinkedList. Очередь Queue. Стек Stack. Словарь Dictionary. Класс ObservableCollection. Интерфейсы IEnumerable и IEnumerator. Итераторы и оператор yield.

Задания

Разработка консольного приложения с использованием ArrayList. Разработка консольного приложения с использованием списока List. Разработка консольного приложения с использованием двухсвязного списка LinkedList. Разработка консольного приложения с использованием очереди Queue. Разработка консольного приложения с использованием стека Stack. Разработка консольного приложения с использованием словаря Dictionary.

LINQ

Занятия

Фильтрация выборки и проекция. Сортировка. Объединение, пересечение и разность коллекций. Агрегатные операции. Методы Skip и Take. Группировка. Соединение коллекций. Метод Join, GroupJoin и Zip. Методы All и Any. Отложенное и немедленное выполнение LINQ. Делегаты и анонимные методы в запросах LINQ.

Задания

Разработка консольного приложения с использованием linq-запросов для выборки данных.

Делегаты, события и лямбды

Занятия

Делегаты. Применение делегатов. Анонимные методы. События. Лямбды.

Задания

Разработка консольного приложения с использованием делегатов. Разработка консольного приложения с использованием событий.

Многопоточность. Класс Thread.

Занятия

Введение в многопоточность. Класс Thread. Создание потоков. Делегат ThreadStart. Синхронизация потоков. Мониторы. Класс AutoResetEvent. Мьютексы. Семафоры. Таймеры.

Задания

Разработка консольного приложения, выполняющего длительную операцию, с организацией отдельного потока.

Параллельное программирование и библиотека TPL

Занятия

Задачи и класс Task. Задачи продолжения. Класс Parallel. Отмена задач и параллельных операций. CancellationToken.

Задания

Разработка консольного приложения, выполняющего длительные операции, с использованием параллельных задач.

Aсинхронное программирование.

Занятия

Введение в асинхронность. Ключевое слово async. Ключевое слово await.

Задания

Разработка консольного приложения, выполняющего длительную операцию, с использованием асинхронного подхода.
Доступ
1
год

Как быстро начать дистанционное обучение?


Дистанционные курсы Центра Autodesk

Видеокурсы Центра Autodesk — это отличный выбор для тех, кто желает повысить свою квалификацию или освоить определенные программы, но не имеет возможности посещать занятия в классе. Такой формат получения и закрепления знаний подойдет проектировщикам, дизайнерам, архитекторам и строителям, которые ценят свое время, нацелены на карьерный рост и стабильный успех в своей профессиональной деятельности.
Очевидными и неоспоримыми плюсами дистанционных видеокурсов от нашего Центра являются:

Доступ к видеолекциям 24/7
в течение 1 года
Последовательная подача и структурированный материал
Консультации преподавателя на протяжении всего курса
Полная идентичность с материалами очного курса
Функциональная система дистанционного обучения
Подтверждающие документы по окончанию обучения

1 из 0
10:00 – 17:00
autodesk@itmo.ru
10:00 — 17:00
close document_image
close
Мы с удовольствием ответим на все ваши вопросы и будем рады порекомендовать подходящий план обучения!








Выберите удобный способ связи:



close







У меня есть вопросы:














меню
Онлайн-
обучение
close_hide_menu
+7 960 266-77-22

10:00 – 17:00