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

Смешанное обучение (теория онлайн, практики очно или через онлайн-звонок с группой)
2 семестра, 6–12 часов в неделю


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

1.     Первое знакомство с C#
Первое знакомство с C#. Типы данных. Методы. Области видимости

2.     Ошибки
Ошибки компиляции. Стилистические ошибки

3.     Ветвления
Логический тип bool. Оператор if-else. Типичные ошибки ветвлений

4.     Циклы
Цикл while. Цикл for

5.     Массивы
Одномерные массивы. Сокращенный синтаксис. Типы ссылки и типы значения. Многомерные массивы

6.     Коллекции, строки, файлы
Список List. Словарь Dictionary. Строки. Файлы и каталоги

7.     Тестирование
Введение в тестирование. Модульные тесты. Продвинутые техники. Внедрение тестирования

8.     Сложность алгоритмов
Основные понятия. О-символика. Оценка сложности алгоритмов

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

10. Поиск и сортировка
Линейный и бинарный поиск. Сортировка пузырьком. Сортировка слиянием и быстрая сортировка

11. Основы ООП
Классы и объекты. Поля. Методы. Статистические классы

12. Наследование
Наследование. Приведение типов. Интерфейсы. Полиморфизм

13. Целостность данных
Целостность данных. Свойства. Конструкторы

14. Структуры
Структуры. Ключевое слово ref. Boxing/unboxing. Структуры и свойства

15. Очереди, стеки, дженерики
Стеки и очереди. Дженерики. Связные списки. Класс Tuple. Класс Nullable

16. yield return
IEnumerable и IEnumerator. Цикл foreach. Ленивые коллекции. yield return

17. Листы и словари
Класс List. Индексация. Перегрузка операторов. Хеширующие функции. Класс Dictionary. Класс HashSet

18. Делегаты
Делегаты. Лямбда-выражения. Замыкание

19. Элементы функционального программирования
Примеры использования делегатов. Частично применение функций. Цепочки методов

20. LINQ
LINQ

21. Оконные приложения
События. Windows Forms. Паттерн MVC

22. Графы и обходы
Графы. Обход в ширину. Обход в глубину. Топологическая сортировка

23. Жадные алгоритмы
Комбинаторные задачи. Жадные алгоритмы. Алгоритм Краскала. Алгоритм Дейкстры

24. Многопоточное программирование
Процессы и потоки. Общие ресурсы и lock. Обзор конструкции async/await

25. Динамическое программирование
Динамическое программирование. Расстояние Левенштейна. Алгоритм Форда-Беллмана

26. Структуры данных
Бинарная куча. Очередь с приоритетами. Бинарное дерево поиска

27. Рефлексия типов
Рефлексия. Получение информации о типах с помощью рефлексии. Создание объекта с помощью рефлексии. Атрибуты. Обзор Expressions .Обзор Code Emission


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

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

  • синтаксис и особенности языка C#;

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

  • техники создания «чистого» кода;

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

  • применять техники объектно-ориентированного проектирования программного обеспечения;

  • эффективно использовать интегрированную среду разработки MicrosoftVisualStudio для написания, отладки и тестирования программ на языке C#;

  • использовать ReSharper в разработке программ любого уровня;

Студент будет владеть:
  • навыками написания эффективного, легко читаемого и поддерживаемого программного кода;

  • техникой рефакторинга.

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

  • способность общаться со специалистами из других областей (ОК-2);

  • способность порождать новые идеи (ОК-5);

  • способностью работать самостоятельно, заботой о качестве, стремлением к успеху (ОК-6);

  • владение методами математического моделирования при анализе глобальных проблем на основе глубоких знаний фундаментальных математических дисциплин и компьютерных наук (ПК-1);

  • способность к интенсивной научно-исследовательской и научно-изыскательской деятельности (ПК-3);

  • умение ориентироваться в современных алгоритмах компьютерной математики, совершенствовать, углублять и развивать математическую теорию, лежащую в их основе (ПК-7);

  • способность к творческому применению, развитию и реализации математически сложных алгоритмов в современных программных комплексах (ПК-9);

  • определение общих форм, закономерностей, инструментальных средств для групп дисциплин (ПК-10);

  • способность к управлению и руководству научной работой коллективов (ПК-13)

Все характеристики
Вниз
Кому адресована:
Студенты и преподаватели колледжей
Уровень образования:
Среднее профессиональное образование
Бакалавриат
Формы реализации:
Очная, с применением ЭО и ДОТ
Заочная, с применением ЭО и ДОТ
Профстандарты:
09.03.01 Информатика и вычислительная техника
09.03.02 Информационные системы и технологии
09.03.03 Прикладная информатика
09.03.04 Программная инженерия
02.03.01 Математика и компьютерные науки
02.03.02 Фундаментальная информатика и информационные технологии
10.03.01 Информационная безопасность
10.05.01 Компьютерная безопасность
Условия взаимодействия:
Совместная реализация образовательной программы
Тип условия:
Бесплатно, образовательное учреждение может воспользоваться курсом без дополнительных согласований

Отзывы о программе

Курс невероятно познавательный и интересный. Все лекции очень информативные и средней длины, что позволяет достаточно быстро и эффективно освоить материал. После усвоения материала предоставляются практические задания, которые помогают изученную теорию уже применить на практике, из-за чего материал после этого на долго откладывается в голове. Также ближе к концу курса накапливается уже достаточно знаний, чтобы писать самые настоящие 2D игры на собственном движке! Я, когда написал свою 2D стратегию, долго поверить не мог, что я уже столько всего могу :)

Отзыв про ятп и ооп
Если в целом, то кажется что больше всего пользы я, конечно, же получил от преподавателя (у меня был Саша Сорокин, он ооооочень классный). Я пришел на матмех с нулевыми знаниями программирования и именно с курса по ятп начинал изучать. Он хорошо структирован и дает отличную базу для дальнейшего изучения. Да, мне было очень больно с нуля осваивать программирования, над некоторыми задачами бился всё неделю, но зато потом эти приемы запоминались надолго.

Про ооп
На этот момент нас уже научили "как писать простой код" и поэтому можно было вникнуть в приемы проектирования, понимая их и сразу применяя на практике

Курс интересный, информация достаточно легко усваивалась. На начальных этапах маленькие тесты помогали запомнить материал. Практики тоже интересные, особенно свободная практика по написанию игры. Было интересно исследовать код в больших задачах, можно было найти интересные моменты и фичи. Код-ревью от преподавателей очень зашёл, было интересно замечать ошибки и придумывать способы хорошего исправления.

Курс "Основы программирования на C#" оставляет приятные впечатления - сложные, но интересные задачи позволяют погрузиться в язык даже без опыта в программировании. Понятные лекции доставляют всю базу знаний, однако для решения задач придется много думать самому. Этот момент в курсе часто принимают как отрицательный, но я бы сказал, что это не так. Некоторые задачи очень тяжело решаются, но оставляют за собой целый багаж опыта разработки, исправления ошибок, тестирования. После прохождения курса начинаешь чувствовать себя "на плаву" в разработке.

Влево
Вправо

Другие программы

Все программы
47

RunaWFE

Практика процессного управления на свободном программном обеспечении.

Кому адресована
1
Кому адресована
1
Закрыть
Студенты и преподаватели ВУЗов
Уровень образования
2
Уровень образования
2
Закрыть
Бакалавриат
Среднее профессиональное образование

Основы проектирования приложений интернета вещей

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

Кому адресована
1
Кому адресована
1
Закрыть
Студенты и преподаватели ВУЗов
Уровень образования
2
Уровень образования
2
Закрыть
Бакалавриат
Магистратура

DevOps на практике: от кода до прода

В курсе рассматривается значение основных принципов DevOps – непрерывной конвейерной поставки ценностей, обратной связи и обмена знаниями.

Кому адресована
1
Кому адресована
1
Закрыть
Студенты и преподаватели ВУЗов
Уровень образования
2
Уровень образования
2
Закрыть
Бакалавриат
Магистратура

Производственная практика в компании ОКБ САПР

Производственная практика для студентов учреждений СПО и ВПО, обучающихся по УГС и УГНП 10.00.00 Информационная безопасность соответственно.

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

Кому адресована
2
Кому адресована
2
Закрыть
Студенты и преподаватели ВУЗов
Студенты и преподаватели колледжей
Уровень образования
3
Уровень образования
3
Закрыть
Бакалавриат
Магистратура
Специалитет

Курс по основам Информационной Безопасности Entry Level

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

Кому адресована
2
Кому адресована
2
Закрыть
Студенты и преподаватели ВУЗов
Студенты и преподаватели колледжей
Уровень образования
3
Уровень образования
3
Закрыть
Бакалавриат
Магистратура
Среднее профессиональное образование
Показать еще
5