csbc-edu.github.io

Основи інформатики, програмування та алгоритмічні мови

2020-2021 н. р.

Викладач: Станіслав Віталійович Марченко


Курс викладається 2 семестри:


Дата Слайди Домашня робота Матеріали
  Література
С. Прата. Язык программирования С (6 издание);
Стандарт С11 (останній чорновик)
  Інструкція з оформлення звітів
I семестр (2020)
02.09. Тема 01. Огляд галузі розробки програмного забезпечення (2 години)
Підхід до задач, які вимагають програмування;
Навчання та професії в галузі ІТ
Екосистема розробки програмного забезпечення
Практична робота 01 (чорновик) Полный список профессий игровой индустрии;
Индустрия мобильной разработки: возможности и подводные камни;
Шпаргалка по bash;
Основні Git-команди;
These are the programming languages Google uses
09.09. Тема 02. Алгоритмічна основа програмування (4 години)
Місце алгоритмів у програмуванні
Структура програми мовою С
Управління ходом виконання програми мовою С
Підходи до налагодження програмного коду
Трансляція програмного коду
Практична робота 02. Алгоритмічна основа програмування (чорновик) Онлайн-сервіс для побудови блок-схем
Завантаження Dev C++
07.10. Тема 03. Програми та їх представлення в пам’яті комп’ютера (4 години)
Організація комп’ютерних систем
Представлення інформації в пам’яті комп’ютера
Типізація мов програмування
Організація програмного коду за допомогою функцій
Представлення програми в пам’яті
Практична робота 03 Правила переходу між системами числення;
Відеоурок: арифметичні операції в двійковій системі;
Формування логічних вентилів на базі транзисторів
04.11. Тема 04. Похідні типи даних у мові С (2 години)
Масиви та вказівники
Робота з рядками в мові програмування С;
Структури та інші похідні типи
Практична робота 04. Похідні типи даних у мові С
18.11. Тема 05. Організація обміну інформації з програмою (3 години)
Символьний ввід-вивід та верифікація вводу;
Розширене представлення даних
Практична робота 05. Організація обміну інформації з програмою
II семестр (2021)
25.01. Тема 06. Вступ до програмування мовою Python
Організація розробки Python-додатків;
Структура програми мовою Python;
Управляючі оператори мови програмування Python
Практична робота 06. Вступ до програмування мовою Python ;
Доступність задач з другого підрозділу пункту 3
Шпаргалка з синтаксису Python;
Шорткати PyCharm;
Новые фичи Python 3.8 и самое время перейти с Python 2
08.02. Тема 07. Структурне програмування мовою Python
Вбудовані структури даних у мові Python;
Організація Python-коду за допомогою функцій;
Стратегії налагодження Python-коду;
Дослідницьке кодування та інструменти налагодження Python-коду
Практична робота 07. Структурне програмування мовою Python Jupyter Notebook для начинающих: учебник
22.02. Тема 08. Основи об'єктно-орієнтованого програмування мовою Python
Принципи об'єктно-орієнтованого програмування;
Об'єкти в мові Python;
Схожість об'єктів: наслідування та поліморфізм;
ООП в дії;
Структури даних та об'єктно-орієнтоване програмування
Практична робота 08. Основи об'єктно-орієнтованого програмування мовою Python Загальний огляд ООП в мові Python;
6 Alternatives to Classes in Python
09.03. Тема 09. Основи модульного тестування коду мовою Python
Основні поняття в галузі тестування програмного забезпечення
Написання тестових наборів за допомогою фреймворку unittest
Практична робота 09. Основи модульного тестування коду мовою Python  
22.03. Тема 10. Основи роботи з файловою системою засобами Python
Робота з рядками та регулярними виразами;
Основи файлового вводу-виводу в Python;
Серіалізація об'єктів у мові Python. Консервування об'єктів;
Робота з серіалізаційним представленням json;
Робота з серіалізаційним представленням csv
Практична робота 10. Основи роботи з файловою системою засобами Python Python read/write/seek операции под капотом;
Репозиторій до книги Steven F. Lott - Mastering Object-Oriented Python, 2nd Edition (про файли глава 10)
05.04. Тема 11. Функціональне програмування в Python
Виконання програми в функціональному стилі
Функції, ітератори та генератори;
Функції вищого порядку та робота з колекціями даних
Практична робота 11. Функціональне програмування в Python Відеокурс до функціонального програмування (Культін)
15.04. Тема 12. Конкурентне програмування мовою Python
Основні поняття багатопоточного виконання коду;
Життєвий цикл потоку;
Синхронізація потоків;
Екзекутори та пули потоків;
Практична робота 12. Конкурентне програмування мовою Python  
29.04. Тема 13. Побудова простих графічних інтерфейсів та візуалізація даних
Розробка графічних інтерфейсів за допомогою бібліотеки TKinter (чорновик)
Бібліотека matplotlib та візуалізація даних (чорновик)
Практична робота 13. Побудова простих графічних інтерфейсів та візуалізація даних Інсталяція математичних бібліотек
Книга з програмними проектами
Навчальна практика (2021)
День 1. Види графіків у бібліотеці Matplotlib
Джерела даних у програмних проєктах (2 бали);
Типи графіків (4 бали, 2 пари);
50 оттенков matplotlib (резерв)
День 2. Робота з кольорами засобами matplotlib
Впровадження візуальних каналів на графіках (2 бали);
Робота з кольорами (1 бал);
Використання палітр кольорів для візуалізації даних (3 бали)
Как построить понятную и логичную визуализацию;
Visualization and Matplotlib Чтение данных из csv файла
День 3. Операції з растровою графікою
Робота з колірними каналами зображення (2 бали);
Попіксельна робота з растровими зображеннями (2 бали);
Інструменти мови Python для роботи з зображеннями (2 бали)
10 инструментов Python для работы с изображениями;
Зображення Лєни;
Ліве зображення суші;
Праве зображення суші;
День 4. Накладання елементарних фільтрів
Накладання елементарних фільтрів (5 балів, 2 пари) ;
Підготовка звіту з модуля (2 бали)
Рекомендації щодо оформлення звіту;
Шаблон звіту (минулорічний) Алгоритмы выделения контуров изображений