Parallel programming
Research of the algorithms and programming techniques of the newest parallel platforms with shared and distributed memory. The student will learn the theoretical and practical (programmatical) components.
Research of the algorithms and programming techniques of the newest parallel platforms with shared and distributed memory. The student will learn the theoretical and practical (programmatical) components.
Introduction to virtualization as a paradigm for creation of virtual computer systems using software virtualization of hardware components. Analysis of different aspects of virtualization, technologies and techniques included in the process, as well as advantages and disadvantages introduces by using virtualization.
The aim of the course is for the students to become familiar with the basics of modern machine learning techniques.
Students will obtain knowledge with the Data Science fundamentals and they will be introduced to the process and methodologies for operations with data, starting from problem identification, data collection and data processing. At the end of the course students would know the basic techniques for data processing and pattern recognition in the data, as well as, they will know how to visualize the results and properly interpret them.
The aim of the course is to familiarize students with the concept of data visualization, selection of techniques and algorithms for visualization of different data sets, and their program implementation. Upon completion of the course is expected the student to demonstrate knowledge of the concept of data visualization, knowledge how to select and implement algorithms for visualizing different data types by programming or by using visualization tools.
The goal of the course is to understand the methods of distributed and parallel processing, the possibilities to paralelise sequential execution, distributed processing of big data and the problems that need to be overcomed.
Upon successful completion of the course, students will have an understanding of the basic areas of artificial intelligence including search, problem solving, knowledge representation, reasoning, decision making, planning, perception and action, and learning -- and their applications. Students will also be able to design and implement key components of intelligent agents of moderate complexity and evaluate their performance.
After the completion of this course, the students will have the knowledge of the architectures with high performance. They will understand the systems that are used for high performance computing and they will have the knowledge for algorithm speedup by their analysis and transformation based on available hardware infrastructure especially on their processor and memory hierarchy.