неділю, 16 вересня 2018 р.

Основи розробки трансляторів 2018-2019


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

Лабораторна робота №1

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

Склад протоколу:

  1. граматика мови програмування;
  2. таблиця лексем;
  3. показовий приклад програми (з усіма операторами та видами констант);
  4. вихідні таблиці лексичного аналізатора для прикладу;
  5. діаграма станів;
  6. таблиця переходів скінченного автомата.

Лабораторна робота №2

Реалізувати синтаксичний аналізатор (СА) на основі методу рекурсивного спуску. СА повинен мати зручний графічний інтерфейс користувача; надавати можливість вводити вхідний текст програми, записувати його в файл та відкривати файл з текстом; надавати можливість перегляду вихідних таблиць лексичного аналізатора; видавати лексичні та синтаксичні помилки. Усі повідомлення про помилки повинні супроводжуватися номером рядка, в якому було знайдено помилку.

Склад протоколу:

  1. протокол до першої роботи;
  2. перетворена граматика.

Лабораторна робота №3

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

Склад протоколу:

  1. протокол до першої та другої роботи;
  2. скінченний автомат у вигляді діаграми станів;
  3. скінченний автомат у вигляді таблиці переходів.

Лабораторна робота №4

Розробити програму, яка автоматично буде встановлювати відношення передування за граматикою (що відповідає варіанту). У разі виникнення протиріч, програма повинна повідомляти про це.

Склад протоколу:

  1. протокол до першої роботи;
  2. граматика, приведена до виду граматики простого передування.

суботу, 8 вересня 2018 р.

ОПП 2018-2019

Список ОПП, дійсних на 2018-2019 навчальний рік за спеціальністю
121  Інженерія програмного забезпечення

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

1 курс:

Для всіх ОПП ТІ від 2016 року

2 курс:

"Програмне забезпечення розподілених систем та WEB- технологій" -
ОПП ТІ від 2016 року
"Програмне забезпечення кібер-енергетичних систем" -
ОПП ТВ від 2016 року - зі змінами через службові записки (кілька дисциплін було переіменовано)

3-4 курс:

"Програмне забезпечення WEB- технологій та мобільних пристроїв" - ОПП ТІ від 2016 року
"Програмне забезпечення розподілених систем" - ОПП ТВ від 2016 року

Для розробки програм та робочих програм з дисциплін для студентів магістратури 1,4 роки (освітньо-професійні програми)

1 курс

"Програмне забезпечення розподілених систем та WEB технологій", "Програмне забезпечення кібер-енергетичних систем" 

2 курс 

"Програмне забезпечення розподілених систем"
"Програмне забезпечення WEB- технологій та мобільних пристроїв"
Захист

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

1 курс

"Програмне забезпечення розподілених систем та WEB технологій", "Програмне забезпечення кібер-енергетичних систем" - ОНП магістратура від 2018

2 курс

"Програмне забезпечення розподілених систем" ОНП магістратура ТВ від 2016

пʼятницю, 7 вересня 2018 р.

Інструктаж 1 курс магістратури


  1. Стаття 46. Відрахування, переривання навчання, поновлення і переведення здобувачів вищої освіти. Закон про вищу освіту
  2. Кодекс честі
  3. Тимчасове положення про організацію освітнього процесу
  4. Положення про кредитно-модульну систему організації навчального процесу
  5. Тимчасове положення про надання академічних відпусток та повторного навчання в НТУУ «КПІ»
  6. Положення про проведення семестрового контролю та атестації студентів
  7. Правила внутрішнього розпорядку
  8. Правила внутрішнього розпорядку в студентських гуртожитках НТУУ "КПІ"
  9. Положення про реєстрацію студентів університету
  10. НАКАЗ № 1-227 | 03.09.13 | Про заходи щодо попередження та зменшення вживання тютюнових виробів і їх шкідливого впливу
  11. Наказ ректора НТУУ “КПІ” №4-83 від 10 квітня 2006 р. про заборону продажу та вживання алкогольних напоїв, в тому числі слабоалкогольних, на території НТУУ “КПІ”
  12. Про заходи щодо попередження та зменшення вживання тютюнових виробів і їх шкідливого впливу на здоров'я населення
ст.13 частина 3 абз 2:
 У спеціально   відведених  для  куріння  місцях  розміщується 
наочна інформація,  яка  складається  із  відповідного  графічного 
знака та тексту такого змісту: "Місце для куріння. Куріння шкодить 
Вашому здоров'ю!". 

неділю, 1 жовтня 2017 р.

Лінгвістичне забезпечення САПР 2017

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

Лабораторна робота №1

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

Склад протоколу:
  1. граматика мови програмування;
  2. таблиця лексем;
  3. показовий приклад програми (з усіма операторами та видами констант);
  4. вихідні таблиці лексичного аналізатора для прикладу;
  5. діаграма станів;
  6. таблиця переходів скінченного автомата.


Лабораторна робота №2

Реалізувати синтаксичний аналізатор (СА) на основі методу рекурсивного спуску. СА повинен мати зручний графічний інтерфейс користувача; надавати можливість вводити вхідний текст програми, записувати його в файл та відкривати файл з текстом; надавати можливість перегляду вихідних таблиць лексичного аналізатора; видавати лексичні та синтаксичні помилки. Усі повідомлення про помилки повинні супроводжуватися номером рядка, в якому було знайдено помилку.

Склад протоколу:
  1. протокол до першої роботи;
  2. перетворена граматика.


Лабораторна робота №3

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

Склад протоколу:
  1. протокол до першої та другої роботи;
  2. скінченний автомат у вигляді діаграми станів;
  3. скінченний автомат у вигляді таблиці переходів.

Лабораторна робота №4

Розробити програму, яка автоматично буде встановлювати відношення передування за граматикою (що відповідає варіанту). У разі виникнення протиріч, програма повинна повідомляти про це.

Склад протоколу:
  1. протокол до першої роботи;
  2. граматика, приведена до виду граматики простого передування.

Індивідуальні варіанти для груп
Оцінювання
Перескладання заліку буде відбуватися в моєму кабінеті (501-А).
ДатаЧас
22.01.20188:30
25.01.20188:30
Крім того можете прийти 20.01.2018 на другу пару (ближче до кінця) до заочників, але в заочників буде пріоритет, тому не обіцяю, що зможу виділити для вас багато часу.

Семестр 2

Лабораторна робота № 5

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

Склад протоколу:
  1. протокол до першої роботи;
  2. граматика простого передування.

Лабораторна робота № 6

Реалізувати побудову та виконання ПОЛІЗу арифметичного виразу під час синтаксичного аналізу методом висхідного розбору за рахунок виконання семантичних підпрограм. Вигляд арифметичного виразу відповідає завданню на граматику. СА повинен мати зручний графічний інтерфейс користувача; надавати можливість вводити арифметичний вираз, записувати його в файл та відкривати файл з текстом; надавати можливість перегляду вихідних таблиць лексичного аналізатора, а також граматики з відповідними семантичними підпрограмами, матриці відношень передування та таблицю розбору (вхід, стек, відношення, основа, ПОЛІЗ), таблицю обчислення ПОЛІЗу (див. посібник ІІ частина, С.13); видавати лексичні, синтаксичні помилки та помилки виконання. Усі повідомлення про помилки повинні супроводжуватися номером рядка, в якому було знайдено помилку.
Склад протоколу:
  1. протокол до першої роботи;
  2. граматика простого передування.

Лабораторна робота № 7. Побудова ПОЛІЗ за алгоритмом Дейкстри

Реалізувати побудову ПОЛІЗу для мови (згідно варіанту) за алгоритмом Дейкстри. Програма повинна виконувати лексичний розбір (лаб. №1), далі синтаксичний розбір (відповідно до варіанту курсової роботи), а після цього будувати ПОЛІЗ.
Інтерфейс програми повинен надавати усі можливості відповідних лескичного та синтаксичного аналізаторів, а крім того виводити таблицю покрокової побудови ПОЛІЗ і результуючий ПОЛІЗ окремо. Додатково можна виконати оптимізацію ПОЛІЗ за рахунок видалення визначень міток та присвоєння їм відповідних значень (посилань на комірки ПОЛІЗ / відповідних номерів комірок ПОЛІЗу). Таблиця побудови ПОЛІЗ повинна складатися принаймні з наступних полів (див. приклад в посібнику, С.48):
  1. символ вхідного рядка,
  2. стек,
  3. ПОЛІЗ.
Якщо граматика включає цикл перелічення, таблиця ПОЛІЗ (див. приклад в посібнику, С.52-53) також має включати поля:
  1. ознака циклу,
  2. зміна параметра циклу,
  3. додаткові функції (опціонально)
Склад протоколу:
  1. протокол до першої роботи;
  2. протокол до роботи, що відповідає синтаксичному розбору;
  3. таблиця пріоритетів операцій;
  4. опис побудови ПОЛІЗ умовного оператора, циклу та вводу й виводу:
    • загальний вигляд оператора,
    • блок-схема його виконання (крім вводу й виводу),
    • опис особливостей обробки службових слів.

Лабораторна робота № 8. Виконання ПОЛІЗ

Реалізувати виконання ПОЛІЗу. що будується відповідно до лабораторної №7. Програма повинна виконувати лексичний розбір (лаб. №1), далі синтаксичний розбір (відповідно до варіанту курсової роботи), будувати ПОЛІЗ (лаб №7), а потім виконувати ПОЛІЗ.
Інтерфейс програми повинен надавати усі можливості відповідних попередніх робіт, а також мати поле виконання програми, куди відбувається виведення та графічний інструмент зчитування даних. Крім того, має бути можливість переглянути таблицю покрокового виконання ПОЛІЗу з полями стеку та ПОЛІЗу, а також опису дії.

Склад протоколу (використовується протокол попередньої роботи):
  1. протокол до першої роботи;
  2. протокол до роботи, що відповідає синтаксичному розбору;
  3. таблиця пріоритетів операцій;
  4. опис побудови ПОЛІЗ умовного оператора, циклу та вводу й виводу:
    • загальний вигляд оператора,
    • блок-схема його виконання (крім вводу й виводу),
    • опис особливостей обробки службових слів.

Лабораторна робота № 9. Методи організації таблиць символів транслятора

  1. Запрограмувати методи, що вказані в індивідуальному завданні. Для отримання додаткового балу (+2) необхідно при цьому реалізувати відповідні інтерфейси колекцій (що було викладено в курсі Крамар).
  2. Вибрати розмір таблиці. 
  3. Заповнити таблицю обраним методом на 10%. 
  4. Зробити спробу занести в таблицю (але не заносити) ще 100 елементів, підраховуючи при цьому сумарну кількість проб таблиці. 
  5. Обчислити середню кількість проб, необхідних для запису одного елемента. 
  6. Заповнити таблицю на 50% та на 90% і повторити п.4,5. 
  7. Вивести результати дослідження та пояснити їх.
Склад протоколу:
  1. відповідні індивідуальним завданням функції хешування.
Методи, що порівнюються
  1. Лінійне рехешування.
  2. Квадратичне рехешування.
  3. Випадкове рехешування.
  4. Таблиці з внутрішніми ланцюжками.

Індивідуальні завдання:
Варіанти
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Методи, що порівнюються
1
1
1
2
2
2
3
3
3
4
4
4
2
3
3
3
4
4
4
2
3
4
3
4
1
1
2
4
3
2
1
1
1
2
4
3
2
1

понеділок, 19 грудня 2016 р.

Виставка студентських робіт

Транслятори

1. Андрій Кованьов студент групи ТР-41. 

Лабораторні роботі по трансляторам написані на С# і вирізняються красою коду. Можна ознайомитися тут. Особливо раджу переглянути реалізацію рекурсивного спуску. 

2. Дмитро Биченко студент групи ТР-31. 

Автор російськомовної граматики сповненої гумором. Повна версія тут. Мої улюблені елементи: цикл та умовний перехід.

<цикл> ::= покуда <LEвыполнить <дія>
<умова> ::= коль <LEтогда <сп. опер.> иначе <сп. опер.> кольнец

понеділок, 12 жовтня 2015 р.

Основи програмної інженерії для другої освіти 2015

Розрахункова робота
Звіт з розрахункової роботи має бути оформлений відповідно до вимог оформлення науково-дослідної документації. Для оформлення звіту в редакторі Microsoft Word 2007 чи більше можна використати відео-уроки.

Презентації до лекцій
Лекція 1
Лекція 2-3. Видатковий матеріал лекції 2: карта УП.



Література
  1. Лавріщева, К.М. Програмна інженерія / К.М. Лавріщева.– К.– 2008.–319 с. 
  2. Бахтизин, В. В. Технология разработки программного обеспечения : учеб. пособие / В. В. Бахтизин, Л. А. Глухова. – Минск : БГУИР, 2010. – 267 с. 
  3. Микушин, А. В. Цифровые устройства и микропроцессоры: учеб. пособие / А. В. Микушин, А. М. Сажнев, В. И. Сединин. — СПб.: БХВ-Петербург, 2010. — 832 с.
  4. Миков, А. И. Информатика. Введение в компьютерные науки / А. И. Миков. — Пермь: Изд-во ПГУ, 1998.
  5. Гудов, А.М. Технология разработки программного обеспечения : учеб. пособие / А.М. Гудов, С.Ю. Завозкин, С.Н. Трофимов. – Кемерово : б.и., 2009. – 138 с.
  6. Технологія проектування програмних систем: Електронний конспект лекцій / Укл. О.В.Поморова, Т.О.Говорущенко – Хмельницький: ХНУ, 2014. – 384 с.
  7. Жоголев, Е.А. Технология программирования / Е.А. Жоголев. – М. : Научный мир, 2004. – 216 с.
  8. Бахтизин В.В. Технология разработки программного обеспечения / В.В. Бахтизин, Л.А. Глухова. – Минск : БГУИР, 2010. – 267 с.
  9. ISO/IEC 12207:1995, Information Technology – Software life cycle processes, 1995 Amendments 2002, 2004
  10. ГОСТ 34.601-90 АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ. СТАДИИ СОЗДАНИЯ.
  11. ГОСТ Р-1999. ИТ. Процессы жизненного цикла программных средств
  12. Соммервилл, И. Инженерия программного обеспечения / И. Соммервилл. – М.: Вильямс, 2002
  13. Кулямин, В.В.  МЕТОДЫ ВЕРИФИКАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В.В. Кулямин. – Режим доступа : http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf
  14. ГОСТ Р ИСО/МЭК ТО 12182-2002 Классификация программных средств.
  15. SPICE document suite by SQI, USA.
  16. ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення.
  17. ДСТУ ГОСТ 7.1:2006 Система стандартов по информации, библиотечному и издательскому делу. БИБЛИОГРАФИЧЕСКАЯ ЗАПИСЬ. БИБЛИОГРАФИЧЕСКОЕ ОПИСАНИЕ. Общие требования и правила составления.
  18. ДСТУ ГОСТ 7.80:2007 Система стандартів з інформації, бібліотечної та видавничої справи. Бібліографічний запис. Заголовок. Загальні вимоги та правила складання.







середу, 2 вересня 2015 р.

Моделювання та аналіз ПЗ 2015


Лаби

  1. Побудова діаграми DFD за методом диференціації подій. СередовищеЗавдання та порядок роботи міститься  в методичці ("Лабораторна робота № 2"), слід виконувати порядок, починаючи з п.2.
  2. Побудова діаграми класів аналізу. Другу частину роботи, що пов'язана з програмуванням, можна виконувати не тільки мовою С#, просто в методичних матеріалах є опис усіх дій для С#.
  3. Реалізація прецедентів. 
  4. Побудова діаграми станів. Кожний третій студент за списком будує протокольний автомат, інші – поведінковий.
  5. Перехід до проектної моделі та застосування GRASP


Лекції

1. Основи моделювання. Функціональне моделювання: IDEF0, IDEF3, DFD. Текст. Презентація 1, Презентація 2 (IDEF3).

Щоденник

Дата
Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
Розділ (змістовий модуль) 1. Моделювання на етапі аналізу та проектування
Тема 1. Основи моделювання
01.09.2015
Лекція 1 
Поняття моделі SADT: контекст, взаємодія з навколишнім середовищем. Поняття мови моделювання. Основні методології моделювання. 
Огляд IDEF-технологій. Діаграми потоків даних DFD: нотації Гейна-Сарсона [4, C. 70-74] та Йордона. Структурний підхід [15, C. 126-133]. Підхід диференціації подій [15, C. 126-133, 336-399].
СРС: Класифікація моделей. Вимоги до моделей. Рівні побудови моделей. 
Література [2 сс. 47-50], [14 сс. 19-21, 37, 82-86], [17 сс. 45-53]
СРС: Інструментальне середовище BPwinСередовище ERwin, зв’язок моделі даних та процесівІнші засоби та нотації проектування: метод Чена, метод Баркера, метод фірми ORACLE
Література [7 сс. 14-22, 152-161]  [20 сс. 90-119] [1 сс. 90-140; 11 сс. 6-9]
Лаб1
Предметні області
ДЗ
Виконати першу роботу, кінцевий строк:
ТВ-3108.09.2015
ТІ-3110.09.2015
ТВ-3211.09.2015
08.09.2015
Лекція 2
Класи в UML
15.09.2015
Лекція 3
Виявлення класів
22.09.2015
Лекція 4
Діаграми взаємодії: діаграми послідовностей та комунікацій.
29.09.2015
Лекція 5
Діаграми взаємодії. Приклади: діаграми об'єктів, сценарії АТМ, авторизація, реєсрація.
06.10.2015
Лекція 6
Діаграми діяльності
13.10.2015
МКР1
Теми до діаграм діяльності (виключно): IDEF0(тільки теорія), IDEF3 (тільки теорія), DFD та підхід диференціації подій, діаграми класів, об'єктів, послідовностей, комунікацій

Оцінювання

Ви можете переглянути свій поточний рейтинг в  файлі оцінювання

Іспит

Теоретичні питання

Перескладання іспиту
26.01.201610:30-12:00
28.01.201610:30-12:00