Programming optical tasks in Python
Course: Optotechnique
Structural unit: Faculty of Physics
            Title
        
        
            Programming optical tasks in Python
        
    
            Code
        
        
            ВК 1.1.7
        
    
            Module type 
        
        
            Вибіркова дисципліна для ОП
        
    
            Educational cycle
        
        
            First
        
    
            Year of study when the component is delivered
        
        
            2022/2023
        
    
            Semester/trimester when the component is delivered
        
        
            7 Semester
        
    
            Number of ECTS credits allocated
        
        
            5
        
    
            Learning outcomes
        
        
            - Understand the broad interdisciplinary context of the specialty, its place in the theory of knowledge and evaluation of objects and phenomena - Be able to use information technology in software development for measuring information - Be able to explain and describe the principles of computing subsystems and modules used in measuring - Understand the application of methods and techniques of analysis, design and research, as well as the limitations of their use - Know and be able to apply modern information technology to solve problems in metrology and information-measuring technology - Know and understand the subject area, its history and place in sustainable development techniques and technologies in the general system of knowledge about nature and society - Know and understand the physical basis of optical phenomena and processes: analyze, interpret, explain and classify optical phenomena, as well as the basic physical processes occurring in them.
        
    
            Form of study
        
        
            Prerequisites and co-requisites
        
        
            Have basic knowledge of computer science and programming; have basic training in mathematical analysis, linear algebra, be able to solve differential equations.
        
    
            Course content
        
        
            In the discipline students get acquainted with the basic concepts of high-level Python programming: concepts and structures used in programming (variables, data types, operators and expressions, I / O procedures, routines, functions, classes). Learn to develop programs using these elements together with software modules NumPy, SciPy, Matplotlib to develop algorithms for solving applications and visualization of results. The course also covers the basics of object-oriented programming and creating a graphical user interface using the Qt5 software package.
It is taught in the 1st semester, the amount of 4 ECTS credits (120 hours), of which lectures - 30 hours, laboratory classes - 14 hours, consultations - 1 hour, independent work - 75 hours. The semester ends with an exam.
        
    
            Recommended or required reading and other learning resources/tools
        
        
            Основна
Програмування числових методів мовою Python підруч. А. В. Анісімов, А.Ю. Дорошенко, С. Д. Погорілий, Я. Ю. Дорогий ;за ред. А. В. Анісімова. – К. Видавничо-поліграфічний центр Київський університет, 2014. – 640 с.
Костюченко А.О. Основи програмування мовою Python: навчальний посібник. Ч.: ФОП Баликіна С.М., 2020. -180 с.
Васильєв О. М. Програмування мовою Python. Тернопіль: Навчальна книга –
Богдан, 2019. – 504с.
Vasudevan Lakshminarayanan, Hassen Ghalila, Ahmed Ammar and Srinivasa Varadharajan.  Understanding Optics with Python. CRC Press, 2018; 375 pages.
https://www.python.org/
https://numpy.org/
https://scipy.org/
https://pillow.readthedocs.io/en/stable/
Додаткова 
Руденко В., Жугастров О. Інформатика. Основи алгоритмізації та програмування мовою Python. Харків: Ранок, 2019. – 192 с.
M. Lutz. Learning Python, 5th ed. – O'Reilly Media, 2013. – 1648 p.
2. J. Kiusalaas. Numerical Methods in Engineering with Python 3. – Cambridge University Press, 2013. – 432 p.
        
    
            Planned learning activities and teaching methods
        
        
            Teaching and learning methods: lectures and laboratory work, surveys on laboratory work,
modular test, exam.
        
    
            Assessment methods and criteria
        
        
            Semester assessment:
1. Modular test 1: 10 points
2. Modular test 2: 10 points
3. Laboratory works (8 works): - 5 points for each
Final assessment in the form of an exam: - 40 points.
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
                    Anatoliy
                    Volodymyrovych
                    Tugay
                
                
                    Astronomy and Space Physics Department 
Faculty of Physics
            Faculty of Physics
Departments
The following departments are involved in teaching the above discipline
                        Astronomy and Space Physics Department
                    
                    
                        Faculty of Physics