+7 (812) 703-02-02 info@hse.spbstu.ru

DEV-CSH100. Основы алгоритмизации и программирования (язык C#)

Длительность дисциплины: 60 ак.ч.


Аннотация

Целью реализации курса «DEV-CSH100. Основы алгоритмизации и программирования (язык C#)» является совершенствование имеющихся и (или) получение новых компетенций в области алгоритмизации и программирования на языках высокого уровня, начиная от формализации задачи и заканчивая оптимизацией и тестированием готового решения.


Знания и умения, полученные в результате изучения

В результате освоения программы, обучающийся должен уметь:

  • эффективно организовывать данные в памяти и применять допустимые операции к переменным стандартных типов данных, выполнять конвертацию данных разного типа;
  • использовать основные операторы языка высокого уровня (ЯВУ);
  • организовывать сложные типы данных в программе: массивы (одномерные, многомерные), структуры, строки, списки;
  • работать в интегрированной среде разработки и реализовывать с применением языка программирования разработанные алгоритмы;
  • пользоваться справочной документаций, средствами отладки среды разработки, знать структуру проекта.

В результате освоения программы обучающийся должен знать:

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

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

  • решения типовых алгоритмических задач, начиная от формализации задачи и заканчивая оптимизацией и тестированием готового решения;
  • работы в интегрированной среде разработки MS Visual Studio.

Содержание дисциплины

Тема 1. Теоретические основы информатики и программирования.
1.1 Программное и аппаратное обеспечение ЭВМ
1.2 Языки программирования: уровень и тип языка программирования, характеристики.
1.3 Характеристики разрабатываемой программы.
1.4 Основные принципы обработки команд программы исполнителем (компьютером).

Тема 2. Информация и данные.
2.1 Информация и данные.
2.2 Устройство памяти и переменные.
Практические занятия:
Решение практических задач по теме системы счисления, объявления переменных.

Тема 3. Алгоритмы и их представление.
3.1 Основные термины и определения.
3.2 Алгоритм и программа.
Практические занятия:
Решение практических задач по темам создание и тексто-графическое представление алгоритмов, объявление алгоритмов.

Тема 4. Базовые техники разработки программного обеспечения.
4.1 Язык программирования и его атрибуты.
4.2 Комментарии.
4.3 Переменные.
4.4 Оператор.
Практические занятия:
Объявление переменных, техника написания программного кода.

Тема 5. Базовые операции с переменными.
5.1 Оператор присваивания.
5.2 Типы переменных Типы переменных и их характеристики.
5.3 Константы Понятие константы.
5.4 Указатель или ссылка на переменную.
Практические занятия:
Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.

Тема 6. Оператор условия и оператор выбора.
6.1 Оператор условия.
6.2 Оператор выбора.
Практические занятия:
Приоритет операций, применение операторов условия, выбора.

Тема 7. Операторы цикла.
7.1 Оператор цикла с предусловием и постусловием.
7.2 Оператор цикла со счетчиком Цикл со счетчиком.
Практические занятия:
Применение операторов цикла.

Тема 8. Процедурный подход в программировании.
8.1 Декомпозиция задачи Декомпозиция задачи на подзадачи.
8.2 Виды подпрограмм и их использование и объявление.
Практические занятия:
Разработка подпрограмм, декомпозиция задачи.

Тема 9. Разработка функций. 
9.1 Разработка функций.
9.2 Использование аргументов.
Практические занятия:
Разработка функций, передача аргументов в функцию.

Тема 10. Организация данных в программе. Массивы.
10.1 Роль организации данных в программе..
10.2 Понятие массива. 
10.3 Массивы одномерные и многомерные. 
10.4 Понятие индекса и элемента массива. 
10.5 Подсчет объема памяти занимаемой массивом. 
10.6 Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов
Практические занятия:
Объявление массивов, алгоритмы работы с  массивами

Тема 11. Структура.
11.1 Пользовательский тип данных (структура). 
11.2 Объявление и использование пользовательского типа. 
11.3 Совместное использование пользовательских типов данных и массивов.
Практические занятия:
Объявление структур, алгоритмы работы со структурами

Тема 12. Обработка текстовой информации.
12.1 Представление текстовой информации. 
12.2 Понятие строка. 
12.3 Различные способы организации строковых данных. 
12.4 Работа с отдельными символами. 
12.5 Наиболее употребительные функции для работы со строками.
Практические занятия:
Алгоритмы работы со строками.

Тема 13. Использование интегрированной среды разработки.
13.1 Базовые операции.
13.2 Получение справки. 
Практические занятия:
Использование средств MS Visual Studio.
Инструменты отладки и получение справки.

Тема 14. Разработка проектов с использованием Windows Forms.
14.1 Разработка пользовательского интерфейса программы
14.2 Использование форм для разработки пользовательского интерфейса. 
14.3 Добавление элементов управления. Понятие объекта и класса. 
14.4 Настройка свойств, использование методов, обработка событий.
Практические занятия:
Разработка проекта с использованием оконного интерфейса.

Тема 15. Использование системы контроля версий.
15.1 Использование системы контроля версий
15.2 Понятие системы контроля версий. 
15.3 Репозиторий. 
15.4 Запись изменений. 
15.5 Основы ветвления. 
15.6 Основы слияния. 
15.7 Выполнение задачи в системе контроля версий.
Практические занятия:
Использование системы контроля версий.

Тема 16. Итоговоая аттестация