Skip to content

Latest commit

 

History

History
338 lines (253 loc) · 23.9 KB

readme.md

File metadata and controls

338 lines (253 loc) · 23.9 KB
Министерство образования и науки РФ
ГБПОУ РМЭ "Йошкар-Олинский Технологический колледж

Курс лекций по предмету
"Основы алгоримизации и программирования"
для группы И-21

Разработал:
Колесников Евгений Иванович
г.Йошкар-Ола, 2021
Варианты для других групп:

Лекции написаны в четырех вариантах:

  • для группы И-21 на примере языка C# (вариант master - основной)
  • для группы С-21 на примере языка Питон (вариант python_c21 - упрощенный)
  • для группы И-21 на примере языка Котлин (вариант kotlin - устаревший)
  • для группы И-21 на примере языка Питон (вариант python - устаревший)

Для переключения между вариантами нужно кликнуть по кнопке Branch и выбрать нужный:

Основы алгоримизации и программирования

Тема 1. Основные принципы алгоритмизации и программирования

  1. Основные понятия алгоритмизации. Понятие алгоритма. Свойства алгоритма. Формы записи алгоритмов. Общие принципы построения алгоритмов. Определение сложности работы алгоритмов.
  2. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. Программы для графического отображения алгоритмов
  3. Логические основы алгоритмизации. Основы алгебры логики. Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия. Законы логических операций. Таблицы истинности.

Лабораторные работы

  1. Разработка алгоритмов для конкретных задач. Определение сложности работы алгоритмов.
  2. Использование программ для графического отображения алгоритмов.
  3. Таблицы истинности

Тема 2. Языки и методы программирования

  1. Языки программирования. Эволюция языков программирования. Классификация языков программирования. Понятие системы программирования. Исходный, объектный и загрузочный модули. Интегрированная среда программирования.
  2. Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования. Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения.

Тема 3. Системы контроля версий

  1. Системы контроля версий.

Лабораторные работы

  1. Создание аккаунта и репозитория в СКВ gihtub. Создание консольного приложения и инициализация нового репозитория в проекте.

Тема 4. Программирование на языке C#. Основы.

  1. Основные элементы языка. Структурная схема программы на алгоритмическом языке. Лексика языка. Переменные и константы. Типы данных. Выражения и операции.
  2. Операторы и операции языка. Синтаксис операторов. Составной оператор. Вложенные условные операторы. Циклические конструкции.
  3. Массивы как структурированный тип данных. Объявление массива. Ввод и вывод одномерных и двумерных массивов. Обработка массивов. Стандартные функции для массива целых и вещественных чисел. Коллекции и последовательности.
  4. Строки. Объявление строковых типов данных. Поиск, удаление, замена и добавление символов в строке. Операции со строками. Стандартные функции и процедуры работы со строками.
  5. Объявление множества. Работа с датами. Кортежи.

Лабораторные работы

  1. Знакомство со средой программирования и структурой проекта. Создание репозитория с ветками. Составление программ линейной структуры.
  2. Отладка приложения
  3. Составление программ разветвляющейся структуры.
  4. Составление программ циклической структуры. Обработка одномерных и двумерных массивов.
  5. Работа со строковыми переменными.
  6. Работа с данными типа: множество, дата, кортежи.

Тема 5. Продвинутый C#: функции, лямбды, исключения, работа с файлами, многопоточность, регулярные выражения.

  1. Общие сведения о подпрограммах. Определение и вызов подпрограмм. Область видимости и время жизни переменной. Механизм передачи параметров. Лямбда-функции.
  2. Делегаты, события и лямбды
  3. Исключения. Null.
  4. Многопоточность. Потоки, асинхронные вычисления
  5. Работа с файловой системой и файлами.
  6. Типы файлов: CSV, XML, JSON.
  7. Регулярные выражения

Лабораторные работы

  1. Организация и использование функций.
  2. Исключения. NULL.
  3. Асинхронные вычисления.
  4. Работа с файлами
  5. Типы файлов, сериализация.
  6. Регулярные выражения.

Тема 6. Основные принципы объектно-ориентированного программирования

  1. История развития ООП. Базовые понятия: объект, его свойства и методы, класс, интерфейс. Основные принципы ООП: инкапсуляция, наследование, полиморфизм.
  2. Ещё раз про классы. Интерфейсы.
  3. LINQ
  4. Шаблоны проектирования.

Лабораторные работы

  1. ООП. Основы.
  2. ООП. Основы (CSV)
  3. ООП. Основы (JSON)
  4. ООП. Наследование.
  5. ООП. Интерфейсы.

Тема 7. Библиотеки классов.

  1. Библиотеки классов. Создание. Подключение. Динамическая загрузка сборок и позднее связывание.

Лабораторные работы

  1. Создание библиотеки классов

Тема 8. Оконные приложения.

  1. Обзор типов оконных приложений в C#. Знакомство со структурой проекта WPF/Avalonia. Компоновка. Image. Ресурсы.
  2. Ресурсы
  3. Привязка (Binding). Интерфейс INotifyPropertyChanged. Форматирование значений привязки и конвертеры значений.
  4. Элементы управления. Обзор.
  5. Каркас приложения. Модель данных. Привязка данных. Табличный вывод.
  6. Фильтрация данных
  7. Поиск, сортировка
  8. Вывод данных согласно макета (ListBox, Image)
  9. Стили, триггеры и темы
  10. Создание окон. Модальные окна
  11. Создание WPF-приложений по индивидуальным заданиям (подготовка к экзамену)

Лабораторные работы

  1. Создание WPF-приложения, знакомство с вариантами компоновки.
  2. Исследование визуальных компонентов WPF.
  3. Каркас приложения. Модель данных. Привязка данных.
  4. Получение данных из внешних источников. CSV.
  5. Получение данных из внешних источников. JSON.
  6. Фильтрация списка
  7. Поиск/сортировка
  8. Создание WPF-приложений по индивидуальным заданиям (подготовка к экзамену)