High-performance Computing
Course: Computer science
Structural unit: Faculty of information Technology
            Title
        
        
            High-performance Computing
        
    
            Code
        
        
            ОК 23
        
    
            Module type 
        
        
            Обов’язкова дисципліна для ОП
        
    
            Educational cycle
        
        
            First
        
    
            Year of study when the component is delivered
        
        
            2022/2023
        
    
            Semester/trimester when the component is delivered
        
        
            5 Semester
        
    
            Number of ECTS credits allocated
        
        
            4
        
    
            Learning outcomes
        
        
            To use tools for developing client-server applications, design conceptual, logical and physical models of databases, develop and optimize queries to them, create distributed databases, data warehouses and showcases, knowledge bases, including cloud services, using web programming languages. 
To perform parallel and distributed computing, apply numerical methods and algorithms for parallel structures, parallel programming languages in the development and operation of parallel and distributed software.
        
    
            Form of study
        
        
            Full-time form
        
    
            Prerequisites and co-requisites
        
        
            to know:
- architectural features of the organization of PCs of different classes;
- functional and structural organization of the PC processor and memory;
- principles of multi-level organization of local and global computer networks;
- configurations of local area networks and methods of access to them;
- hardware and software of telecommunications.
be able to:
- use Microsoft Visual Studio technologies to develop software projects;
- independently debug a computer and software components;
- choose the basic configuration of PCs and peripherals;
- design the architecture of computer networks and telecommunication systems;
to own:
- methods of installing and debugging software;
- skills of compiling algorithms, writing and debugging programs in one or more programming languages;
- methods of designing the architecture and creation of computer networks.
        
    
            Course content
        
        
            The discipline is devoted to the study of methods and means of organising high-performance computing.  Particular attention is paid to the construction of parallel computing systems, in particular, parallel computing technologies in the architecture of modern applied information systems, as well as available parallel programming software tools. In particular, the course covers the classification of parallel systems and their quality indicators, synchronisation in parallel computing, properties of multithreaded programs, parallel programming patterns, tools and technologies for parallel programming in systems with shared (OpenMP) and distributed (MPI) memory, basics of algorithmisation and software implementation of practical examples of data processing methods (PySpark), implementation of distributed databases, data warehouses and showcases, knowledge bases, including using cloud infrastructures. 
        
    
            Recommended or required reading and other learning resources/tools
        
        
            Akhter Sh., Roberts J. Multi-Core Programming. Increasing Performance through Software Multi-threading, IntelPress, 2021. ISBN:  978-8183333924.
Минайленко Р.М. Паралельні та розподілені обчислення: навч. посіб. ― Кропивницький: Видавець Лисенко В. Ф., 2021. ― 153 с.
Andrew S. Tanenbaum, Herbert Bos Modern Operation System. 4th Edition. PhPtr, New Jersey. 2015. – 1120 p. 
Akhter Sh., Roberts J. Multi-Core Programming. Increasing Performance through Software Multi-threading, IntelPress, 2021. ISBN:  978-8183333924.
–
Andrew S. Tanenbaum, Herbert Bos Modern Operation System. 4th Edition. PhPtr, New Jersey. 2015. – 1120 p. 
        
    
            Planned learning activities and teaching methods
        
        
            Lectures, practical classes, individual work
        
    
            Assessment methods and criteria
        
        
            The level of achievement of all planned learning outcomes is determined by the results of written tests, laboratory and independent work.
The total share of learning outcomes in the final grade is as follows:
learning outcomes - 1 (knowledge) - up to 20%;
learning outcomes - 2 (skills) - up to 65%;
learning outcomes - 3 (communication) - up to 5%;
learning outcomes - 4 (autonomy and responsibility) - up to 10%.
The total score for the semester is formed as a weighted sum of points earned by the student for different types of work.
A student is given credit based on the results of work during the semester. If the resulting total number of points is 60 and above, the student is awarded "passed". Students with a total score of less than the critical calculation minimum of 40 points are not allowed to take the test. The recommended minimum for admission to the test is 48 points
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
Faculty of information Technology
Departments
The following departments are involved in teaching the above discipline
                        Faculty of information Technology