Programming paradigms
Course: System Analysis
Structural unit: Faculty of Computer Science and Cybernetics
            Title
        
        
            Programming paradigms
        
    
            Code
        
        
            Module type 
        
        
            Вибіркова дисципліна для ОП
        
    
            Educational cycle
        
        
            First
        
    
            Year of study when the component is delivered
        
        
            2024/2025
        
    
            Semester/trimester when the component is delivered
        
        
            3 Semester
        
    
            Number of ECTS credits allocated
        
        
            7
        
    
            Learning outcomes
        
        
            To know the essence and basis of the paradigm of functional programming, to know the means of supporting the functional style of programming and their presentation in the Haskell programming language.
To know the essence and basis of the paradigm of logical programming, to know the means of supporting the logical style of programming.
Know the essence of declarative tools for object-oriented paradigm, know the tools of declarative programming for .Net and Java.
Be able to apply a functional programming style using the Haskell programming language.
Be able to apply logical programming using Prolog processors, in particular SWIProlog.
Be able to use declarative programming tools for .Net and Java.
Argue your own choice of approaches to solving the problem, communicate with colleagues on design and development
        
    
            Form of study
        
        
            Full-time form
        
    
            Prerequisites and co-requisites
        
        
            1. Know: basic concepts and concepts of programming, algebra and mathematical analysis at the basic level (the volume of the first year of university), the essence of the concept of algorithm.
2. Be able to: create programs in any language, read and analyze mathematical texts, implement simple algorithms.
3. Have basic skills: working with a computer, searching for information on the Internet, using translation systems.
        
    
            Course content
        
        
            The subject "Object-Oriented Programming" is a component of the educational-professional training program for the first (bachelor's) level of higher education. It examines the advantages and disadvantages of object-oriented approach, considers approaches to effective software development, practices the use of tools for industrial software development, version control systems. There is also a development of skills to implement algorithms and learn the basics of complexity analysis.
The course is taught in the 3rd and 4th semesters of the 2nd year in the amount of 210 hours. (7 ECTS credits) in particular: lectures - 54 hours, laboratory - 48 hours, consultations - 2 hours, independent work - 106 hours. The course includes 3 parts and 3 tests. Semester 3 ends with a test, semester 4 ends with an exam.
        
    
            Recommended or required reading and other learning resources/tools
        
        
            2. Lipovača M. Learn You a Haskell for Great Good! Miran Lipovača. : No Starch Press », 2011.
        
    
            Planned learning activities and teaching methods
        
        
            Lecture, laboratory work, independent work
        
    
            Assessment methods and criteria
        
        
            Test work, exam.
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
Departments
The following departments are involved in teaching the above discipline