• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2016/2017

Введение в программирование

Статус: Дисциплина общефакультетского пула
Когда читается: 1, 2 модуль
Язык: русский
Кредиты: 3

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

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

Планируемые результаты обучения

  • Различает основные алгоритмические конструкции.
  • Способен реализовать некоторые последовательности и списки
  • Знает особенности основных АТД
  • Знаком с концепцией абстрактного типа данных
  • Различает виды ассоциативных связей между классами
  • Понимает отношение наследования и умеет реализовывать его средствами C#
  • Знает основные виды отношений между классами и объектами в ООП
  • Способен реализовывать независимые классы на языке программирования C#
  • Понимает особенности полиморфизма в ООП
  • Понимает особенности объектовой инкапсуляции
  • Знаком с понятиями класса и объекта
  • Способен представлить матрицы многомерными массивами и массивами массивов на языке C#
  • Различает многомерные и зубчатые массивы в языке C#
  • Знаком с математическим понятием матрицы
  • Умеет передавать массивы в методы, как параметры
  • Способен решать задачи на создание массивов, заполнение массивов, обработку элементов массивов, преобразование массивов на языке C#
  • Умеет описывать одномерные массивы простых типов на языке C#
  • Умеет строить дерево рекурсии для рекурсивного алгоритма
  • Знаком с прямой и косвенной рекурсией
  • Умеет реализовывать вычисления, основанные на рекуррентных последовательностях в программах на языке C#
  • Различает способы передачи параметров в методы в языке C#
  • Умеет реализовывать методы на языке C#
  • Способен выделять подпрограммы
  • Понимает основные принципы структурной декомпозиции программ
  • Способен решать задачи на вычисление конечных и бесконечных сумм с использованием языка C#
  • Различает методы решения задач, требующих вычисления конечных и бесконечных сумм
  • Умеет решать модельные задачи с использованием вложенных циклов
  • Умеет составлять программы на языке С# с циклическими алгоритмами
  • Умеет составлять программы на языке С# с разветвляющимися алгоритмами
  • Умеет составлять программы на языке С# с линейными алгоритмами
  • Способен составлять простые алгоритмы, используя алгоритмические конструкции и реализовывать их на C#
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Алгоритмизация и программирование на языке C#
    • Программы на языке C#. Сборки в .NET • Проекты и решения в Visual Studio. • Комментирование кода. • Типы данных в C#. • Переменные и операции. • Организация ввода/вывода в консоль.
  • Основные алгоритмические конструкции
    • Линейный и ветвящийся алгоритмы. • Логические выражения. • Условный оператор в C#, использование логических выражений в C#. • Циклические алгоритмы. • Реализация цикла с предусловием, цикла с постусловием и универсального цикла в C#.
  • Особенности решения задач с циклами
    • Вложенные циклы; • Вычисление конечных и бесконечных сумм; • Решение задач с использованием циклов в C#.
  • Структурная декомпозиция
    • Понятие об абстракции и инкапсуляции. • Понятие структурной декомпозиции и структурного проектирования программ-ных систем. • Подпрограммы. • Статические методы C#. • Параметры методов.
  • Рекуррентные соотношения. Рекурсия
    • Рекуррентные формулы. Рекуррентные последовательности. • Рекурсия прямая и косвенная. • Дерево рекурсии. • Понятие рекурсивных функций в математике и программировании.
  • Одномерные массивы
    • Одномерные массивы. • Создание массивов, заполнение массивов, обработка элементов массивов, преоб-разование массивов. • Особенности задач с одномерными массивами C#. • Передача массивов в методы.
  • Многомерные массивы
    • Понятие о матрицах в математике и программировании. • Свойства индексов элементов диагоналей квадратных матриц. • Массивы массивов в С#. • Многомерные массивы в С#. • Представление матриц многомерными массивами и массивами массивов.
  • Принципы разработки. Основы объектно-ориентированного программирования.
    • Классы и объекты • Объектовая инкапсуляция. • Полиморфизм • Реализация классов в C#
  • Отношения между классами
    • Виды отношений между классами и объектами • Наследование и его реализация на C# • Ассоциативные связи
  • Абстрактные типы данных. Структуры данных
    • Что такое абстрактные типы данных? • Последовательности • Списки
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторная работа
  • неблокирующий Лабораторная работа
  • неблокирующий Лабораторная работа
  • неблокирующий Компьютерная контрольная работа
    Соглашения о комментировании кода (https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/inside-a-program/coding-conventions) • Комментарий размещается на отдельной строке, а не в конце строки кода • Текст комментария начинается с заглавной буквы • Текст комментария завершается точкой • Между разделителем комментария (/ /) и текстом комментария вставляется один пробел • Вокруг комментариев не должно быть звездочек Критерии качества кода • Исходный код задокументирован в соответствии с соглашениями о документировании кода • Идентификаторы (имена переменных, методов, типов и т.д.) осмысленные и нарушают соглашения об именовании (например, однобуквенные, русскоязычные) • Выполнены соглашения по оформлению кода (https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/inside-a-program/coding-conventions) • Текст программы отформатирован o Запись только одного оператора в строке o Запись только одного объявления в строке o Если отступ для дополнительных строк не ставится автоматически, необходимо сделать для них отступ на одну позицию табуляции (четыре пробела) o Добавление по крайней мере одной пустой строки между определениями методов и свойств o Использование скобок для ясности предложений в выражениях, как показано в следующем коде.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.4 * Компьютерная контрольная работа + 0.2 * Лабораторная работа + 0.2 * Лабораторная работа + 0.2 * Лабораторная работа
Список литературы

Список литературы

Рекомендуемая основная литература

  • CLR via C# : программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Рихтер Дж., Матвеева, Е., 2017
  • Алгоритмы и структуры данных. Новая версия для Оберона + CD-ROM, Вирт Н., Ткачева Ф. В., 2012
  • С# и платформа .NET 3.0 : специальное изд., Троелсен Э., Щербинина В., 2008
  • Язык С#. Базовый курс : учеб. пособие для вузов, Подбельский В. В., 2011
  • Язык С#. Базовый курс : учеб. пособие для вузов, Подбельский В. В., 2013
  • Язык С#. Решение задач : учеб. пособие для вузов, Подбельский В. В., 2014

Рекомендуемая дополнительная литература

  • Язык программирования C# 6.0 и платформа. NET 4.6, Троелсен, Э., Джепикс, Ф., 2017