Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 66 Методичні рекомендації до виконання курсових робіт, основи програмування, НТУУ “КПІ”, Київський політехнічний інститут

Методичні рекомендації до виконання курсових робіт з предмету Основи програмування, НТУУ “КПІ”

« Назад

1. ЗАГАЛЬНІ ПОЛОЖЕННЯ

Виконання курсової роботи (КР) з дисципліни «Основи програмування» є обов’язковою складовою навчального плану підготовки бакалаврів за напрямом 6.050103 “Програмна інженерія”.

Головна мета КР полягає у закріпленні, поглибленні та узагальненні базових теоретичних знань, якими студент оволодів під час вивчення дисципліни «Основи програмування», їх застосуванні до комплексного вирішення конкретного фахового завдання. Такий підхід повністю відповідає концепції формування висококваліфікованих фахівців у галузі природничих наук, котрі набувають не тільки знань, але й навичок та вмінь, якими повинні володіти випускники вищого навчального закладу з напряму «Програмна інженерія».

Основними цілями написання курсової роботи є:

- закріплення, поглиблення та узагальнення знань, якими студент оволодів під час вивчення курсу;

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

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

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

- вироблення вміння застосовувати методи обчислювальної математики та прикладного програмування для розв’язання прикладних задач;

- проведення ґрунтовного аналізу отриманих результатів і формування змістовних висновків стосовно їх якості.

Робота виконується студентами усіх форм навчання протягом другого семестру.

Під час виконання курсової роботи студент повинен продемонструвати:

- вміння збирати і аналізувати відповідні матеріали про об’єкт дослідження, використовуючи сучасні джерела інформації, включаючи Інтернет-ресурси;

- спроможність проводити необхідні обґрунтування для розробки програмного забезпечення різного призначення, тощо;

- здатність доводити розв'язання поставленої задачі до логічного завершення;

- вміння аналізувати отримані результати і робити відповідні висновки.

Курсова робота є самостійною роботою студента. Відповідальність за правильність аналітичних висновків, результатів розрахунків і моделювання, а також оформлення несе студент - автор КР.

 

2. ПОРЯДОК ВИКОНАННЯ КУРСОВОЇ РОБОТИ

Основні етапи виконання курсової роботи:

- постановка задачі;

- проектування програми;

- написання програми;

- тестування програми;

- оформлення пояснювальної записки;

- захист курсової роботи.

2.1. Постановка задачі

Постановка задачі є самостійним етапом роботи по виконанню КР. На цьому етапі визначається перелік функцій (дій), які виконує програма, i пропонується інтерфейс користувача, з яким пов’язуються функції програми.

 2.2. Проектування програми

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

 2.3. Написання програми

На етапі кодування створюються текст програми та вміст заголовних файлів. Лістинги повинні бути детальним чином прокоментовані і повністю відповідати розробленим алгоритмам.

 2.4. Тестування програми

На цьому етапі складається план тестування, який враховує всі особливості програми. Тестовий набір необхідно узгодити з керівником курсового проекту. Після успішного тестування програми можна переходити до наступних етапів. В разі невдалого тестування треба повернутись до попередніх етапів курсового проектування. Результати тестування  та виявлені обмеження програми необхідно задокументувати

 3. ЗМІСТ ПОЯСНЮВАЛЬНОЇ ЗАПИСКИ

Основними документами, що представляють КР, є пояснювальна записка та комплекс програм на СD-диску. Текст пояснювальної записки до курсової роботи повинен бути викладений лаконічно, у обґрунтованому стилі. Не дозволяється переписування літературних джерел та використання не опрацьованих студентом Інтернет-оглядів.

Пояснювальна записка виконується на аркушах формату А4 згідно ДСТУ 3008-95. У випадку необхідності окремі ілюстрації можуть виконуватись на аркушах більших форматів.

Обов'язковими структурними частинами пояснювальної записки є:

- титульний лист,

- лист завдання на курсову роботу,

- анотація,

- зміст,

- вступ,

- основна частина,

- висновки,

- перелік посилань,

- додатки до пояснювальної записки.

Титульний лист повинен бути встановленого зразку. На ньому вказується назва міністерства, університету, інституту, факультету, кафедри і тема курсової роботи (у точній відповідності із індивідуальним завданням). Його зразок наведений у Додатку Б. Титульний лист не нумерується як розділ, не вноситься до змісту і не нумерується як сторінка.

Лист завдання на курсову роботу видається і заповнюється керівником. Заповнення листа завдання здійснюється викладачем при кожній консультації та здачі КР. Бланк завдання на курсову роботу повинен бути оформлений за формою, наведеною в Додатку В. На ньому обов'язково повинна бути вказана дата видачі завдання. Індивідуальне завдання засвідчується підписом керівника КР. Лист завдання не нумерується як розділ.

В анотації у реферативному стилі наводиться інформація про зміст та результати, що отримані в курсовій роботі. Як розділ анотація не нумерується.

Зміст характеризує структуру КР. Він повинен вміщувати в собі назви усіх розділів, підрозділів, пунктів та підпунктів курсової роботи, а також перелік додатків. Усі назви повинні бути записані так само як вони сформульовані в КР. Визначення сторінок у змісті обов'язкове. Зміст розміщується на окремій сторінці, як розділ зміст не нумерується.

У вступі коротко розкривається призначення КР, ціль роботи, сутність вирішуваної задачі, дається загальна постановка завдання і методи його розв’язання. Вступ як розділ не нумерується.

Основна частина пояснювальної записки може складатися з розділів, підрозділів, пунктів, підпунктів*. Кожний розділ починають з нової сторінки. У розділах основної частини подають:

- постановку задачі,

- викладення використовуваних методів,

- опис алгоритму,

- опис програмного забезпечення,

- результати його тестування,

- інструкцію користувача,

- аналіз і узагальнення результатів дослідження.

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

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

При описі алгоритму з вичерпною повнотою викладають

- логіку алгоритму,

- спосіб формування результатів вирішення задачі,

- послідовність етапів,

- розрахункові формули,

- стандартні (запозичені) алгоритми з обов’язковим посиланням на джерело (джерело повинне бути вказане у списку літератури),

- зв’язки між частинами і операціями алгоритму.

Не слід наводити детальний алгоритм, до окремого оператора. Однак, не слід і значно спрощувати його. Орієнтуватися необхідно на те, щоб можна було повністю зрозуміти нюанси алгоритму, авторські нововведення та здобутки. Загальновідомі і широко розповсюджені алгоритми, за узгодженням з викладачем, можна вказати скорочено (наприклад, в одному блоці).

Алгоритми представляються в словесному вигляді або у вигляді блок-схем. Після кожної блок-схеми необхідно надати детальне пояснення роботи алгоритму з посиланням на номери блоків.

Блок-схеми виконуються відповідно до вимог, зазначених у Додатку Г. В підписах блоків треба вказувати дію, яку вони виконують, а не приводити відповідні оператори мови програмування.

Опис програмного забезпечення включає:

- опис функціональної структури програмного забезпечення,

- опис функцій частин програмного забезпечення.

У даному розділі проектуються основні структурні компоненти програми (функції, бібліотеки тощо). Спроектована функціональна структура представляється у вигляді функціональної схеми програми.

Після розробки даної схеми необхідно описати кожен її блок, його призначення і застосування.

Опис специфікації функцій здійснюється у вигляді наступної таблиці:

№ п/п

Назва функції

Призначення функції

Опис вхідних параметрів

Опис вихідних параметрів

Заголовний файл

 

 

 

 

 

 

В специфікації описуються усі функції користувача, які використовуються в програмі.

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

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

При розробці тестів визначаються усі можливі напрямки обчислювального процесу, аналізуються особливості їх реалізації.

План тестування включає формування наборів відповідних тестових даних та очікувані результати.

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

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

Описуючи інтерфейс користувача, обов’язково використовувати рисунки.

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

У висновках в реферативній формі повинні бути описані результати, отримані студентом на кожному із етапів виконання роботи (аналітичному, етапі проектування програмного забезпечення, експериментальному дослідженню, аналізу отриманих результатів), а також висновки щодо досягнення мети курсової роботи. Тут необхідно наголосити на якісних і кількісних показниках здобутих результатів, обґрунтувати їх достовірність. Висновки як розділ не нумеруються.

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

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

Технічне завдання (Додаток А) повинне бути першим з додатків. Воно формулюється у скороченому вигляді; перелік необхідних його пунктів визначається розробником.

У додатках також повинні міститися лістинги головної програми та заголовних файлів.

Текст програми (функцій) повинен мати коментарі. Наводиться призначення усіх ідентифікаторів (імена констант, змінних, типів даних), які використовуються у програмі, а також функцій користувача. Кожна така функція повинна бути документована із зазначенням не тільки її призначення, а й опису аргументів (параметрів). При підключенні власних заголовних файлів необхідно вказати в коментарях засоби відповідної бібліотеки, які будуть використовуватися у програмі. На початку кожного заголовного файлу  користувача необхідно вказати в коментарях його призначення.

Текст програми (функцій) повинен відповідати розробленим алгоритмам.

Як розділ додатки не нумеруються, але кожен з додатків нумерується великими літерами алфавіту згідно ДСТУ 3008-95.

 4. ПРАВИЛА ОФОРМЛЕННЯ ПОЯСНЮВАЛЬНОЇ ЗАПИСКИ

4.1. Загальні вимоги

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

Електронна версія зберігається в банку даних кафедри. Файл із копією курсової роботи здається на кафедру разом із друкованим примірником безпосередньо під час захисту. Формат файлу – rtf.

Текстову частину роботи необхідно друкувати на одному боці аркуша білого паперу формату А4 (210×297 мм). В окремих випадках, для більш наочного подання таблиць та ілюстрацій, можна використовувати папір формату А3 (297×420 мм).

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

Оптимальний обсяг текстової частини роботи (без додатків) має складати 20 аркушів. Обсяг додатків жорстко не лімітується, але пропонується мінімальний об’єм у кількості 5 аркушів.

Форматування пояснювальної записки:

- поля: ліве – 30 мм, верхнє і нижнє – 20 мм, праве – 15 мм;

- шрифт: Times New Roman, 14 pt;

- міжрядковий інтервал – 1.5 pt;

- відступ першого рядка – 1 см;

- вирівнювання: назв розділів і підрозділів – по центру, назв пунктів і підпунктів – з лівого боку, основного тексту – по ширині.

Заголовки структурних частин курсової роботи «ЗМІСТ», «ВСТУП», «РОЗДІЛ», «ВИСНОВКИ», «ДОДАТКИ», «СПИСОК ЛІТЕРАТУРИ» друкуються великими літерами. Кожну структурну частину роботи потрібно починати з нової сторінки.

4.2. Нумерація

Нумерацію сторінок, розділів, підрозділів, пунктів, підпунктів, рисунків, таблиць, формул подають арабськими цифрами без знака «№».

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

Такі структурні частини роботи, як «ЗМІСТ», «ВСТУП», «ВИСНОВКИ», «ДОДАТКИ», «СПИСОК ЛІТЕРАТУРИ» не мають порядкового номеру. Номер розділу ставлять після слова «РОЗДІЛ», після номеру крапку не ставлять, потім з нового рядка друкують назву розділу.

Підрозділи нумерують у межах кожного розділу. Номер підрозділу складається з номера розділу і порядкового номера підрозділу, між якими ставлять крапку. В кінці номера підрозділу повинна стояти крапка. Потім у тому ж рядку наводять назву підрозділу.

Аналогічним чином нумерують пункти (порядкова нумерація в межах підрозділу) і підпункти (порядкова нумерація в межах пункту). Наприклад, «2.3.1.» – перший пункт третього підрозділу другого розділу.

Ілюстрації (фотографії, скріншоти, креслення, схеми, графіки, рисунки, карти) і таблиці необхідно подавати безпосередньо після тексту, де вони згадані вперше, або на наступній сторінці. Ілюстрації позначають словом «Рис.» і нумерують послідовно в межах розділу, за винятком ілюстрацій, поданих у додатках. Номер ілюстрації повинен складатися з номера розділу і порядкового номера ілюстрації, між якими ставиться крапка. Номер, назва і пояснювальний підпис (у разі необхідності) повинні міститися безпосередньо під ілюстрацією.

Таблиці нумерують послідовно в межах розділу (за винятком таблиць, поданих у додатках). В правому верхньому куті над відповідним заголовком таблиці розміщують напис «Таблиця» із зазначенням її номера. Номер таблиці повинен складатися з номера розділу і порядкового номера таблиці, між якими ставиться крапка.

Формули в курсовій роботі нумерують в межах розділу. Номер формули повинен складатися з номера розділу і порядкового номера формули, між якими ставиться крапка. Номер формули пишуть в круглих дужках і розміщують біля правого поля аркуша на рівні відповідної формули.

Посилання в тексті роботи на ілюстрації, таблиці, формули вказують порядковим номером в круглих дужках, наприклад, «… у формулі (2.1)».

4.3. Оформлення цитат і списку літератури

Бібліографічний опис літературних джерел можна розміщувати одним із таких способів: у порядку появи посилань у тексті, в алфавітному порядку прізвищ перших авторів або заголовків, у хронологічному порядку.

Посилання в тексті роботи на літературні джерела вказують порядковим номером в квадратних дужках, наприклад, «… в роботі [4] показано …». Якщо в курсовій роботі наводиться цитата, то обов’язковим є зазначення сторінок першоджерела, що містять цитовану інформацію, наприклад, «…[4, с. 10-12]». Цитати беруться в лапки і виділяються курсивом. Приклади бібліографічного опису окремих видів літературних джерел наведений в додатку В.

 

4.4. Оформлення додатків

Додаток повинен мати заголовок, надрукований на початку сторінки із вирівнюванням по центру сторінки. На одну строку вище від заголовку друкується слово «Додаток ___» і велика літера, що позначає додаток. Додатки слід позначати послідовно великими літерами української абетки, за винятком літер Г, Ґ, Є, І, Ї, Й, О, Ч, Ь.

Текст кожного додатку за необхідності може бути поділений на розділи й підрозділи, які нумерують в межах кожного додатка. В цьому разі перед кожним номером ставлять позначення додатка (літеру) і крапку, наприклад А.2.1 – перший підрозділ другого розділу додатка А. Ілюстрації, таблиці і формули нумерують аналогічним чином.

5. ПОРЯДОК ВИКОНАННЯ ТА ЗАХИСТУ КУРСОВОЇ РОБОТИ

5.1. Хід виконання та захисту КР

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

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

В терміни, визначені графіком виконання (табл. 1), курсова робота здається керівникові на перевірку. КР перевіряється по суті.

Таблиця 1 - Графік виконання курсових робіт

Термін

(№ тиждня)

Номер

етапу

Назва роботи

1                    

1

Підготовка ТЗ

2                    

2

Огляд та аналіз літератури

3                    

3

Розробка сценарію роботи програми

4                    

4

Розробка алгоритмічного забезпечення

5                    

6                    

5

Розробка програмного забезпечення

7                    

8                    

9                    

6

Тестування програмного забезпечення

10               

7

Оформлення пояснювальної записки

11               

12               

8

Захист курсової роботи

Після перевірки роботи викладач призначає день, час і місце захисту.

Напередодні захисту студенту необхідно повторити теоретичний матеріал, що стосується роботи, та переглянути безпосередньо її зміст.

Захист КР проводиться у формі співбесіди зі з'ясуванням усіх питань, що виникли у керівника під час перевірки роботи.

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

На оцінку за КР впливають:

- якість розробленого програмного забезпечення;

- якість розробленої програмної документації;

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

- ступінь виконання графіку підготовки курсової роботи.

Якщо студент подав на захист не самостійно виконану роботу, про що свідчить його некомпетентність у рішеннях та матеріалах роботи, КР до захисту не допускається, що супроводжується записом "не допущений" у екзаменаційній відомості. Такий самий запис робиться у випадку, якщо КР не завершена на час захисту. В цих випадках запис "не допущений" еквівалентний отриманню оцінки "незадовільно".

 

5.2. Критерії оцінювання КР

Рейтингова оцінка з курсової роботи має дві складові: виконання курсової роботи та її захист.

Перша (стартова) складова характеризує роботу студента з курсового проектування та її результат - якість пояснювальної записки та розробленого програмного забезпечення; друга складова характеризує якість захисту студентом курсової роботи.

Розмір шкали першої складової дорівнює 85 балів, а другої складової - 15 балів.

Система рейтингових балів:

1. Стартова складова виконання курсової роботи (r1):

- алгоритмічна складність курсової роботи (кількість реалізованих алгоритмів і обсяг дій для їх виконання) – до 12 балів (алгоритмічна складність кожного алгоритму визначається пропорційно);

- ступінь розкриття теоретичних аспектів теми та коректність використання понятійного апарату – до 3 балів;

- повнота та коректність алгоритму (узагальненого алгоритму та алгоритму кожної підзадачі) – до 16 балів;

- якість проектування функціональної структури програми – до 2 балів;

- якість вихідного коду – до 6 балів;

- складність розробки інтерфейсу користувача (меню, екранні форми, графіки тощо) – до 6 балів;

- складність графічного представлення результатів – до 4 балів;

- складність демонстрації роботи підзадач - до 12 балів;

- якість оформлення програмного коду - до 10 балів;

- якість оцінки складності алгортимів – до 2 балів;

- якість оформлення пояснювальної записки з урахуванням виконання вимог нормативних документів – до 6 балів;

- своєчасність виконання основних етапів графіку підготовки курсої роботи – до 3 балів за кожен етап (алгоритм, здача на перевірку).

2. Складова захисту курсового проекту (r2):

- ступінь володіння матеріалом - 10-6 балів;

- повнота аналізу можливих варіантів -15-9 балів;

- ступінь обгрунтування прийнятих рішень - 20-12 балів;

- вміння захищати свою думку -15-9 балів.

Узагальнені критерії оцінювання виконання курсової роботи та деталізовані бальні шкали наведено в табл. 2.

Таблиця 2. Параметри та критерії оцінювання курсової роботи

Параметри оцінювання

Діапазон балів

Критерії оцінювання за бальною шкалою

Алгоритмічна складність КР (пропорційно для кожної підзадачі)

0-12

0 – не реалізований

2 (3) – реалізований частково

4 (6) – реалізований повністю

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

0-3

0 – понятійний апарат не сформовано; теоретичні аспекти не розкриті

1 – понятійний апарат сформовано, але теоретичні аспекти не розкриті

2 – понятійний апарат сформовано, але теоретичні аспекти розкриті недостатньо

1 – понятійний апарат не сформовано, але теоретичні аспекти частково розкриті

2 – понятійний апарат не сформовано, але теоретичні аспекти розкриті повнісю

3 – понятійний апарат сформовано, теоретичні аспекти розкриті повністю

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

0-4

0 - узагальнений алгоритм відсутній

1 - узагальнений алгоритм реалізації не відповідає структурному підходу, некоректний

2 - узагальнений алгоритм реалізації відповідає структурному підходу, але некоректний

3 - узагальнений алгоритм реалізації не відповідає структурному підходу, але коректний

4 - узагальнений алгоритм реалізації відповідає структурному підходу, коректний

Повнота та коректність алгоритму підзадачі (пропорційно для кожної підзадачі)

0-12

0 - алгоритм підзадачі відсутній

1 - алгоритм реалізації підзадачі не відповідає структурному підходу,  некоректний

2 - алгоритм реалізації підзадачі відповідає структурному підходу,  але некоректний

3 (4) - алгоритм реалізації підзадачі не відповідає структурному підходу,  але коректний

4 (6)- алгоритм реалізації підзадачі відповідає структурному підходу, коректний

Якість проектування функціональної структури програми

0-2

0 – функціональна структура програми не спроектований

1 – функціональна структура програми спроектований не оптимально

2 - функціональна структура програми спроектований оптимально

Якість вихідного коду

0-6

0 – синтаксичні помилки (не виконується компіляція програми)

1 – невідповідність алгоритму реалізації задачі (пропорційно для кожної підзадачі)

1 – невідповідність результату умові задачі (пропорційно для кожної підзадачі)

1 – логічні помилки, які приводять до виникнення виключних ситуацій

2 (3) – програмний код працює правильно

Складність розробки інтерфейсу користувача

0-6

0 – інтерфейс стандартний (неінформативний)

1 – наявність текстового меню

2 – наявність графічного меню

2 – наявність текстової екранної форми для введення даних

4 – наявність графічної екранної форми для введення даних

Складність графічного представлення результатів

0-4

0 – графічне представлення відсутнє

1 – графічне представлення неінформативне

2-3 – графічне представлення недостатньо інформативне

4 – якісне графічне представлення

Складність демонстрації роботи підзадач (пропорційно для кожної підзадачі)

0-12

0 – демонстрація роботи підзадачі відсутня

1 – демонстрація роботи підзадачі неінформативна

2-3 (2-5) – демонстрація роботи підзадачі недостатньо інформативна

4 (6) наочна демонстрація роботи підзадачі

Якість оформлення програмного коду

0-10

0 - програмний код не структурований (не відображена вкладеність програмних структур)

1 - програмний код частково структурований (вкладеність програмних структур відображена частково)

2 - програмний код повністю структурований (відображена вкладеність програмних структур)

0 – в тексті програми відсутні коментарі

1 – в тексті програми коментарі присутні часково

2 – програмний код повністю документований (має коментарі)

0 – відсутність передачі параметрів у функції

1 – часткова передача параметрів у функції

2 – повна передача параметрів у функції

0 – прототипи функцій не використовуються

1 – прототипи функцій використовуються частково

2 – повне використання прототипів функцій

0 – відсутність власних заголовних файлів

1 – часткове використання власних заголовних файлів

2 – широке використання власних заголовних файлів

Якість оцінки складності алгортимів

0-2

0 – оцінка складності алгортимів не проведена

1 – оцінка складності алгортимів проведена частково

2 – проведена якісна оцінка складності алгортимів

Відповідність оформлення пояснювальної записки встановленим вимогам

0-4

0 – текст курсової роботи оформлено з суттєвими порушеннями встановлених вимог

1-2 - текст курсової роботи оформлено із значними порушеннями встановлених вимог

3 - текст курсової роботи оформлено з незначними порушеннями встановлених вимог

4 - текст курсової роботи оформлено у відповідності до встановлених вимог

Якість оформлення пояснювальної записки

0-2

0 - пояснювальна записка оформлена з помилками та неакуратно

1 - пояснювальна записка оформлена з помилками, але акуратно

1 - пояснювальна записка оформлена без помилками, але неакуратно

2 - пояснювальна записка оформлена акуратно, без помилок

Своєчасність виконання основних етапів графіку підготовки курсої роботи (пропорційно для кожного етапа)

0-6

0 – затримка виконання до 3 тижнів

1 – затримка виконання до 2 тижнів

2 – затримка виконання до 1 тижня

3 – етап виконаний своечасно

 

2. Складова захисту курсової роботи (r2):

- ступінь володіння матеріалом – до 10 балів;

- обґрунтованість відповідей на питання – до 3 балів;

- вміння внести зміни у програмний код – до 2 балів.

Узагальнені критерії оцінювання захисту курсової роботи та деталізовані бальні шкали наведено в табл. 3.

Таблиця 3. Параметри та критерії оцінювання курсової роботи

Параметри оцінювання

Діапазон балів

Критерії оцінювання за бальною шкалою

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

0-2

0 - студент не знає теоретичного матеріалу з теми курсової роботи

1 - студент часково знає теоретичний матеріал з теми курсової роботи

2 - студент глибоко знає теоретичний матеріал з теми курсової роботи

Вміння чітко та стисло викласти основні теоретичні положення

0-3

0 - студент не знає теоретичного матеріалу з теми курсової роботи

1 – студент невпорядковано викладає основні теоретичні положення

2 – студент недостатньо впорядковано викладає основні теоретичні положення

3 – студент спроможний чітко та стисло викласти основні теоретичні положення

Вміння чітко та стисло пояснити програмний код

0-5

0 – студент не орієнтується у програмному коді та не може його пояснити

1 – студент часково орієнтується у програмному коді,  але пояснити його не може

2 – студент не орієнтується у програмному коді, але часково може його пояснити

3 – студент часково орієнтується у програмному коді та часково може його пояснити

4 – студент орієнтується у програмному коді, але може пояснити його часково

5 – студент може чітко та грамотно пояснити програмний код

Повнота, глибина, обґрунтованість відповідей на питання

0-3

0 – студент неспроможний надати відповіді на поставлені питання

1 – студент надає неповні, поверхові, необґрунтовані відповіді на поставлені питання

2 – студент надає недостатньо повні відповіді на поставлені питання

3 – студент надає повні, глибокі, обґрунтовані відповіді на поставлені питання

Вміння внести зміни у програмний код

0-2

0- студент не може виконати додаткові завдання, пов’язані із внесенням змін у програмний код

1- студент частково може виконати додаткові завдання, пов’язані із внесенням змін у програмний код

2- студент грамотно виконує додаткові завдання, пов’язані із внесенням змін у програмний код

Сума балів двох складових переводиться до залікової оцінки згідно з таблицею:

R =  r1+ r2

Оцінка ECTS

Національна оцінка

95… 100

А

відмінно

85 … 94

В

добре

75 … 84

С

65 … 74

D

задовільно

 

60 … 64

Е

Менше 60

Fx

незадовільно

Курсовий проект не допущено до захисту

F

не допущено

6. ТЕМИ ІНДИВІДУАЛЬНИХ ЗАВДАНЬ НА КУРСОВУ РОБОТУ

Тематика курсових робіт визначається змістом робочої навчальної програми з дисципліни «Основи програмування», що читається студентам денної форми навчання протягом 1-го і 2-го семестру в обсязі 10 кредитів ECTS (в тому числі 72 годин лекцій та 72 годин комп’ютерного практикуму).

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

Порядок виконання курсової роботи включає розробку алгоритмічного і програмного забезпечення, проектування зручного інтерфейсу користувача, проведення досліджень на ЕОМ та аналіз одержаних результатів, оформлення пояснювальної записки.

Студент може запропонувати власну тему, обґрунтувавши її актуальність та доцільність виконання відповідної розробки. При цьому він складає технічне завдання, яке затверджується керівником курсової роботи.

Тематика індивідуальних завдань наведена у Додатку Д.

 7. СПИСОК ЛІТЕРАТУРИ:

  1. Калиткин Н.Н. Численные методы. – М.: Наука, 1978. – 512 с.
  2. Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. – Томск: МП «РАСКО», 1991. – 272 с.
  3. Маликов В.Т., Кветный Р.Н. Вычислительные методы и применение ЭВМ: Учеб. пособие. – К.: Выща школа, 1989. – 213 с.
  4. Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной математике: Учеб. пособие. – М.: Высш. школа, 1990. – 208с.
  5. Бейко И.В. Методы и алгоритмы решения задач оптимизации,1983
  6. Вирт Н. Алгоритмы+структуры данных=программы, 1985
  7. Вирт Н. Алгоритмы и структуры данных. – М:, Мир,1989г.
  8. Иванов Б.И. Дискретная математика. Алгоритмы и программы. — М.:Лаборатория базових знаний. 2002
  9. Кнут Д. Искусство программирования для ЭВМ. Т.1,Основные алгоритмы. Пер. с англ. М:,Мир,1976
  10. Кнут. Искусство программирования, т.3. Сортировка и поиск, 2001
  11. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ, 2001
  12. Липский В. Комбинаторика для программистов, 1988
  13. Майника Э. Алгоритмы оптимизации на сетях и графах, - М.: Мир, 1981
  14. Новиков Ф.А. Дискретная математика для программистов. — СПб.: Питер. 2003
  15. Окулов С. М. Программирование в алгоритмах. — М.: БИНОМ. 2002
  16. Рейнгольд Э, Нивергельт Ю., Део Н. Комбинаторные алгоритмы, теория и практика. - М:, Мир,1980г.
  17. Рейуорд-Смит В. Теория формальных языков. М.: Радио и связь, 1988
  18. Седжвик Р. Фундаментальные алгоритмы на С++.Часть 1-5  2001.
  19. Глибовець М.М. Основи комп’ютерних алгоритмів. – К.: „КМ Академія”. 2003
  20. Фельдман Л.П., Петренко А.І., Дмитрієва О.А. Чисельні методи в інформатиці, BHV, 2006 – 480 с.
  21. Краскевич В.Є. Численные методы
  22. Порублев И.Н., Ставровский А.Б. Алгоритмы и программы, Диалектика, 2007. – 480 с.
  23. Таха Х. Введение в исследование операций. Том1. – М.: Мир, 1985. – 479 с.
  24. Кофман А., Дебазей Г. Сетевые методы планирования. Применение системы ПЕРТ и ее разновидностей при управлении производственными и научно-исследовательскими проектами. –М.: Прогресс, 1968. – 182 с.
  25. Справочник по оптимизационным задачам в АСУ/ Бункин В.А. и др. – Л.: Машиностроение, 1984. – 212 с.
  26. Нікольський Ю.В., Пасічник В.В., Щербина Ю.М. Дискретна математика. –К.:Видавнича група BHV., 2007. – 368 с.
  27. Смит Б. Методы и алгоритмы вычислений на строках. –М.:  Вильямс, 2006. – 496 с.
  28. Ахо А., Хопкрофт Д., Ульман Д.   Построение и анализ вычислительных алгоритмов. -М:, Мир,1979г.
  29. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. –М.: Вильямс, 2003.
  30. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов.
  31. ДСТУ 3008-95 Документація.  Звіти в сфері науки і техніки. Структура і правила оформлення – Державний стандарт України.
  32. ГОСТ 7.1-84 Библиографическое описание документа. Общие требования и правила составления.

 ДОДАТОК А

 МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КПІ»

 Кафедра

автоматизованих систем обробки інформації та управління

                                                                                       Затвердив

Керівник __________________

«___»__________________201_ р.

 Виконавець:

 Студент ____<ПІБ>__________

 «___» __________________201_ р.

 ТЕХНІЧНЕ ЗАВДАННЯ

на виконання курсової роботи

на тему: <Тема курсової роботи>

з дисципліни:

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

 Київ  201_

1.1 Мета: Метою курсової роботи є розробка комплексу програм для ……………………………….………………………………………………………

1.2 Найменування та галузь застосування об'єкта розробки:Дана робота присвячена розробці програмного забезпечення для ………………...................

1.3 Підстава для проведення робіт:Підставою для розробки програмного забезпечення є навчальний план спеціальності 6.050301 «Програмна інженерія», робоча програма дисципліни „Основи програмування”, індивідуальне завдання.

1.4 Дата початку роботи: «_____» ___________ 201_ р.

1.5 Дата закінчення роботи: «___»___________ 201_ р.

 1.6 Призначення розробки: <функціональне [1] та експлуатаційне [2] призначення програми>  Функціональним призначенням програми є автоматизація наступних процесів ……. Програма може експлуатуватися ……… для … …………

1.7 Вимоги до програми та програмної документації: Все програмне забезпечення та супроводжуюча технічна документація повинні задовольняти наступним ДЕСТам:

ИСО 5807 - 85 ГОСТ на розробку програмних документів, схем алгоритмів програм, даних та систем.

ГОСТ 19.781 - 74 - Вимоги до розробки програмного забезпечення.

ГОСТ 19.101-77 (СТ СЭВ 1626 - 79) - Держстандарт на розробку програмної документації, видів програм та програмних документів.

ГОСТ 29.401 - 78 - Текст програми. Вимоги до змісту та оформлення.

ГОСТ 19.106 - 78 - Вимоги до програмної документації.

ГОСТ 7.1 - 84 та ДСТУ 3008 - 95 - Розробка технічної документації.

<інші вимоги до функціональних характеристик, надійності, складу і параметрів технічних засобів тощо>

 1.8 Стадії та етапи розробки:

1. Аналіз методів вирішення поставленої задачі (до __.__.201_ р.)

2. Розробка сценарію роботи програми (до __.__.201_ р.)

3. Розробка алгоритмічного забезпечення (до __.__.201_ р.)

4. Розробка програмного забезпечення (до __.__.201_ р.)

5. Розробка інтерфейсу, планування, тестування розробленої програми (до __.__.201_ р.)

6. Розробка пояснювальної записки (до __.__.201_ р.).

7. Захист курсової роботи (до __.__.201_ р.).

1.9 Порядок контролю та приймання. Поточні результати роботи над КР регулярно демонструються викладачу. Своєчасність виконання основних етапів графіку підготовки роботи впливає на оцінку за КР відповідно до критеріїв її оцінювання.

 ДОДАТОК Б

 МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КПІ»

 Кафедра

автоматизованих систем обробки інформації та управління

 Пояснювальна записка

до курсової роботи

з дисципліни

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

на тему

 "ХХХХХХХХ "

Керівник :  доц. Муха І.П

 

Виконав : ХХХХХ

Допущений до захисту

 

студент гр. ІП-ХХ,ФІОТ

І___І ________ 201_  ______

                                                                      підпис

 

1 курс

№ IП-ХХХХ

Захистив з оцінкою

___________       _____________

       оцінка                              підпис

І___І _________ 201_

 

 

 

Київ 201_

 

 ДОДАТОК В

 Національний технічний університет України “КПІ”

(назва вищого навчального закладу)

Кафедра автоматизованих систем обробки інформації і управління

 Дисципліна  Основи програмування

 Напрям "Програмна інженерія"

 Курс  1          Група _______________                                          Семестр   2

 ЗАВДАННЯ

на курсову роботу студента

(прізвище, ім’я, по батькові)

1. Тема роботи           

2. Строк здачі студентом закінченої роботи

3. Вихідні дані до роботи

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

5. Перелік графічного матеріалу ( з точним зазначенням обов’язкових креслень )

 6. Дата видачі завдання               

КАЛЕНДАРНИЙ ПЛАН

№ п/п

Назва етапів курсової роботи

Термін виконання етапів роботи

Підписи керівника, студента

1.

Отримання теми курсової роботи

 

 

2.

Підготовка ТЗ

 

 

3.

Пошук та вивчення літератури з питань курсової роботи

 

 

4.

Розробка сценарію роботи програми

 

 

6.

Узгодження  сценарію роботи програми з керівником

 

 

5.

Розробка (вибір) алгоритму рішення задачі

 

 

6.

Узгодження  алгоритму з керівником

 

 

7.

Узгодження з керівником інтерфейсу користувача

 

 

8.

Розробка програмного забезпечення

 

 

9.

Налагодження розрахункової частини програми

 

 

10.

Розробка та налагодження інтерфейсної частини програми

 

 

11.

Узгодження з керівником набору тестів для контрольного прикладу

 

 

12.

Тестування програми

 

 

13.

Підготовка пояснювальної записки

 

 

14.

Здача курсової роботи  на перевірку

 

 

15.

Захист курсової роботи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Студент  (підпис)

Керівник Муха І. П.

(підпис)                                                                                                            (прізвище, ім’я, по батькові)

"___" __________________20__ р.

 

ДОДАТОК Г

Блок-схеми алгоритмів виконуються за наступними ДЕСТами: 

- ДЕСТ 19.002-80  Схеми алгоритмів і програм. Правила виконання

- ДЕСТ 19.003-80  Схеми алгоритмів і програм. Позначення умовні графічні.

Блок-схеми алгоритмів повинні виконуватися в електронному вигляді (Microsoft Visio тощо).

 Зображення схем

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

 Символи в схемах алгоритмів

Процес

 

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

Рішення

 

Вибір напрямку виконання алгоритму або програми залежно від деяких змінних умов

Модифікація

 

Виконання операцій, які змінюють команди, або групи команд, що змінюють програму

Визначений процес

 

Використання створених раніше і окремо описаних алгоритмів або програм

Ввід-вивід

 

Перетворення даних у форму, є найзручнішою для обробки (ввід) або відображення результатів обробки (вивід)

Пуск-останов

 

Початок, кінець, переривання процесу обробки даних або виконання програми

Коментар

 

Зв'язок між елементом схеми і поясненням

З'єднувач

 

Зазначення зв'язку між перерваними лініями потоку, які з'єднують символи

Міжрядковий з'єднувач

 

Зазначення зв'язку між роз'єднаними частинами схем алгоритмів і програм, розташованих на різних листах

 Співвідношення геометричних розмірів символів

Розмір a повинен вибиратися з ряду 10, 15, 20 мм. Допускається збільшувати розмір a на число, кратне 5. Розмір b дорівнює 1,5a.

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

 Застосування деяких символів у схемах алгоритмів 

Початок

підпрограми

 

Кінець

(програми /

підпрограми)

 

Ввід

 

 

Вивід

 

З'єднувач

При великій насиченості схеми символами окремі лінії потоку між віддаленими друг від друга символами допускається обривати. При цьому наприкінці (початку) обриву повинен бути поміщений символ "З'єднувач".

 

Міжрядковий з'єднувач

 

 

 

Лінії потоку

Застосовують для зазначення напрямку лінії потоку:
без стрілки, якщо лінія спрямована ліворуч праворуч і зверху вниз; зі стрілкою - в інших випадках.

Відстань між паралельними лініями потоку повинна бути не менше 3 мм, між іншими символами схеми - не менше 5 мм.

 

Злиття застосовується у випадку злиття ліній потоку, кожна з яких спрямована до того самого символа на схемі. Місце з'єднання ліній потоку позначається крапкою.

 

Коментарі

Застосовуються, якщо пояснення не поміщається усередині символу (для пояснення характеру параметрів, особливостей процесу, ліній потоку й ін.)
Коментар записують паралельно основному напису.
Коментар поміщають у вільному місці схеми алгоритму на даному листі і з'єднують з пояснювальним символом.

 

Записи усередині символу або поруч з ним повинні бути короткими.

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

У схемі символу привласнюється номер, що повинен міститися ліворуч над символом (для посилання в інших частинах документації):

Символи нумеруються, починаючи з нуля, порядок нумерації визначається напрямком лінії потоку, а також напрямком зліва направо.  

 ДОДАТОК Д

 Тематика індивідуальних завдань

Розробити програму у відповідності до індивідуального завдання (табл. 5). В програмі передбачити:

1) введення вихідних даних за допомогою розробленої самостійно екранної форми (введення частини даних організувати засобами меню);

2) збереження отриманих числових результатів у вигляді текстового файлу;

3)  графічне представлення одержаних результатів;

4) демонстрацію (за можливості - графічну) роботи застосованих методів (алгоритмів) розв'язання підзадач;

5) оцінку складності алгортимів;

6) порівняльний аналіз методів (алгоритмів) розв'язання підзадач.

Тема

Вхідні дані

  1. 1.  

Розв'язання трансцендентних рівнянь

Трансцендентні рівняння (вказує керівник).

Методи розв'язання:

-     метод половинного ділення (метод бісекції);

-     метод дотичних (метод Ньютона);

-     метод хорд (метод пропорційних частин).

  1. 2.  

Пошук екстремумів функції двох змінних

Функція двох змінних (погоджується з керівником), область пошуку, точність обчислень.

Методи розв'язання:

-     метод дітохоміі;

-     метод порозрядного наближення;

-     метод рівномірного пошуку.

  1. 3.  

Знаходження максимального потоку в мережі

Графи (задає керівник).

Методи пошуку:

-     метод Форда-Фалкерсона;

-     метод Гоморі-Ху.

  1. 4.  

Розв'язання нелінійних алгебраїчних рівнянь

Нелінійні рівняння (вказує керівник).

Методи розв'язання:

-     комбінований метод (метод хорд та дотичних);

-     метод ітерацій (метод послідовних наближень).

  1.  5. 

Пошук найкоротших шляхів в мережі

Граф (задає керівник).

Методи пошуку:

-     метод Флойда;

-     метод Данцига.

  1.  6. 

Знаходження потоків в мережах

Графи (задає керівник).

Алгоритми:

-     пошуку потоку мінімальної вартості (метод Форда-Фалкерсона);

-     дефекта;

-     пошуку потоку з підсиленням.

  1.  7. 

Розв'язання СЛАР наближеними методами

Система лінійних рівнянь (загальний вигляд системи визначається керівником).

Методи розв'язання:

-     метод Гауса-Зейделя;

-     метод простої ітерації (Якобі);

-     метод релаксації.

  1.  8. 

Упорядкування масивів

Масиви (розмір – більше 1000 елементів, генеруються випадковим чином).

Методи сортування:

-     метод швидкого сортування;

-     метод сортування злиттям;

-     метод Шелла.

  1.  9. 

Обчислення визначника матриці

Матриця (генерується випадковим чином).

Методи розв'язання:

-     метод мінорів;

-     метод розкладання по рядкам.

  1.  

Розв'язання алгебраїчних рівнянь

Алгебраїчні рівняння (вказує керівник)

Методи розв'язання:

-     метод дотичних;

-     метод хорд;

-     метод ітерацій (метод послідовних наближень).

  1.  

Пошук екстремумів функції однієї змінної

Функція однієї змінної (погоджується з керівником), область пошуку, точність обчислень.

Методи розв'язання:

-     метод "золотого" перетину;

-     метод рівномірного пошуку;

-     дітохоміі.

  1.  

Розв'язання трансцендентних рівнянь

Трансцендентні рівняння (вказує керівник).

Методи розв'язання:

-     комбінований метод (метод хорд та дотичних);

-     метод ітерацій (метод послідовних наближень).

  1.  

Розв'язання задач інтерполяції

Система точок (вказує керівник).

Методи розв'язання:

-     метод Лагранжа;

-     метод Ньютона.

  1.  

Розв'язання СЛАР точними методами

Система лінійних рівнянь (загальний вигляд системи визначається керівником).

Методи розв'язання:

-     метод Гауса з послідовним виключенням змінних;

-     метод Гауса з одиничною діагоналлю;

-     метод Гауса з вибором головного елементу.

  1.  

Розв'язання нелінійних алгебраїчних рівнянь

Нелінійні рівняння (вказує керівник).

Методи розв'язання:

-     метод половинного ділення (метод бісекції);

-     метод дотичних (метод Ньютона);

-     метод хорд (метод пропорційних частин).

  1.  

Розв'язання систем нелінійних рівнянь

Система лінійних рівнянь (загальний вигляд системи визначається керівником).

Методи розв'язання:

-     метод розкладання на множники;

-     метод Ньютона.

  1.  

Реалізація регресивного аналізу

Дискретні експериментальні дані двох залежних величин (вказує керівник).

Метод розв'язання:

-     метод найменших квадратів.

  1.  

Чисельне обчислення інтегралів

Декілька типів інтегралів (вказує керівник).

Методи розв'язання:

-     метод прямокутників;

-     метод трапецій;

-     метод Сімпсона.

  1.  

Розв'язання СЛАР точними методами

Система лінійних рівнянь (загальний вигляд системи визначається керівником).

Методи розв'язання:

-     метод Гауса-Жордана;

-     метод Гауса-Халецького;

-     метод Крамера.

  1.  

Пошук екстремумів функції двох змінних

Функція двох змінних (погоджується з керівником), область пошуку, точність обчислень.

Методи розв'язання:

-     метод квадратичної інтерполяції - екстраполяції;

-     метод "золотого" перетину;

-     метод рівномірного пошуку.

  1.  

Знаходження найкоротшого остовного дерева

Граф (задає керівник) .

Методи пошуку:

-     метод Прима;

-     метод Крускала;

-     метод Борувки.

  1.  

Розв'язання задач інтерполяції

Система точок (вказує керівник).

Методи розв'язання:

-     метод Ейткіна;

-     інтерполяція сплайнами.

  1.  

Обернення матриці

Матриця (генерується випадковим чином).

Методи розв'язання:

-     метод Гауса;

-     метод окаймлення;

-     метод розбиття на клітки.

  1.  

Розв'язання задачі листоноші

Орієнтований та змішаний графи (задає керівник).

Методи розв'язання:

-     для орієнтованого графа;

-     для змішаного графа.

  1.  

Розв'язання задач про паросполучення

Графи (задає керівник).

Алгоритми:

-     пошук паросполучення максимальної потужності (алгоритм Хопкрофта-Карпа);

-     побудова паросполучення з максимальною вагою (алгоритм Едмондсона і Джонсона);

-     пошук найбільшого паросполучення в двудольному графі.

  1.  

Обчислення виразів

 

Вираз (задає керівник).

Алгоритми:

-     зворотнього польського запису;

-     рекурсивного спуску.

  1.  

Лексичний і синтаксичний аналіз тексту

 

Текст (задає керівник).

Алгоритми:

-     лексичного аналізу тексту;

-     синтаксичного аналізу тексту (побудова дерева розбору речень, пірамідальне сортування на даних різного типу).

Прикладні задачі:

-     побудова частотного словника у вигляді бінарного дерева.

  1.  

Розпізнавання ланцюгів        символів

 

Текст (задає керівник).

Алгоритми ідентифікації ланцюгів символів:

-     розпізнавання належності слова певній регулярній мові за допомогою алгоритмів кінцевих автоматів;

-     алгоритм Кнута-Моріса-Прата;

-     алгоритм Бойера-Мура.

  1.  

Дерева суфіксів

 

Текст (задає керівник).

Алгоритми побудови дерев для послідовностей рядків тексту (дерев суфіксів):

-     алгоритм Мак-Крейта;

-     алгоритм Укконена;

-     алгоритм Фарача.

Прикладні задачі:

-     побудова частотного словника у вигляді бінарного дерева.

  1.  

Синтаксичний   аналізатор          програмного коду

 

Програмний код (задає керівник).

Алгоритми:

-     визначення лексем в тексті;

-     створення словника ключових слів;

-     пошуку синтаксичних помилок у ключових словах;

-     пошуку синтаксичних помилок у символах (розділових знаках, дужках та інше).

 

Дотримання в курсовій роботі запропонованої рубрикації не є обов’язковою вимогою.

[1] Функціональне призначення – це засоби досягнення поставленої мети

[2] Експлуатаційне призначення – це мета використання майбутнього програмного забезпечення

З повагою ІЦ "KURSOVIKS"!