CSTB320 Креативно интерактивно програмиране с отворен код
Анотация:
Целта на курса е студентите да изучат и разберат, принципите и методите, както и технологиите решения с отворен код за креативно програмиране на базата на продуктите Processing и Arduino - едни от най-разпространените програмни платформи в разглеждана област. Описват се основните принципи за изграждане на програмен интерфейс с потребителя и се представят възможностите на използваните програмни продукти. Изучават се основните езикови конструкции и техники за програмиране и се натрупват практически опит и умения за разработване на интерактивни програмни решения. Студентите получават теоретични знания и практически умения по проектиране и програмиране на интерактивни решения, които ще използват в следващите курсове от своето обучение
Преподавател(и):
проф. Стоян Малешков д-р
Описание на курса:
Компетенции:
Успешно завършилите курса студенти:
1) знаят:
- основните принципи и техники за създаване на интерактивни програми с програмните продукти с отворен код Processing и Adruino;
2) могат:
- дa използват продукти с отворен код Processing и Adruino за създаване на интерактивни програми с графичен изход.
Предварителни изисквания:
Желателни, но не задължителни са знания и умения по:
• Основи на програмирането
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
1. Основни принципи за креативно програмиране с отворен код. Характеристика на продуктите за интерактивно програмиране Processing и Arduino.
2. Основни принципи за изграждане на програмен интерфейс с потребителя.
3. Език за програмиране Processing - основна структура на програма. Типове данни, променливи, основни езикови конструкции.
4. Език за програмиране Processing - функции и обекти.
5. Език за програмиране Processing - обработване на събития.
6. Визуално програмиране с Processing.
7. Микроконтролер Arduino - основна концепция и функции. Проектиране и изграждане на физически прототипи. Симулатор на функциите на микроконтролера Arduino.
8. Език за програмиране Arduino - основна структура на програма. Типове данни, променливи, основни езикови конструкции.
9. Език за програмиране Arduino - управление на аналогови и цифрови входове и изходи; стандартни математически функции и функции за задържане изпълнението на програмата.
10. Език за програмиране Arduino - програмиране на обмен на данни по сериен интерфейс. Програмиране на изграждане на връзка и обмен на данни между програми, съставени в средите за интерактивно програмиране Processing и Arduino.
Литература по темите:
1. Записки от лекциите и презентационни материали, предоставени в електронен формат в системата за електронно обучение „НБУ – Moodle”.
2. D. Shiffmann, Learning Processing - A Beginner’s Guide to Programming Images, Animation, and Interaction, Elsevier Inc., 2008 – учебникът e предоставен в електронен формат в системата за електронно обучение „НБУ – Moodle”.
3. A. Glassner, Processing - programming for visual artists, SIGGRAPH 2010 Course Notes - документът e предоставен в електронен формат в системата за електронно обучение „НБУ – Moodle”.
4. C. Reas, B. Fry, Processing: a programming handbook for visual designers and artists. MIT Press, 2007 - документът e предоставен в електронен формат в системата за електронно обучение „НБУ – Moodle”.
5. Браян Евънс, Arduino - книжка за програмиране, превод на български, 2007 – учебникът e предоставен в електронен формат в системата за електронно обучение „НБУ – Moodle”.
6. Масимо Банци, Запознанство с Arduino, превод на български, 2007 – учебникът e предоставен в електронен формат в системата за електронно обучение „НБУ –Moodle”.
7. Уеб сайт: https://processing.org/
8. Уеб сайт: https://www.arduino.cc/
9. Софтуерен симулатор на контролер Arduino, свързан към платка с електронни елементи - уеб сайт: https://123d.circuits.io/lab или http://virtronics.com.au/Simulator-for-Arduino.html
Средства за оценяване:
Tекущ контрол:
• контролна работа – в средата на семестъра – 8 -9 седмица,
• проект – разработван, предаван и защитаван през втората половина на семестъра – 14 - 15 седмица.
Студентите, които са изпълнили успешно писмената контролна работа и проекта се освобождават по тяхно желание от изпит. Поправка на контролната работа, както и предаване и защита на проекта може да се направи по време на сесията.