up
  • Russian

    course language

  • 14 weeks

    course duration

  • about 10 hours per week

    needed to educate

  • 4 credit points

    for credit at your university

About

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

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

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

Format

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

В курсе Вам доступна на бесплатной основе первая неделя курса для ознакомления с материалами и структурой курса для принятия решения о его полном освоении. Для получения доступа ко всем материалам курса с прохождением итоговой аттестации с прокторингом и получением подтвержденного сертификата, Вам необходимо провести оплату в размере 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

Requirements

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

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

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

Course program

Раздел 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. Работа с синтаксическими деревьями

Education results

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

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

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

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

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

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

Formed competencies

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

Education directions

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

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


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

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

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

Similar courses