Спецкурс:
Системата Mathematica - част II: Програмиране за напреднали.

Хорариум: 45 часа лекции, 45 часа практикум (3+0+3), 6 кредита, летен семестър

Уеб-достъпни изчисления     (маг.прог. Изчислителна информатика)

Хорариум: 30 часа лекции, 30 часа практикум (2+0+2), 5 кредита, летен семестър

Лектор: ст.н.с. д-р Евгения Д. Попова - ИМИ, БАН,  тел.: 979-3704, e-mail: <>

Курсът ще се проведе в интензивни блокове. Студентите, които ще го посещават задължително да изпратят на преподавателя координати за връзка.

Анотация:

Осигуряването на динамичност и интерактивност в математическото общуване чрез Интернет е бурно развиващо се съвременно направление със своя специфика. Курсът запознава с продукта webMathematica, който интегрира изчислителната система Mathematica с уеб сървър и поддържа средства за разработка на уеб интерфейс към интерактивни изчисления и графика. В курса се разглежда webMathematica технологията за създаване на уеб услуги осигуряващи динамичен и интерактивен достъп до специфични математически изчисления, както и комуникационни протоколи осигуряващи връзка на системата Mathematica с външни програми. Създаването конкретни динамични уеб приложения съдържащи тематично обединени интерактивни изчисления и графика е задължителна компонента на курса чрез която студентите придобиват необходимите умения за:

  • Създаване на Mathematica базирани софтуерни средства за решаване на специфични задачи и визуализация;
  • Организация на взаимодействие между различни изчислителни среди и езици за програмиране;
  • Създаване на динамичен Web интерфейс към Mathematica базирани изчисления и графика.
По време на компютърния практикум студентите ще работят върху специфични тематични проекти за изграждане на цялостно завършени Mathematica базирани продукти и създаване на динамични уеб услуги осигуряващи достъп чрез уеб браузър до специализирани приложения.

Курсът е предназначен за студенти, които имат изградени умения за работа със системата Mathematica. Той е продължение на курса "Системата Mathematica - част I: Практическо въведение". От студентите се изисква познаване на основните принципи на съвременните компютърни системи и езици за програмиране, както и базови познания по HTML и съвременни Web технологии. Присъствието на началните лекции/упражнения е задължително.

Програма на спецкурса:

  1. Програмни методологии в Mathematica: функционално и процедурно програмиране; рекурсивно програмиране; програмиране основано на правила.

  2. Създаване на пакети; работа с контексти.

  3. Графично програмиране. Структура на графиката. Анимация. Графични пакети.

  4. WebMathematica технология. Java Server Pages и Mathematica страници.

  5. Интерпретация и обработка на входни променливи в Mathematica страници.

  6. Работа с променливи на страница и променливи на сесия.

  7. Предаване на Mathematica съобщения във уеб страници.

  8. Форматиране на резултати. HTML темплейти във webMathematica.

  9. Използване на Mathematica пакети в Mathematica Server Pages.

  10. WebMathematica функции за представяне на двумерна графика.

  11. Интерактивна графика в Mathematica Server Pages. Аплет LifeGraphics3D.

  12. Web достъп до графична анимация.

  13. Изпращане на графични файлове към потребителя от Mathematica страници.

  14. Зареждане на потребителски файлове с данни.

  15. Взаимодействие между Mathematica Server Pages, Java, Java Script, MathML и др.

Литература:

  1. Wolfram, S.: The Mathematica Book, 4th ed., Wolfram Media/Cambridge U. Press, 1999.
  2. Maeder, R.: Programming in Mathematica, 2nd ed., Addison-Wesley Publ., 1990.
  3. Wickham-Jones, T.: webMathematica: A User Guide, Version 2.0, Wolfram Research, Inc., 2003.
    http://documents.wolfram.com/webmathematica/
  4. S. Wolfram: A New Kind of Science, Wolfram Media/Cambridge U. Press, 2002.
    http://www.wolframscience.com/nksonline/