курс

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

Мы проводим очные и дистанционные группы!


68 академчасов, 17 занятий
до 6 человек в группе
860 BYN
Дата начала ближайшей группы - открыта

Ближайшие группы

Записаться в группу

Нужен индивидуальный график?

check-orange
начинаем хоть сейчас
любые дни недели
любое время дня
в классе: 2 880 BYN
64 академических часа
16 занятий
онлайн: 2 880 BYN
64 академических часа
16 занятий

Учиться индивидуально

Базовый курс для освоения разработки приложений на .Net Framework включает разделы 1 – 11. В учебном графике планируется длительность в 15 занятий (60 академических часов). Для желающих поучить больше знаний добавляется еще два раздела 12 и 13. В случае если группа студентов будет иметь хорошую базовую подготовку и отличную успеваемость, есть возможность пройти все 13 разделов на 15 занятий.

Этот курс является основой, отправной точкой изучения .Net Framework и будет фундаментом для изучения прикладных технологий, входящих в состав стека .Net Framework, таких как Windows Forms, Windows Presentation Foundation приложений, а также, разработка пакетов Windows Workflow Foundation и Web приложений ASP.NET. Изучение этих технологий предусматривается на последующих курсах

Требования к составу слушателей:

  • Удовлетворительное владение основами алгоритмизации. Приветствуется опыт работы (даже учебный) на любом языке программирования и платформе;
  • Удовлетворительное владение основными языковыми конструкциями: ветвления, циклы, организация процедур и функций, работа со строками и массивами;
  • Приветствуется знание и умение использовать объектно-ориентированный подход в разработке приложений. Допускается даже самый начальный уровень владения этим материалом;

Полная программа курса “Основы программирования на C#”

Тема 1. Основные конструкции языка C#

  • Структура простейшей программы. Программа «Hello World».
  • Типы данных, используемых в C#. Правила описания и использования переменных в выражениях. Инициализация переменных. Время жизни и область видимости. Константы и их типы в программе.
  • Типы данных (по способу хранения в памяти): типы значения, ссылочные типы. Встроенные типы. Упаковка и распаковка.
  • Линейные вычисления. Организация консольного ввода/вывода в C#. Арифметические и бинарные операции.
  • Приведение типов данных.
  • Алгоритмы ветвления. Логические и тернарные операции.
  • Циклические алгоритмы.
  • Работа с датой и временем

Тема 2. Процедуры в C#

  • Организация подпрограмм (процедуры, функции) в C#.
  • Возвращение значений из подпрограммы
  • Передача параметров в подпрограмму. Использование служебных свойств ref, out.

Тема 3. Структурные типы данных

  • Перечисления.
  • Структуры (struct [TypeName]) в C#. Архитектура структурного типа и особенности использования в программе.
  • Архитектура класса (class [TypeName]) в C#. Поля, методы, конструкторы, свойства. Атрибуты доступа к элементам класса: public, protected, private, static.
  • Экземпляр класса (объект) как ссылочный (reference) тип данных. Особенности использования объекта в выражениях и передача в метод как параметра. Клонирование объектов.
  • Использование обобщений – generetic типов в классах.
  • Понятие «контракта» для структурного типа данных. Знакомство с интерфейсами (interface), понятие полиморфизма типов.
  • Время жизни и область видимости объектов, управление временем жизни объекта, финализация и disposable шаблон.

Тема 4. Коллекции – range data в C#

  • Массивы в .Net. Инициализация, многомерные массивы. Поиск и сортировка в массивах классическими методами. Классы, инкапсулирующие массивы и свойства — индексаторы.
  • Списки, словари и множества.
  • Использование коллекций в .Net через специализированные интерфейсы. Унификация работы с коллекциями данных в .Net. Цикл foreach(…).
  • Специализированные коллекции: стек, очередь, связанные списки, потоко-защищенные коллекции.

Тема 5. Делегаты, лямбда-выражения, события

  • Делегаты (delegate): простые и multicast – делегаты. Использование делегатов. Анонимные делегаты. Полиморфизм кода при помощи делегатов.
  • Использование делегатов при сравнении, сортировке и поиске объектов в коллекциях.
  • События (event) в .Net.
  • Лямбда-выражения в C# и их связь и делегатами. Применение лямбда-выражений вместо анонимных делегатов.
  • Основы LINQ. Работа с коллекциями через LINQ. Использование LINQ расширений для стандартных интерфейсов коллекций.
  • Работа со строками в .Net, основы регулярных выражений.

Тема 6. Наследование в классах .Net

  • Базовые и производные классы, преобразование и приведение наследованных типов.
  • Наследование и доступность элементов классов при наследовании. Доступ к элементам базовых классов.
  • Конструкторы базовых и производных классов.
  • Виртуальные и абстрактные методы. Полиморфизм типов.
  • Запечатанные классы и методы. Расширение класса без наследования.
  • Специальные базовые типы.

Тема 7. Файлы и потоки

  • Понятие потока данных, класс Stream, операции с потоком данных: позиция и поиск, длина потока, чтение / запись, очистка.
  • Конкретные типы потоков, иерархия классов, производных от Stream и классы – адаптеры потоков. Работа с текстовыми и бинарными файлами.
  • Файлы и каталоги. Операции с файлом, каталогом. Операции с имеем файла.
    • Взаимодействие между процессами:
    • файлы, проецируемые в память (memory mapped files)
    • анонимные и именованные каналы (PipeServerStream и PipeClientStream)
  • Сериализация. Использование BinaryReader, BinaryWriter, сериализация CLR. ISerializable интерфейс и собственная (custom) сериализация.
  • Основы логирования в приложениях. Использование стандартных логгеров log4net, system event log и .Net Enterprise Library.
  • Работа с сетью. Класс NetworkStream и производные. Обмен данными по TCP/IP и Http протоколу.
  • Краткое введение в шифрование данных, использование crypto-stream.

Тема 8. Обработка исключений и время жизни объектов

  • Исключения (exceptions): источники, обработка, выбрасывание (throw) исключений, типизированные исключения, необработанные исключения.
  • Время жизни объекта, сборка «мусора». Деструкторы и финализация.
  • Взаимодействие классов, реализующих интерфейс IDisposable и обработка исключений
  • Упаковка типа Nullable .

Тема 9. Работа с XML данными

  • XML, что это такое, структура XML документа.
  • Простое чтение / запись XML документов (SAX parsing). Классы XmlReader, XmlWriter.
  • XML сериализация пользовательских типов данных в .Net.
  • Понятие схемы XML документа. Валидация XML документа по схеме.
  • DOM подход для работы с XML документами. Применение LINQ to XML библиотеки для чтения.

Тема 10. Многопоточное программирование в .Net 4.5

  • Простой запуск задачи в параллельном потоке. Свойства класса Thread и базовые операции с потоками вычислений. Простейший способ асинхронного исполнения задачи – использование класса Timer.
  • Стандартный пул потоков в .Net, класс ThreadPool.
  • Выполнение задачи асинхронно через асинхронные делегаты.
  • Синхронизация доступа к ресурсам между несколькими потоками: мониторы, оператор lock, семафоры, мьютексы, объекты событий, класс Interlocker.
  • Синхронизация выполнение нескольких асинхронных задач: Async call backing, waiting и др. средства синхронизации задач.
    • Стандартные средства выполнения асинхронных задач в .Net 4.5:
    • Parallel framework (Parallel LINQ, класс Parallel)
    • задачи, класс Task
    • асинхронные возможности языка C# 4.5 – служебные слова async и await.

Тема 11. Рефлексия (отражение) типов

  • Понятие сборки в .Net, метаданных сборки и типы рефлексии, классы Assembly, Module, MemberInfo, Type, TypeInfo.
  • Полная рефлексия типов через классы – описатели типов, конструкторов, методов, полей и свойств.
  • Роль атрибутов в .Net. Атрибуты уровня сборки (файл AssemblyInfo.cs). Атрибуты компилятора, CLR. Пользовательские атрибуты.
  • Управление решением Visual Studio, включающего несколько проектов.
  • Позднее связывание сборок. Загрузка сборки или только метаданных. Использование классов на позднем связывании. Рефлексия атрибутов на раннем и позднем связывании.
  • Имена сборок, строгие имена (подпись сборок), глобальный кэш сборок GAC.
  • Процессы, домены приложений в .Net и объектные контексты. Загрузка сборок в отдельные домены и взаимодействие между ними.

Тема 12. Работа с базами данных MS SQL Server

  • Основы проектирования баз данных. Язык запросов к БД – SQL. Основы T-SQL для MS SQL Server.
  • ADO.NET Framework для доступа к данным MS SQL Server в приложениях .Net.
  • Использование DataSet и типизированных DataSet для представления данных БД в .Net приложении.
  • Основы ORM framework – Entity Framework для MS SQL Server. EDMX-model, code first, fluent data context.

Тема 13. Основы WCF

  • WCF как собрание API интерфейсов для распределённых вычислений. Обзор архитектуры WCF.
  • Шаблоны проектов WCF в visual Studio. Базовая структура приложения WCF.
  • Адрес, привязка (binding), контракт и служба WCF.
  • Служба WCF и ее хостинг. Масштабирование относительно рабочих потоков службы.
  • Клиентское приложение WCF.
  • Асинхронный вызов методов службы WCF.

Преподаватели курса "Основы программирования на C#"

Петров Александр
Практикующий .NET разработчик, преподаватель

Опыт работы: более 7 лет
Опыт преподавания: более 3 лет
Стаховец Гордей
JS- и .NET разработчик, компания iTechArt

Опыт работы: более 4 лет
Опыт преподавания: более 1 года

Оставьте заявку прямо сейчас!

Оставьте заявку и при оплате сегодня Вы получите скидку 7%

Приведите с собой друга -
при оплате каждый из Вас получит скидку 10%

Пора заняться английским!

Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).

Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!

{"wp_error":"cURL error 60: SSL certificate problem: certificate has expired"}