III. Объектно-ориентированное программирование
1) Парадигма объектно-ориентированного программирования, её особенности по сравнению с другими парадигмами.
2) Отличие ООП от процедурного программирования.
3) Отличие ООП от агентно-ориентированного программирования.
4) Понятия ООП. Абстракция.
5) Понятия ООП. Инкапсуляция.
6) Понятия ООП. Наследование.
7) Понятия ООП. Класс.
8) Понятия ООП. Интерфейс и реализация.
9) Понятия ООП. Объект.
10) Понятия ООП. Полиморфизм.
11) Взаимодействие объектов. Посылка сообщений.
12) Взаимодействие объектов. Вызов методов.
13) Языки Objective C и C++, как представители объектно-ориентированных языков. Их различия.
14) Особенности реализации языков ООП, основанных на вызове методов - поля данных, методы, контроль доступа, указатель this (или ссылка self). Свойства (property).
15) Полиморфизм стадии компиляции и полиморфизм времени выполнения. Шаблоны классов в C++.
16) конструкторы, деструкторы в ООП.
17) Перегрузка операций, как дополнительный инструмент абстрагирования.
18) Понятие об объектно-ориентированных базах данных. Отличие таких БД от реляционных.
IV. Современные технологии параллельного программирования.
31. OpenMP: Синхронизация (функции runmme-‐библиотеки, атомарные операции, выполнение только одним потоком). |
32. OpenMP: Директивы и пункты, управляющие выполнением заданий. |
33. OpenMP: Доступ к переменным при использовании заданий. |
34. OpenMP: Правила определения класса (доступа) переменных (в каких случаях переменная будет shared, private, …) |
Литература:
1. Э. Таненбаум. Современные операционные системы. 3-е изд. - СПб.: Питер, 2010. — 1120 с.
2. Ulrich Drepper. What every programmer should know about memory. http://lwn.net/Articles/250967/, 2007.
3. С. Озеров, А. Карабуто. Технологии виртуализации: вчера, сегодня, завтра. http://citforum.ru/operating_systems/virtualization/, 2006.
4. А.А. Самарский. Теория разностных схем / А. А. Самарский. – М. : Наука, 1983.
5. А.И. Сухинов. Двумерные схемы расщепления и некоторые их приложения. - М.: МАКС Пресс, 2005. -408 с.
6. А. И. Сухинов, А.Е. Чистяков, Е.В. Алексеенко. Численная реализация трехмерной модели гидродинамики для мелководных водоемов на супервычислительной системе. Математическое моделирование, 2011, том.23, №3, С. 3 – 21.
7. А.А. Самарский, Е.С. Николаев. Методы решения сеточных уравнений. М. Наука, 1978.
8. А.Н. Коновалов. К теории попеременно - треугольного итерационного метода// Сибирский математический журнал, 2002, 43:3, с. 552-572.
9. А.А. Самарский, П.Н. Вабищевич. Численные методы решения задач конвекции-диффузии. М., Эдиториал УРСС, 1999.
10. Ф. Препарата, М. Шеймос. Вычислительная геометрия: Введение. – М. : Мир, 1989. – 479 с.
11. Андерсон Д., Таннехил Дж., Плетчер Р. Вычислительная гидромеханика и теплообмен, том 1. – М. : Мир, 1990. – 384 с.
12. Андерсон Д., Таннехил Дж., Плетчер Р. Вычислительная гидромеханика и теплообмен, том 2. – М. : Мир, 1990. – 392 с.
13. Herbert Edelsbrunner. Geometry and Topology for Mesh Generation. http://search.barnesandnoble.com/Geometry-and-Topology-for-Mesh-Generation/Herbert-Edelsbrunner/e/9780521682077, 2006.
14. Oyvind Hjelle. Triangulations and Applications (Mathematics and Visualization) http://www.springer.com/mathematics/computational+science+%26+engineering/book/978-3-540-33260-2, 2010.
15. Thompson Joe F., Warsi Z. A., Mastin C. V. Numerical Grid Generation, Foundations and Applications, 1985.
16. Воеводин В. В, Воеводин Вл. В. Параллельные вычисления. – «БХВ-Петербург», 2002. – 609 с.
17. Корнеев В. В. Параллельные вычислительные системы. – М.: «Нолидж», 1999. – 320 с.
18. Intel Corporation. Developing Multithreaded Applications: A Platform Consistent Approach
19. Shameem Akhter, Jason Roberts. Multi-Core Programming. — Intel Press 2006, ISBN 0-9764832-4-6
20. Stewart Taylor. Optimizing Applications for Multi-Core Processors. — Intel Press 2007, ISBN 1-9340530-1-5
21. A. Edelman, P. McCorquodale, and S. Toledo. The future fast fourier transform. SIAM Journal on Scientific Computing, 20(3):1094–1114, 1999.
22. I. S. Duff, R. G. Grimes, and J. G. Lewis, Sparse matrix test problems, ACM TOMS, 15 (1989), pp. 1-14.
23. J. Conroy, S. Kratzer, and R. Lucas, Data parallel sparse LU factorization, in Parallel Processing for Scientific Computing, SIAM, Philadelphia, 1994.
24. J. A. George and J. W. H. Liu. Computer Solution of Large Sparse Positive Definite Systems. Prentice-Hall, 1981.
25. A. George, J. W. H. Liu, and E. Ng, Communication results for parallel sparse Cholesky factorization on a hypercube, Parallel Comput. 10 (1989), pp. 287–298.
26. A. George, M. T. Heath, J. Liu, E. Ng. Sparse Cholesky factorization on a local-memory multiprocessor. SIAM J. on Scientific and Statistical Computing, 9, 327–340, 1988
27. N.J. Higham, The Accuracy of Floating Point Summation SIAM J. Scient. Comput. , 14:783–799, 1993.
28. L.S. Ostrouchov, M.T. Heath, and C.H. Romine, Modeling speedup in parallel sparse matrix factorization, Tech Report ORNL/TM-11786, Mathematical Sciences Section, Oak Ridge National Lab., December, 1990.
29. H. D. Simon. Partitioning of unstructured problems for parallel processing. Computing Systems in Engineering 2:(2/3), pp135-148.
30. Иан Грэхем. Объектно-ориентированные методы. Принципы и практика. — 3-е изд. — М.: «Вильямс», 2004. — С. 880.
31. Стивен Кочан. Программирование на Objective-C 2.0. "ЭКОМ Паблишерз", 2010. С. 583.
32. Прата С. Язык программирования C++. Лекции и упражнения. "Вильямc", 2011. С. 1244.
Программу составил:
д.ф.-м.н., проф.,
зав. кафедрой ВМ П.В. Серба
Программа утверждена
Ученым Советом ЕГФ ТТИ ЮФУ
Председатель Ученого Совета ЕГФ ТТИ ЮФУ,
декан ЕГФ Г.В. Куповых