наверх
  • Русский

    язык курса

  • 14 недель

    длительность курса

  • около 10 часов в неделю

    понадобится для освоения

  • 4 зачётных единицы

    для зачета в своем вузе

О курсе

Является логичным продолжение курса «Программирование на C#».

Курс продолжает знакомить с возможностями языка C# и инструментами, которые используются в современной продуктовой разработке.

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

Формат

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

В курсе Вам доступна на бесплатной основе первая неделя курса для ознакомления с материалами и структурой курса для принятия решения о его полном освоении. Для получения доступа ко всем материалам курса с прохождением итоговой аттестации с прокторингом и получением подтвержденного сертификата, Вам необходимо провести оплату в размере 2800 рублей.

Учебник по языку C#: https://msdn.microsoft.com/ru-ru/library/zkxk2fwf(v=vs.90).aspx

Спецификация по языку C#: https://www.microsoft.com/en-us/download/details.aspx?id=7029

Требования

Рассчитан на людей, которые прошли курс «Программирование на C#» на openedu.ru или знакомы с языком C#.

Для прохождения курса требуется компилятор C#: Microsoft Visual Studio C# 2013

(скачать Visual Studio Express можно здесь).

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

Раздел 1. Очереди, стеки, дженерики
Тема 1.1. Стек и очередь
Тема 1.2. Дженерики
Тема 1.3. Применение стека и очереди
Тема 1.4. Применение дженериков

Раздел 2. yield return
Тема 2.1. IEnumerable
Тема 2.2. yield return

Раздел 3. Списки и словари
Тема 3.1. Списки
Тема 3.2. Перегрузка операторов
Тема 3.3. Хэш-функции
Тема 3.4. Dictionary

Раздел 4. Делегаты
Тема 4.1. Делегаты
Тема 4.2. Дженерик-делегаты
Тема 4.3. Лямбда-выражения
Тема 4.4. Замыкания

Раздел 5. Элементы функционального программирования
Тема 5.1. Применение делегатов
Тема 5. 2. LINQ
Тема 5.3. Последовательные вызовы LINQ-методов

Раздел 6. Графы и обходы
Тема 6.1. Графы
Тема 6.2. Обходы лабиринтов
Тема 6.3. Реализация графа
Тема 6.4. Обходы графа
Тема 6.5. Топологическая сортировка

Раздел 7. Жадные алгоритмы
Тема 7. 1. Комбинаторные задачи
Тема 7.2. Жадные алгоритмы
Тема 7.3. Алгоритм Краскала
Тема 7.4. Алгоритм Дейкстры
Тема 7.5. «Нежадные» задачи

Раздел 8. Динамическое программирование
Тема 8.1. Динамическое программирование
Тема 8.2. Расстояние Левенштейна
Тема 8.3. Другие применения ДП

Раздел 9. Структуры данных
Тема 9.1. Очередь с приоритетами и алгоритм Дейкстры
Тема 9.2. Бинарная куча
Тема 9.3. Бинарное дерево поиска

Раздел 10. События
Тема 10.1. События
Тема 10.2. Использование событий

Раздел 11. Оконные приложения
Тема 11.1. Оконные приложения
Тема 11.2. Рисование
Тема 11.3. MVC

Раздел 12. Асинхронное программирование
Тема 12.1. Асинхронное выполнение
Тема 12.2. Потокобезопасность
Тема 12.3. Обзор других возможностей

Раздел 13. Рефлексия типов
Тема 13.1. Рефлексия типов
Тема 13.2. Применение рефлексии
Тема 13.3. Работа с синтаксическими деревьями

Результаты обучения

Студент узнает:

  • синтаксис и особенности языка C#;
  • основы написания программ на языке C#;
  • техники создания «чистого» кода;

Студент сможет:

  • применять техники объектно-ориентированного проектирования программного обеспечения;
  • эффективно использовать интегрированную среду разработки Microsoft Visual Studio 2010 для написания, отладки и тестирования программ на языке C#;
  • использовать ReSharper в разработке программ любого уровня;

Студент будет владеть:

  • навыками написания эффективного, легко читаемого и поддерживаемого программного кода;
  • техникой рефакторинга.

Формируемые компетенции

  • способность общаться со специалистами из других областей (ОК-2);
  • способность порождать новые идеи (ОК-5);
  • способностью работать самостоятельно, заботой о качестве, стремлением к успеху (ОК-6);
  • владение методами  математического моделирования при анализе глобальных проблем на основе глубоких знаний фундаментальных математических дисциплин и компьютерных наук (ПК-1);
  • способность к интенсивной научно-исследовательской и научно-изыскательской деятельности (ПК-3);
  • умение ориентироваться в современных алгоритмах компьютерной математики, совершенствовать, углублять и развивать математическую теорию, лежащую в их основе (ПК-7);
  • способность к творческому применению, развитию и реализации математически сложных алгоритмов в современных программных комплексах (ПК-9);
  • определение общих форм, закономерностей, инструментальных средств для групп дисциплин (ПК-10);
  • способность к управлению и руководству научной работой коллективов (ПК-13).

Направления подготовки

Отзывы о курсе

Егоров Павел Владимирович


Должность: старший преподаватель департамента математики, механики и компьютерных наук института естественных наук и математики

Окуловский Юрий Сергеевич

Кандидат физико-математических наук
Должность: доцент департамента математики, механики и компьютерных наук института естественных наук и математики

Похожие курсы