Алгоритмізація та програмування 2

Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 7.5.
Кількість аудиторних занять: 
16 годин лекційних занять, 46 години лабораторних робіт, 58 годин практичних робіт..
Індивідуальна робота: 
• очна форма — курсова робота.
Семестровий контроль: 
Exam. Protection of course work.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни

Мета дисципліни:

надання знань з теоретичних основ  алгоритмізації та програмування, оволодіння технікою застосування у програмуванні базових алгоритмічних структур і базових  структур даних, набуття  практичних навичок професійного  володіння  комп’ютером та процедурно-орієнтованою технологією  розробки програмних продуктів під  час вирішення прикладних завдань в області  комп’ютерних наук.

Завдання дисципліни:
  • вивчити типові алгоритмічні конструкції та засоби представлення алгоритму;
  • сформувати комплексне уявлення про етапи розробки програми, основні поняття та методи технологій програмування;
  • отримати знання про синтаксис і семантику базових конструктивних елементів мови програмування: лексем, виразів та операторів;
  • отримати знання про різновиди типів даних, як простих, так і складених (масивів, структур);
  • усвідомити особливості програмування функцій;
  • вивчити особливості програмування динамічних та файлових структур даних;
  • розвити навички основних прийомів структурного програмування; 
  • оволодіти прийомами та технологією налагодження та тестування програм;
  • отримати знання про основні вимоги до документування програмних продуктів;

 

 Програмні компетентності

  • Здатність застосовувати знання у практичних ситуаціях.
  • Здатність  аналізувати об’єкт проектування    або функціонування та його предметну область.
  • Здатність оволодіти сучасними технологіями програмування та тестування програмного забезпечення.

 

Програмні результати навчання

Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в ІСТ.

Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності.

 

Кількість аудиторних занять

16 годин лекційних занять, 46 години лабораторних робіт, 58 годин практичних робіт.

 

Форми організації освітнього процесу та види навчальних занять

  • Л – лекційні заняття;
  • ЛР – лабораторні роботи;
  • СРС – самостійна робота здобувача вищої освіти;
  • КР – курсова робота;
  • МКР – модульна контрольна робота;
  • К – консультації;
  • ПР – практині роботи.

 

Тематика та види навчальних занять

  • 1 тиждень
    • Л1. Багатовимірні масиви. Доступ до елементів. Операції з двовимірними масивами. [9, с.86-88]
    • ЛР1. Алгоритми оброблення двовимірних масивів Частина 1 [6, с.86-88]
    • ЛР2. Алгоритми оброблення двовимірних масивів Частина 2 [6, с.86-88]
    • ПР1. Побудова блок-схем лінійного та розгалужуючого алгоритмів. [6, c.214-216], [15,c.5-8]
    • ПР2. Задачі на побудову блок-схем алгоритмів. [6, c.214-218].
    • СРС. К.
  • 2 тиждень
    • ЛР3. Розробка програм пошуку та підсумування у двовимірному масиві. [6, с.86-88]
    • ПР3. Введення-вивід даних. Операція присвоювання. [8, c.32-36]
    • ПР4. Рішення задач лінійної структури. [6, c. 197-205], [15, c. 37-40]
    • СРС. К.
  • 3 тиждень
    • Л2. Поняття структури. Шаблони структур. Доступ до полів та операції над структурами. Складні структури. Масиви структур. [6, c. 461-465]
    • ЛР4. Алгоритми оброблення структур. Частина 1 [6, с.1154-1155]
    • ЛР5. Алгоритми оброблення структур. Частина 2 [6, с.1154-1155]
    • ПР5. Операції мови С ++.[6, c. 109-113]
    • ПР6. Розробка програм, використовуючи раніше вивчений матеріал. [6, c.61-62]
    • СРС. К.
  • 4 тиждень
    • ЛР6. Розробка програми з використанням масива структур. [6, c. 461-465]
    • ПР7. Оператори умовного розгалуження if і else. [6, c. 205-212]
    • ПР8. Оператор вибору switch-case. [6, c.281-282].
    • СРС. К.
  • 5 тиждень
    • Л3. Адреса і покажчики. Операції над покажчиками. Адресна арифметика. [6, c. 506-516]
    • ЛР7. Створення програм з покажчиками та адресами. Частина 1 [6, c. 506-516]
    • ЛР8. Створення програм з покажчиками та адресами. Частина 2 [6, c. 506-516]
    • ПР9. Програмування алгоритмів циклічної структури. Цикл while. [6, c. 212-114]
    • ПР10. Оператор циклу з післяумовою do while. [6, c.39-40].
    • СРС. К
  • 6 тиждень
    • ЛР9.Адресна арифметика. [6, c. 506-516]
    • ПР11. Рішення типових задач з оператором for [6, c.269-279].
    • ПР12. Програмування функцій у різних файлах. [6, c. 327-339]
    • СРС. К.
  • 7 тиждень
    • Л4. Покажчики та масиви. [6, c. 530-538]
    • ЛР10. Покажчики та одномірні масиви. Частина 1 [6, c. 530-535]
    • ЛР11. Покажчики та одномірні масиви. Частина 2 [6, c. 530-535]
    • ПР13. Робота з одновимірними масивами.  [6, c. 261-276]
    • ПР14. Сортування одновимірного масиву. [6, c.90-91]
    • СРС. К.
  • 8 тиждень
    • ЛР12.  Покажчики та двовимірні масиви. [6, c. 535-538]
    • ПР15. Робота з рядками. [6, c. 1034—1049]
    • ПР16. Алгоритми оброблення двовимірних масивів [6, с.86-88]
    • МК1.СРС. К.
  • 9 тиждень
    • Л5. Динамічні змінні. Динамічна пам'ять. Функції та оператори виділення та вивільнення динамічної пам'яті. [6, c. 1092-1093], [6, c. 668-670]
    • ЛР13. Виділення динамічної пам'яті для змінної. Частина 1 [6, c. 1092-1093],
    • ЛР14. Виділення динамічної пам'яті для змінної. Частина 2 [6, c. 1092-1093],
    • ПР17. Розробка програм пошуку та підсумування у двовимірному масиві. [6, с.86-88]
    • ПР18. Розробка програми з використанням структур. [6, с.1154-1155]
    • СРС. К.
  • 10 тиждень
    • ЛР15. Виділення динамічної пам'яті для одновимірного масиву. [6, c. 668-670]
    • ПР19. Розробка програми з використанням масива структур. [6, c. 461-465]
    • ПР20. Створення програм з покажчиками та адресами. [6, c. 506-516]
    • СРС. К.
  • 11 тиждень
    • Л6. Файли в мові С++. Стандартні потоки. Типи дискових файлів. Текстові файли. Відкриття та закриття файлів. [6, c. 988-1015] 
    • ЛР16. Виділення динамічної пам'яті для двовимірного масиву. Частина 1 [6, c. 668-670]
    • ЛР17. Виділення динамічної пам'яті для двовимірного масиву. Частина 2 [6, c. 668-670]
    • ПР21. Зміна адреси покажчиків. [6, c. 506-516]
    • ПР22. Покажчики та одномірні масиви. [6, c. 530-535]
    • СРС. К.
  • 12 тиждень
    • ЛР18 . Читання та запис інформації в текстовий файл. [6, c. 988-1015]
    • ПР23.  Покажчики та двовимірні масиви. [6, c. 535-538]
    • ПР24. Виділення динамічної пам'яті для змінної. [6, c. 1092-1093]
    • СРС. К.
  • 13 тиждень
    • Л7. Поняття бінарного файлу. Прямий (рандомний) доступ до файлу. Запис і читання файлів в масив структур. [6, c. 921-936]
    • ЛР19. Робота із декількома текстовими файлами. Частина 1 [6, c. 988-1015]
    • ЛР20. Робота із декількома текстовими файлами. Частина 2 [6, c. 988-1015]
    • ПР25. Виділення динамічної пам'яті для одновимірного масиву. [6, c. 668-670]
    • ПР26. Виділення динамічної пам'яті для двовимірного масиву. [6, c. 668-670]
    • СРС. К.
  • 14 тиждень
    • ЛР21 . Запис і читання об'єкта структури в бінарний файл. [6, c. 921-936]
    • ПР27 . Читання та запис інформації в текстовий файл. [6, c. 988-1015]
    • ПР28. Робота із декількома текстовими файлами. [6, c. 988-1015]
    • СРС. К.
  • 15  тиждень
    • Л8. Cтруктури даних в С++: вектори, списки, стеки, черги, деки, графи, дерева. [6, c. 1093-1171] 
    • ЛР22. Реалізація прямого доступу до файлів. Частина 1 [6, c. 921-936]
    • ЛР23. Реалізація прямого доступу до файлів. Частина 2 [6, c. 921-936]
    • ПР29. Функції читання і запису в бінарні файли. [6, c. 921-936]
    • МКР2.СРС. К.

 

Індивідуальна робота

Виконується КР. 

Мета КР: набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань з теми " Рішення задач з використанням структур".

  • 1–9 тижні Отримання завдання. Підбір літератури з обраної теми. Написання теоретичного та практичного розділів куросвої роботи.
  • 9-15 тиждень Аналіз написаної роботи з точки зору відповідності вимогам до оформлення і до змісту куросвої роботи. Формування остаточного варіанту куросвої роботи. Захист курсової роботи.

 

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

Самостійна робота складає 105 годин. Розподіл самостійної роботи за видами навчальних робіт:

  • підготовка до лекційних занять – 15 годин;
  • підготовка до лабораторних робіт–15 годин;
  • підготовка до практичних робіт – 15 годин;
  • виконання КР – 30 годин;
  • підготовка до екзамену – 30 годин.

 

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на 2 семестрові модулі у 2 семестрі. Здобувачі протягом семестру готуються до лекційних та лабораторних робіт, виконують 2 модульні контрольні роботи, КР.

Модульні контрольні роботи виконуються у письмовій формі. Модульна робота складається з теоретичної частини (1 запитання) та практичної частини (1 задача). Відповідь на  теоретичне питання оцінюється 10 балами. Правильне розв’язання задачі оцінюється в 10 балів.

Кожний модуль оцінюється у максимально можливі 50 балів.

Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни у кожному семестрі – 100 балів. 

Семестровий модуль № 1

ЛР1- ЛР8.  – 15 балів. 
ПР1 - ПР14 – 15 балів.
МКР1. – 20 балів (8 тиждень). 

Семестровий модуль № 2

ЛР9- ЛР15.  – 15 балів. 
ПР15 – ПР29 – 15 балів.
МКР2. – 20 балів (15 тиждень).

Курсова оцінюється окремо у максимально можливі 100 балів:

Семестровий модуль № 1 КР(ч.1).– 50 балів 
Семестровий модуль № 2 КР(ч.2).– 50 балів.

Підсумковим контролем з дисципліни в першому семестрі є екзамен, білет до якого складається з теоретичної частини (2 запитання по 25 балів) та практичної частини (1 задача – 50 балів). Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів. 

 

Умови допуску до підсумкового контролю

До екзамену допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %.

Екзамен відбувається за всіма тематичними (змістовними) модулями 1 семестру дисципліни.

Складання/перескладання екзаменів організується за встановленим відділом аспірантури розкладом.

 

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. 

Дотримуватись принципів академічної доброчесності. 

Виконаний не свій варіант завдання здобувачем не оцінюється.

Робота, яка виконана після встановлених викладачем термінів, не приймається.

Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».

Складання/перескладання екзаменів – за встановленим деканатом розкладом.

Під час лекції здійснювати телефонні дзвінки забороняється.

Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження модульних контролів з дисципліни

 

РЕКОМЕНДОВАНА ЛІТЕРАТУРА

  1. Вірт Н. Алгоритми і структури даних: Пер. з англ. / Н. Вірт. - СПб .: Невський діалект, 2008. - 352 с. Режим доступу: http://snilit.tspu.ru/uploads/files/default/virt.pdf
  2. Павловська Т.О. С / С ++: Програмування на мові високого рівня. - СПб .: Пітер, 2005. - 461 с. Режим доступу http://cph.phys.spbu.ru/documents/First/books/7.pdf
  3. Пахомов Б.І. С / С ++ і MS Vssual C ++ 2010 року для початківців. СПб.: БХВ-Петербург, 2008 Режим доступу: https://proklondike.net/books/cpp/pahomov-c-i-ms-visual-c-2010-dlya-nach...
  4. Джесс Ліберті. Опановуй самостійно С ++. 3 і-е. М .: Вільямс. - 2000. Режим доступу: https://royallib.com/read/liberti_dgess/osvoy_samostoyatelno_s_za_21_den...
  5. Г. Шілдт. Повний довідник по С ++. 4-е видання. - М .: Вільямс. - 2006. - 791 с. Режим доступу: http://sharpened.ucoz.ru/lib/polnyj_spravochnik_po_c-gerbert_shildt-2006...
  6. Х. Дейтел Х. М., Дейтел П. Дж. Як програмувати на С ++. -М .: Біном, 2008. - 1 454 с. Режим доступу: http://lib.maupfib.kg/wp-content/uploads/2015/12/c-.pdf
  7. Бйорн Страуструп Мова програмування С ++. - М .: Біном, 2011. - 1 136 с.  Режим доступу: http://8361.ru/6sem/books/Straustrup-Yazyk_programmirovaniya_c.pdf
  8. Прата С. Мова програмування С ++. Лекції і вправи: пров. з англ. / С. Прата. - 5-е изд. - М.: Вільямс, 2006. - 960 с. Режим доступу: http://www.dut.edu.ua/uploads/l_1061_59682868.pdf
  9. Дінман М.І. - C ++ Опановуй на прикладах -СПб.: БХВ-Петербург, 2006 - 384 с. Режим доступу: http://mirknig.su/knigi/programming/155386-c-osvoy-na-primerah.html
  10. Подбельский, В. В. Мова С ++ / В. В. Подбельский. - M.: ФиС, 2001.  Режим доступу: https://www.twirpx.com/file/1361101/
  11. С.В. Глушаков. Практикум по С ++. ФОЛІО - 2006.  Режим доступу: https://www.litmir.me/bd/?b=276260
  12. Ю.Л. Кетков. Введення в мови програмування C і C ++ 290с. Режим доступу: http://mirknig.su/knigi/programming/20686-vvedenie-v-yazyki-programmirov...
  13. Кнут, Д. Мистецтво програмування: т. 1-3. Основні алгоритми / Д. Кнут. - М.: Видавничий дім «Вільямс», 2004. Режим доступу: https://proklondike.net/books/thalg/knut_art1.html
  14. Ахо Хопкрофта Ульман. Структури даних і алгоритми. - М .: Вільямс, 2000. - 384 с. Режим доступу: http://snilit.tspu.ru/uploads/files/default/computer_algorithms.pdf
  15. Косенко О.Д. Методичні вказівки до лабораторних робіт з дисципліни  «Алгоритмізація та програмування»  

 

ІНФОРМАЦІЙНІ РЕСУРСИ

  1. http://www.intuit.ru/department/pl/cpp/
  2. http://www.intuit.ru/department/pl/ccpp/
2019