ст.м. "Фрунзенская"
9:00 - 18:00 по будням
Основы программирования на C#
Мы проводим очные и дистанционные группы!
Ближайшие группы
Нужен индивидуальный график?
Базовый курс для освоения разработки приложений на .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#"
Опыт работы: более 7 лет
Опыт преподавания: более 3 лет
Опыт работы: более 4 лет
Опыт преподавания: более 1 года
Пора заняться английским!
Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).
Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!