DEV-CSH100. Основы алгоритмизации и программирования (язык C#) [2022]
Высшая инженерная школа СПбПУ (Санкт-Петербургский Политехнический Университет)
Александр Щукин
Целью реализации курса «DEV-CSH100. Основы алгоритмизации и программирования (язык C#)» является совершенствование имеющихся и (или) получение новых компетенций в области алгоритмизации и программирования на языках высокого уровня, начиная от формализации задачи и заканчивая оптимизацией и тестированием готового решения.
В результате освоения программы, обучающийся должен уметь:
- Эффективно организовывать данные в памяти и применять допустимые операции к переменным стандартных типов данных, выполнять конвертацию данных разного типа;
- Использовать основные операторы языка высокого уровня (ЯВУ);
- Организовывать сложные типы данных в программе: массивы (одномерные, многомерные), структуры, строки, списки;
- Работать в интегрированной среде разработки и реализовывать с применением языка программирования разработанные алгоритмы;
- Пользоваться справочной документаций, средствами отладки среды разработки, знать структуру проекта.
- Основополагающие понятия информатики: алгоритм, программа, исполнитель алгоритмов, информация, данные, системы счисления и другие;
- Принципы построения ЭВМ с архитектурой фон Неймана и принципы выполнения программ и обработки данных на таких машинах, понимать парадигму машины Тьюринга;
- Основополагающие понятия программирования: формальные языки, язык программирования, классификация и характеристики языков программирования, этапы разработки программного обеспечения, жизненный цикл программного продукта;
- О представлении данных разных типов в памяти ЭВМ, по обработке этих типов данных в программе.
- Решения типовых алгоритмических задач, начиная от формализации задачи и заканчивая оптимизацией и тестированием готового решения;
- Работы в интегрированной среде разработки MS Visual Studio.
Тема 1 - Теоретические основы информатики и программирования.
1.1 Программное и аппаратное обеспечение ЭВМ
1.2 Языки программирования: уровень и тип языка программирования, характеристики.
1.3 Характеристики разрабатываемой программы.
1.4 Основные принципы обработки команд программы исполнителем (компьютером).
1.2 Языки программирования: уровень и тип языка программирования, характеристики.
1.3 Характеристики разрабатываемой программы.
1.4 Основные принципы обработки команд программы исполнителем (компьютером).
Тема 2 - Информация и данные.
2.1 Информация и данные.
2.2 Устройство памяти и переменные.
2.2 Устройство памяти и переменные.
Практические занятия:
Решение практических задач по теме системы счисления, объявления переменных.
Тема 3 - Алгоритмы и их представление.Решение практических задач по теме системы счисления, объявления переменных.
3.1 Основные термины и определения.
3.2 Алгоритм и программа.
3.2 Алгоритм и программа.
Практические занятия:
Решение практических задач по темам создание и тексто-графическое представление алгоритмов, объявление алгоритмов.
Тема 4 - Базовые техники разработки программного обеспечения.Решение практических задач по темам создание и тексто-графическое представление алгоритмов, объявление алгоритмов.
4.1 Язык программирования и его атрибуты.
4.2 Комментарии.
4.3 Переменные.
4.4 Оператор.
4.2 Комментарии.
4.3 Переменные.
4.4 Оператор.
Практические занятия:
Объявление переменных, техника написания программного кода.
Тема 5 - Базовые операции с переменными.Объявление переменных, техника написания программного кода.
5.1 Оператор присваивания.
5.2 Типы переменных Типы переменных и их характеристики.
5.3 Константы Понятие константы.
5.4 Указатель или ссылка на переменную.
5.2 Типы переменных Типы переменных и их характеристики.
5.3 Константы Понятие константы.
5.4 Указатель или ссылка на переменную.
Практические занятия:
Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.
Тема 6 - Оператор условия и оператор выбора.Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.
6.1 Оператор условия.
6.2 Оператор выбора.
6.2 Оператор выбора.
Практические занятия:
Приоритет операций, применение операторов условия, выбора.
Тема 7 - Операторы цикла.Приоритет операций, применение операторов условия, выбора.
7.1 Оператор цикла с предусловием и постусловием.
7.2 Оператор цикла со счетчиком Цикл со счетчиком.
7.2 Оператор цикла со счетчиком Цикл со счетчиком.
Практические занятия:
Применение операторов цикла.
Тема 8 - Процедурный подход в программировании.Применение операторов цикла.
8.1 Декомпозиция задачи. Декомпозиция задачи на подзадачи.
8.2 Виды подпрограмм и их использование и объявление.
8.2 Виды подпрограмм и их использование и объявление.
Практические занятия:
Разработка подпрограмм, декомпозиция задачи.
Тема 9 - Разработка функций.Разработка подпрограмм, декомпозиция задачи.
9.1 Разработка функций.
9.2 Использование аргументов.
9.2 Использование аргументов.
Практические занятия:
Разработка функций, передача аргументов в функцию.
Тема 10 - Организация данных в программе. Массивы.Разработка функций, передача аргументов в функцию.
10.1 Роль организации данных в программе..
10.2 Понятие массива.
10.3 Массивы одномерные и многомерные.
10.4 Понятие индекса и элемента массива.
10.5 Подсчет объема памяти занимаемой массивом.
10.6 Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов
10.2 Понятие массива.
10.3 Массивы одномерные и многомерные.
10.4 Понятие индекса и элемента массива.
10.5 Подсчет объема памяти занимаемой массивом.
10.6 Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов
Практические занятия:
Объявление массивов, алгоритмы работы с массивами
Тема 11 - Структура.Объявление массивов, алгоритмы работы с массивами
11.1 Пользовательский тип данных (структура).
11.2 Объявление и использование пользовательского типа.
11.3 Совместное использование пользовательских типов данных и массивов.
11.2 Объявление и использование пользовательского типа.
11.3 Совместное использование пользовательских типов данных и массивов.
Практические занятия:
Объявление структур, алгоритмы работы со структурами
Тема 12 - Обработка текстовой информации.Объявление структур, алгоритмы работы со структурами
12.1 Представление текстовой информации.
12.2 Понятие строка.
12.3 Различные способы организации строковых данных.
12.4 Работа с отдельными символами.
12.5 Наиболее употребительные функции для работы со строками.
12.2 Понятие строка.
12.3 Различные способы организации строковых данных.
12.4 Работа с отдельными символами.
12.5 Наиболее употребительные функции для работы со строками.
Практические занятия:
Алгоритмы работы со строками.
Тема 13 - Использование интегрированной среды разработки.Алгоритмы работы со строками.
13.1 Базовые операции.
13.2 Получение справки.
13.2 Получение справки.
Практические занятия:
Использование средств MS Visual Studio.
Инструменты отладки и получение справки.
Тема 14 - Разработка проектов с использованием Windows Forms.Использование средств MS Visual Studio.
Инструменты отладки и получение справки.
14.1 Разработка пользовательского интерфейса программы
14.2 Использование форм для разработки пользовательского интерфейса.
14.3 Добавление элементов управления. Понятие объекта и класса.
14.4 Настройка свойств, использование методов, обработка событий.
14.2 Использование форм для разработки пользовательского интерфейса.
14.3 Добавление элементов управления. Понятие объекта и класса.
14.4 Настройка свойств, использование методов, обработка событий.
Практические занятия:
Разработка проекта с использованием оконного интерфейса.
Тема 15 - Использование системы контроля версий.Разработка проекта с использованием оконного интерфейса.
15.1 Использование системы контроля версий
15.2 Понятие системы контроля версий.
15.3 Репозиторий.
15.4 Запись изменений.
15.5 Основы ветвления.
15.6 Основы слияния.
15.7 Выполнение задачи в системе контроля версий.
15.2 Понятие системы контроля версий.
15.3 Репозиторий.
15.4 Запись изменений.
15.5 Основы ветвления.
15.6 Основы слияния.
15.7 Выполнение задачи в системе контроля версий.
Практические занятия:
Использование системы контроля версий.
Тема 16 - Итоговоая аттестацияИспользование системы контроля версий.
Примечание: данный курс входит первым модулем в общую программу переподготовки по направлениям "Тестирование программного обеспечения" и "Программист (Язык C#)". С целью организации данной программы по частям в процессе прохождения модуля мною будут оформлены следующие модули программы, если к ним будет интерес.
Продажник