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

ID: 5997
Навчальна дисципліна професійної підготовки
Год внедрения: 
2020.
Количество кредитов ЭКТС: 
7.50.
Содержит курсовую работу
Форма контроля: 
Экзамен. Защита курсовой работы.
Преподаватель: 
ст.викладач Косенко О.Д.
Количество аудиторных занятий: 
30 годин лекційних занять, 60 години лабораторних робіт..

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

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

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

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

 

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

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

 

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

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

 

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

30 годин лекційних занять, 60 години лабораторних робіт.

 

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

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

 

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

  • 1 тиждень
    • Л1. Введення в архітектуру комп’ютера. Поняття алгоритму. Властивості алгоритму. Вимоги до алгоритмів та способи їх опису. Графічна схема алгоритму. [6, c.199-200]
    • ЛР1. Побудова блок-схем лінійного та розгалужуючого алгоритмів. [6, c.214-216], [15,c.5-8]
    • ЛР2. Побудова блок-схем циклічних алгоритмів. [6, c.217-218], [15, c.12-15]
    • СРС. К. 
  • 2 тиждень 
    • Л2. Історія розвитку мов програмування. Класифікації мов програмування. Основні кроки розробки програми на С ++. [6, c.61-62]
    • ЛР3. Задачі на побудову блок-схем алгоритмів. [6, c.214-218], []
    • ЛР4. Інтегроване середовище розробки програм. [15, c.17-24]
    • СРС. К. 
  • 3 тиждень
    • Л3. Основні поняття мови програмування С++. Введення і виведення даних. [8, c.32-36]
    • ЛР5. Введення-вивід даних. Операція присвоювання. [8, c.32-36]
    • ЛР6.  Складання лінійних програм. [6, c. 197-205], [15, c. 37-40]
    • СРС. К. 
  • 4 тиждень 
    • Л4. Типи даних. Сумісність типів. Перетворення типів даних. [1, c. 23-26], [5, c. 40-42] ЛР7. Рішення задач лінійної структури. [6, c. 197-205], [15, c. 37-40]
    • ЛР8.  Типи даних в С++.[1, c. 23-26], [5, c. 40-42] 
    • СРС. К. 
  • 5 тиждень 
    • Л5. Константи, літерали, змінні, вирази. Арифметичні операції мови С++. Операції відносин і логічні оператори. Пріоритети операцій. [6, c. 109-113], [6, c. 294-299]
    • ЛР9. Операції мови С ++.[6, c. 109-113]
    • ЛР10. Стандартні математичні функції. [6, c. 294-299], [15,c. 34-37]
    • СРС. К.
  • 6 тиждень 
    • Л6. Структура програми на мові С++. Директиви препроцесора. Заголовки. Простори назв. Поняття «функції» мови програмування. Введення - виведення даних  на мові  програмування С++. Коментарі в мові C ++. [9, c.25-28]
    • ЛР11. Розробка програм, використовуючи раніше вивчений матеріал. [6, c.61-62]
    • ЛР12. Налагодження програм: степпінг і точки зупинки. [15, c. 15-17]
    • СРС. К. 
  • 7 тиждень 
    • Л7. Алгоритми з розгалуженнями. Умовний оператор  if. Складні логічні вирази та їх застосування в умовному операторі.  [6, c. 205-212] 
    • ЛР13. Оператори умовного розгалуження if і else. [6, c. 205-212]
    • ЛР14.  Робота з скороченим оператором if [6, c. 205-212]
    • СРС. К.
  • 8 тиждень 
    • Л8. Оператор множинного вибору switch. [6, c.281-282].
    • ЛР15. Оператор вибору switch-case. [6, c.281-282].
    • ЛР16. Робота з оператором switch. [6, c.281-282].
    • МКР1. СРС. К. 
  • 9 тиждень 
    • Л9. Циклічні алгоритми. Цикли з передумовою (оператор while) та цикли з постумовою (оператор do-while). [6, c. 212-114], [6, c. 279-281]
    • ЛР17. Програмування алгоритмів циклічної структури. Цикл while. [6, c. 212-114]
    • ЛР18  Рішення типових задач з оператором while. [6, c. 279-281]
    • СРС. К.
  • 10 тиждень 
    • Л10. Цикли із лічильником (оператор for). Безкінечний цикл. [6, c.269-279].
    • ЛР19. Оператор циклу з післяумовою do while. [6, c.39-40].
    • ЛР20. Оператор циклу з лічільником for. [6, c.269-279].
    • СРС. К. 
  • 11 тиждень 
    • Л11. Основи структурного програмування. Об’явлення та визначення функцій. Передача аргументів у функцію. Функції у різних файлах. [6, c. 327-339]
    • ЛР21. Рішення типових задач з оператором for [6, c.269-279].
    • ЛР22. Програмування з використанням функцій. [6, c. 327-339]
    • СРС. К. 
  • 12 тиждень 
    • Л12. Одновимірні масиві. Властивості використання масивів на мові С++. Базові операції обробки одновимірних масивів. [6, c. 261-276]
    • ЛР23. Програмування функцій у різних файлах. [6, c. 327-339]
    • ЛР24. Одновимірний масив. [6, c. 261-276].
    • СРС. К.  
  • 13 тиждень 
    • Л13. Методи сортування та пошуку в масивах. [6, c. 1073-1081]
    • ЛР25. Робота з одновимірними масивами.  [6, c. 261-276]
    • ЛР26. Обчислення в одновимірному масиві.  [6, c. 261-276]
    • СРС. К.
  • 14 тиждень 
    • Л14. Символьні рядки. Стандартні функції для роботи з символами та рядками. [6, c. 1034—1049]
    • ЛР27. Сортування одновимірного масиву. [6, c.90-91]
    • ЛР28. Рядки в С++. [6, c. 1034—1049]
    • СРС. К. 
  • 15 тиждень
    • Л15. Рекурсивні алгоритми. [6, с.381-392]
    • ЛР29. Робота з рядками. [6, c. 1034—1049]
    • ЛР30. Рекурсія. [6, c. 63-65]
    • МКР2. СРС. К.

 

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

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

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

  • 1–2 тижні Вибір теми.
  • 3-4 тижні Підбір літератури з обраної теми.
  • 5-8 тиждні Написання теоретичного та практичного розділів роботи.
  • 9 тиждень Аналіз написаної роботи з точки зору відповідності вимогам до оформлення і до змісту курсової роботи
  • 10-11 тижні Формування остаточного варіанту курсової роботи
  • 12-13 тижні Передача курсової роботи викладачу
  • 14-15 тиждень Аналіз та оцінка курсової роботи викладачем

 

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

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

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

 

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

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на 2 семестрові модулі у 1 семестрі. Здобувачі протягом семестру готуються до лекційних та лабораторних робіт, виконують 2 модульні контрольні роботи, КР.
Модульні контрольні роботи виконуються у письмовій формі. Модульна робота складається з теоретичної частини (1 запитання) та практичної частини (1 задача). Відповідь на  теоретичне питання оцінюється 10 балами. Правильне розв’язання задачі оцінюється в 10 балів.
Кожний модуль оцінюється у максимально можливі 50 балів.
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни у кожному семестрі – 100 балів. 

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

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

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

  • ЛР17- ЛР30.  – 30 балів. 
  • МКР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/