Перейти до вмісту
Система сертифікації ІТ-дисциплін
Система сертифікації ІТ-дисциплін
  • Головна
  • Для ІТ-спеціалістів
  • Для викладачів
  • Силабуси
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster

Основи програмування

Home / / Основи програмування

Розробники та рецензенти

Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:

Валідація:

Опис зображення
Розробник навчальної програми:

Любченко Наталія Юріївна — к.т.н., доцент, доцент кафедри «Інформатики та інтелектуальної власності» Національного технічного університету «Харківський політехнічний інститут».

Базова інформація

Шифр та назва спеціальності:
122 - Комп'ютерні науки
Назва освітньо-наукової програми
Комп'ютерні науки
Назва дисципліни
Основи програмування
Вид дисципліни
Основна
Блок дисципліни
Алгоритмізація і програмування
Кількість студентів
Курс/Семестр
2

Загальна інформація про дисципліну

Анотація
Завданням дисципліни є набуття студентами теоретичних знань про принципи побудови сучасних мов програмування, вивчення основних конструкцій мов, типових задач алгоритмічного програмування, набуття досвіду роботи в інтегрованому середовищі розробки програм (на прикладі компілятора Visual Studio С++) та проходженні повного циклу розробки (розробка алгоритму — кодування — компіляція — відлагодження — документування). Предметом вивчення навчальної дисципліни є основи алгоритмічного мислення, а також фундаментальні підходи до процедурного та об’єктно-орієнтованого програмування
Анотація
Метою курсу є ознайомлення з основними середовищами та технологіями програмування, основами створення програмних продуктів, вивчення основних понять процедурного та об’єктно-орієнтованого програмування, а також базових понять алгоритмічного програмування, методів аналізу та реалізації найпростіших алгоритмів засобами мови програмування С++.
Анотація
Лекції, лабораторні роботи, практичні заняття, самостійна робота. Підсумковий контроль – іспит
Розподіл часу
Загальний обсяг (кредитів): ; Лекції (занять): 64; Лабораторні (занять): 64; Практичні (занять): 64; Самостійна робота (годин): 168
Попередні дисципліни
Вступ до комп'ютерних наук та інформаційних технологій, Математичний аналіз
Матеріально-технічне та програмне забезпечення дисципліни
Комп'ютери з ОС Windows (або інше),Visual Studio (або інше), доступ до Internet.
Структура дисципліни

Змістовий модуль 1 – Системи числення
Тема 1. Арифметичні та логічні основи комп’ютера

Мета  та  завдання  дисципліни.  Загальні відомості про дисципліну, її зв'язок з іншими дисциплінами. Поняття про системи числення (позиційну та непозиційну). Перетворення двійкових,  вісімкових,  десяткових  та  шістнадцяткових  чисел  в  інші  системи  числення. Арифметичні дії над двійковими числами.

  • Практика: Переклад чисел між системами.

Змістовий модуль 2 – Алгоритми, мова програмування, базові типи даних
Тема 2. Аналіз алгоритмів програм

Основні алгоритмічні блоки. Алгоритми та програми. Блок-схема як засіб графічного зображення алгоритмів. Лінійні алгоритми. Алгоритми з розгалуженням. Цикли та циклічні структури. Ємнісна складність алгоритмів. Часова складність алгоритмів. Алгоритми логарифмічної, лінійної, поліноміальної та експоненційної складності.

Практика: Створення та аналіз базових алгоритмів.

Тема 3. Введення в програмування

Введення до програмування. Види ПЗ. Етапи розробки ПЗ. Структура програми, літерали, синтаксис мови, змінні та константи, сфера їх дії. Інтегроване середовище редагування, налагодження, компіляції та створення програм. Найменування змінних, обмеження на використання певних символів. Типи даних, їх розміри. Ключові слова. Константи. Оголошення змінних.
Лабораторна: Робота в Visual Studio, налагодження програми.

Тема 4. Базові типи даних

Цілі та дійсні числа. Символьні дані, коди та алгоритми кодування. Логічні дані. Адресні дані та адресна арифметика. Фізичний рівень подання базових типів даних, системи адресації. Поняття типізації у мовах програмування.
Лабораторна: Робота з простими програмами.

Тема 5. Введення/виведення в С/С++

Структура програми. Область дії змінних. Перетворення типів. Введення/виведення  в мові С. Стандартні функції введення/виведення мов С та С++. Використання коментарів. Директиви препроцесора
Лабораторна: Програма для обчислення формул.

Тема 6. Основні операції в С/С++

Таблиця пріоритетів. Операції присвоєння. Повна та скорочена форма операції присвоєння. Операції інкремента та декремента. Арифметичні операції та математичні функції мови С/С++. Логічні та побітові операції. Пріоритет виконання операцій
Лабораторна: Побітові операції, математичні функції.

Змістовий модуль 3 – Оператори управління програмою
Тема 7. Умовні оператори

Структури управління. Структура вибору if. Структура вибору if/else. Обробка складних умов в мові С/С++. Багатоваріантний вибір switch. Приклади програм з реалізованими структурами управління.
Лабораторна: Перевірка попадання точки в область.

Тема 8. Оператори циклу

Три види операторів циклу. Вкладені цикли. Структура повторення for. Блок-схема алгоритму структури for. Синтаксис структури for. Приклади структур for. Структура циклу з передумовою while. Структура циклу з післяумовою do/while. Рекомендації щодо вибору структур повторення в залежності від алгоритму. Приклади програм з реалізованими структурами повторення. Оператори break i continue.       
Лабораторна: Сума ряду, табулювання функцій.

Змістовий модуль 4 – Масиви
Тема 9. Статичні масиви

Статичні одновимірні та багатовимірні масиви. Алгоритми упорядкування масивів. Лінійний пошук, бінарний пошук. Стратегії упорядкування.

Тема 10.  Робота  з одновимірними масивами.

Масиви як структурований тип даних. Визначення масивів. Синтаксис об'яви масивів. Поняття “елемент масиву” та “індекс масиву”. Синтаксис використання масивів. Алгоритми роботи з послідовностями. Сортування одновимірних масивів. Алгоритми пошуку в одновимірних масивах.

Тема 11. Багатовимірні масиви

Приклади програм з багатовимірними масивами. Особливості реалізації двовимірних масивів. Зв’язок між лінійним та багатовимірним індексами.
Лабораторні: Сортування, пошук, робота з матрицями.

Змістовий модуль 5 – Функції

Тема 12. Загальні поняття щодо структурного програмування Тема 13.   Функції користувача в мові С/С++ Тема 14. Рекурсія.. Лабораторні: Створення функцій, передача масивів, рекурсивні задачі.

Змістовий модуль 6 – Структури
Тема 15. Робота зі структурами. Створення власних типів даних за допомогою структур. Об’ява структур. Об’ява структурних змінних. Доступ до елементів структури. Використання масивів структур. Використання структур з функціями.
Лабораторна: Введення і сортування таблиці.

Змістовий модуль 7 – Покажчики
Тема 16. Покажчики та динамічна пам’ять. Моделі пам’яті у С та їх особливості. Модель процесу виконання програми, адресний простір процесу; його поділ на частини (код, постійно існуючі дані, динамічна пам’ять, стекова, специфікатор static). 
Лабораторна: Обробка масивів за допомогою покажчиків.

Змістовий модуль 8 – С-рядки
Тема 17. Поняття С-рядків. Логічна структура, подання, операції, алгоритми, засоби обробки рядків у мові програмування С.
Лабораторна: Обробка рядків, реалізація функцій без бібліотек.

Тема 18. Робота з рядками в С/С++.C-рядки, особливості масивів символів.  Функції роботи з рядками. Покажчики, символьні рядки, функції.  Зображення рядків у програмах. Тип рядків string.

Змістовий модуль 9 – Файлова організація даних

Тема 19. Вступ до організації зовнішніх даних. Файлові структури. Фізичне та логічне подання даних на зовнішній пам'яті. Файл як тип даних. Файл у програмі та в операційній системі. Операції над файлами та над даними файлів. Файлові системи. Системні каталоги.
Лабораторні: Робота з файлами, запис/читання структур. Тема 20. Файлове введення/виведення. Стандартне та пряме виведення. Загальні уявлення про файлову систему. Ієрархія даних. Файли і потоки. Стандартні методи для роботи з файлами. Створення файлів послідовного доступу. Читання з файлів послідовного доступу. Приклади програм.

Змістовий модуль 10 – Списки
Тема 21. Списки
Лабораторна: Реалізація меню для роботи зі списком.

Змістовий модуль 11 – Графи
Тема 22. Графи, дерева, подання, алгоритми
Лабораторна: Перетворення представлення графа.

Змістовий модуль 12 – Об’єктно-орієнтоване програмування
Тема 23. Загальні положення мови С++Тема 24. Класи, конструктори, деструктори

Тема 24. Введення в класи. Конструктори та деструктори
Лабораторні: Створення класів, обробка об’єктів.

Теми та завдання для самостійної роботи
  1. Проріджені масиви. Упорядкування розподіленням. Упорядкування злиттям. Таблиці прямого доступу.
  2. Стеки, черги, деки. Використання у програмних та інформаційних системах. Організація черг та стеків. Вирішення прикладних задач із застосуванням стеків.
  3. Циклічні списки. Використання списків у програмних та інформаційних системах. Текстові процесори.
  4. Алгоритми на графах. Алгоритм Дейкстри. Пошук найкоротшого шляху між парами вершин. Остовні дерева мінімальної вартості. Алгоритм Флойда. Порівняння алгоритмів Флойда та Дейкстри. Пошук у глибину. Пошук у ширину.
  5. Алгоритми обробки деревоподібних структур. Базові визначення. Впорядковані та невпорядковані дерева. Прямий, зворотний та симетричний обходи дерев. Бінарні дерева. Представлення бінарних дерев. Алгоритми побудови бінарного дерева та пошуку в бінарних деревах.
  6. Опрацювання лекційного матеріалу
  7. Підготовка до практичних та лабораторних занять
  8. Виконання індивідуальних завдань  (РЗ та КР)
Проєкт
  • Розрахункове завдання (1 семестр). Порівняльний аналіз методів сортувань.
Вивчити методи сортування, в звіті привести докладний опис методів. Програмно реалізувати методи сортування масивів. Розробити і програмно реалізувати засіб для проведення експериментів по визначенню часових характеристик алгоритмів сортування. Побудувати графік залежності часу виконання алгоритму сортування від кількості елементів у відсортованому масиві при сортуванні упорядкованих, неупорядкованих і упорядкованих в зворотному порядку масивів
  • Курсова робота (2 семестр). Вивчення технології візуального проектування і подієвого програмування. Створення діалогового вікна і написання функцій обробки подій. Створення програми за допомогою призначеного для користувача інтерфейсу для Windows Form
Рекомендовані джерела інформації та навчальні матеріали
  1. Керниган Б. В., Ритчи Д. М. Язык программирования Си: Пер. с англ. – 3-е изд.– СПб.: Невский Диалект, 2001.– 352 с.
  2. Страуструп, Бьерн Язык программирования С++. Краткий курс. М.: ДМК Пресс, 2018. - 446 с.
  3. Уэйт М., Прата С., Мартин Д. Язык Сп. Руководство для начинающих М.: Мир, 1988. – 512 с.
  4. Саттер Г., Александреску А. Стандарты программирования на С++. М., СПб, Киев: "Вильямс", 2008. - 224 с.
  5. МакГрат М. Программирование на С для начинающих. М., Эксмо, 2016. – 192 с.
  6. Мейерс С. Эффективный и современный С++. - М.: ДМК Пресс, 2015. 363 с.
  7. Шилдт Г. Полный справочник по С++, 4-е изд.: Пер. с англ. М.: Изд. дом "Вильямс", 2006. – 800 с.
  8. Дерев'янко О.С., Любченко Н.Ю., Клименко А.М., Сомхієва О.С. Мова програмування С. Лабораторний практикум. / Навчально-методичний посібник. - Харків- НТУ "ХПІ". – 2011. – 196 с.
  9. Любченко Н. Ю., Соболь М.О., Паржин Ю.В., Пугачов Р.В. Основи програмування на С/С++ в прикладах. /Навчально-методичний посібник. - Харків: НТУ "ХПІ". – 2021. – 120 с.
  10. Лабораторний практикум. Частина 1 (C) http://khpi-iip.mipk.kharkiv.edu/library/pgm/lab/index.htm Справка по С++ http://ru.cppreference.com/w/
  11. MAXimal. Электронные версии различных книг по алгоритмам и языку С++ http://www.e-maxx.ru./bookz/
Контрольні заходи
    • Контрольна робота з теми 1 – системи числення та арифметика у різних системах.

    • Захист лабораторних робіт (Теми 2–24) – перевірка виконання практичних і лабораторних завдань.

    • Модульні контрольні роботи (МКР):

      • Модульна контрольна робота №1 – після модуля 3 (1 семестр)

      • Модульна контрольна робота №2 – після модуля 5 (1 семестр)

      • Модульна контрольна робота №3 – після модуля 8 (2 семестр)

      • Модульна контрольна робота №4 – після модуля 12 (2 семестр)

    • Розрахункове завдання (1 семестр) – реалізація і аналіз методів сортування.

    • Курсова робота (2 семестр) – візуальне проектування, подієве програмування.

    • Іспит (обидва семестри) – підсумкова співбесіда з теорії та практики.

Результати навчання

Зв'язок з ринком праці

Спеціальність/професія, підготовці до діяльності в якій читається курс:
Розробник серверної частини
Посилання на вакансії (понад 3),
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.

Інструменти оцінювання результатів навчання за дисципліною

  • Поточний контроль:

    • Захист лабораторних робіт (перевірка програмної реалізації, пояснення рішення, демонстрація результатів)

    • Оцінювання практичних занять (активність, правильність розв’язання задач)

    • Оцінка підготовки до занять та самостійної роботи

  • Контрольні роботи:

    • Тематичні контрольні завдання (наприклад, за системами числення)

    • Модульні контрольні роботи після завершення відповідних змістовних модулів (усього 4 роботи за два семестри)

  • Індивідуальні завдання:

    • Розрахункове завдання (РГЗ) – оцінювання реалізації алгоритмів, проведення експериментів, побудова графіків

    • Курсова робота (КР) – оцінювання функціональності програмного продукту, пояснювальної записки та презентації

  • Самостійна робота:

    • Виконання додаткових програмних завдань (робота з масивами, списками, графами, деревами тощо)

    • Оцінка коду, логіки алгоритмів, відповідності технічному завданню

  • Підсумковий контроль:

    • Іспит у формі співбесіди — перевірка теоретичних знань і розуміння принципів розробки програм

Залишити відповідь Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Недавні записи

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Останні коментарі

  1. polina до Криптографія та стеганографія
  2. olena до Організаційна зустріч 23.06.2025
  3. admin до Технології розробки мобільних додатків

Категорії

  • Записи

Сторінки

  • Головна
  • Для викладачів
  • Для ІТ-спеціалістів
  • Інструкція для викладача
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster
  • Силабуси

Архіви

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Календар

Квітень 2026
Пн Вт Ср Чт Пт Сб Нд
 12345
6789101112
13141516171819
20212223242526
27282930  
« Чер    

Тема WordPress Project Management від Misbah WP | Працює на WordPress