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

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

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

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

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

Завдання дисципліни:
 
вивчити типові алгоритмічні конструкції та засоби представлення алгоритму;

сформувати комплексне уявлення про етапи розробки програми, основні поняття та методи технологій програмування;

отримати знання про синтаксис і семантику базових конструктивних елементів мови програмування: лексем, виразів та операторів;

отримати знання про різновиди типів даних, як простих, так і складених (масивів, структур);

усвідомити особливості програмування функцій;

вивчити особливості програмування динамічних та файлових структур даних;

розвити навички основних прийомів структурного програмування; 

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

1 тиждень
 
ЛР1. Робота з оператором switch. [6, c.281-282].
ЛР2. Програмування алгоритмів циклічної структури. Цикл while. [6, c. 212-114]
СРС. К.
 
2 тиждень
 
Л1. Багатовимірні масиви. Доступ до елементів. Операції з двовимірними масивами. [9, с.86-88]
ЛР3.  Рішення типових задач з оператором while. [6, c. 279-281]
ЛР4. Оператор циклу з післяумовою do while. [6, c.39-40].
СРС. К.
 
3 тиждень
 
ЛР5. Оператор циклу з лічільником for. [6, c.269-279].
ЛР6. Рішення типових задач з оператором for [6, c.269-279]
СРС. К.
 
4 тиждень
 
Л2. Поняття структури. Шаблони структур. Доступ до полів та операції над структурами. Складні структури. Масиви структур. [6, c. 461-465]
ЛР7. Програмування з використанням функцій. [6, c. 327-339]
ЛР8. Програмування функцій у різних файлах. [6, c. 327-339]
СРС. К.
 
5 тиждень
 
ЛР9. Одновимірний масив. [6, c. 261-276].
ЛР10. Робота з одновимірними масивами.  [6, c. 261-276]
СРС. К
 
6 тиждень
 
Л3. Адреса і покажчики. Операції над покажчиками. Адресна арифметика. [6, c. 506-516]
ЛР11. Обчислення в одновимірному масиві.  [6, c. 261-276]
ЛР12. Сортування одновимірного масиву. [6, c.90-91]
СРС. К.
 
7 тиждень

ЛР13. Рядки в С++. [6, c. 1034—1049]
ЛР14. Робота з рядками. [6, c. 1034—1049]
СРС. К.

8 тиждень
 
Л4. Покажчики та масиви. [6, c. 530-538]
ЛР15. Рекурсія. [6, c. 63-65]
ЛР16. Алгоритми оброблення двовимірних масивів [6, с.86-88]
МК1.СРС. К.
 
9 тиждень
 
ЛР17. Розробка програм пошуку та підсумування у двовимірному масиві. [6, с.86-88]
ЛР18. Алгоритми оброблення структур. Розробка програми з використанням структур. [6, с.1154-1155]
СРС. К.
 
10 тиждень
 
Л5. Динамічні змінні. Динамічна пам'ять. Функції та оператори виділення та вивільнення динамічної пам'яті. [6, c. 1092-1093], [6, c. 668-670]
ЛР19. Розробка програми з використанням масива структур. [6, c. 461-465]
ЛР20. Створення програм з покажчиками та адресами. [6, c. 506-516]
СРС. К.
 
11 тиждень
 
ЛР21. Адресна арифметика. Зміна адреси покажчиків. [6, c. 506-516]
ЛР22. Покажчики та одномірні масиви. [6, c. 530-535]
СРС. К.
 
12 тиждень
 
Л6. Файли в мові С++. Стандартні потоки. Типи дискових файлів. Текстові файли. Відкриття та закриття файлів [6, c. 988-1015].
ЛР23.  Покажчики та двовимірні масиви [6, c. 535-538].
ЛР24. Виділення динамічної пам'яті для змінної [6, c. 1092-1093].
СРС. К.
 
13 тиждень
 
ЛР25. Виділення динамічної пам'яті для одновимірного масиву. [6, c. 668-670]
ЛР26. Виділення динамічної пам'яті для двовимірного масиву. [6, c. 668-670]
СРС. К.

14 тиждень
 
Л7. Поняття бінарного файлу. Прямий (рандомний) доступ до файлу. Запис і читання файлів в масив структур. [6, c. 921-936]
ЛР27 . Читання та запис інформації в текстовий файл. [6, c. 988-1015]
ЛР28. Робота із декількома текстовими файлами. [6, c. 988-1015]
СРС. К.
 
15  тиждень
 
ЛР29. Запис і читання об'єкта структури в бінарний файл. [6, c. 921-936] Функції читання і запису в бінарні файли. [6, c. 921-936]
ЛР30. Реалізація прямого доступу до файлів. [6, c. 921-936]
МКР2.СРС. К.
 
 
Індивідуальна робота
 
Виконується КР. 
 
Мета КР:
 
набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань з теми " Рішення задач з використанням структур".
 
1–9 тижні 
 
Отримання завдання. Підбір літератури з обраної теми. Написання теоретичного та практичного розділів куросвої роботи.
 
9-15 тиждень
 
Аналіз написаної роботи з точки зору відповідності вимогам до оформлення і до змісту куросвої роботи. Формування остаточного варіанту куросвої роботи. Захист курсової роботи.
 
Самостійна робота
 
Самостійна робота складає 151 годинf. Розподіл самостійної роботи за видами навчальних робіт:
1) підготовка до лекційних занять – 31 годин;
2) підготовка до лабораторних робіт–60 годин;
3) виконання КР – 30 годин;
4) підготовка до екзамену – 30 годин.
 
Процедура оцінювання
 
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на 2 семестрові модулі у 2 семестрі. Здобувачі протягом семестру готуються до лекційних та лабораторних робіт, виконують 2 модульні контрольні роботи, КР.
Модульні контрольні роботи виконуються у письмовій формі. Модульна робота складається з теоретичної частини (1 запитання) та практичної частини (1 задача). Відповідь на  теоретичне питання оцінюється 10 балами. Правильне розв’язання задачі оцінюється в 10 балів.
Кожний модуль оцінюється у максимально можливі 50 балів.
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни у кожному семестрі – 100 балів. 
 
Семестровий модуль № 1

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

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

ЛР9- ЛР15.  – 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/

2018