Specialized Programming Languages

Major: Distributed Information Systems and Technologies
Code of subject: 6.126.03.O.016
Credits: 5.00
Department: Information Systems and Networks
Lecturer: Ph.D., Kopytko Serhii
Semester: 3 семестр
Mode of study: денна
Мета вивчення дисципліни: To provide students with advanced theoretical and practical knowledge, skills, and an understanding of the principles and methods of practical data analysis, fostering the ability to work with fast and high-performance data structures that significantly simplify both the preliminary processing and subsequent analysis of information. Skills in preparing data of various qualities, including the systematization of information from different sources, its integration, consolidation, and cleaning for further analytical and operational use, will contribute to the successful fulfillment of professional duties in the field of "Information Systems and Technologies" and prepare students for further studies.
Завдання: The study of this academic discipline aims to develop the following competencies in students: Integral Competency: The ability to solve complex specialized tasks and practical problems in the field of information systems and technologies, or in the learning process, characterized by complexity and uncertainty of conditions that require the application of theories and methods of information technologies. General competencies: КЗ 1. Ability to abstract thinking, analysis and synthesis. КЗ 2. Ability to apply knowledge in practical situations. КЗ 3. Knowledge and understanding of the subject area and understanding of professional activity. КЗ 5. Ability to learn and master modern knowledge. КЗ 6. Ability to search, process and analyze information from different sources. КЗ 8. Ability to evaluate and ensure the quality of work performed. КЗ 10. The ability to preserve and increase the moral, cultural, scientific values and achievements of society based on understanding the history and patterns of development of the subject area, its place in the general system of knowledge about nature and society and in the development of society, technology and technology, to use different types and forms of motor activity for active recreation and healthy lifestyle. General special (professional) competencies: КС 11. Ability to analyze, synthesize and optimize information systems and technologies using mathematical models and methods.. КС13. The ability to conduct computational experiments, compare the results of experimental data and obtained solutions. Special (professional) competencies: 2.1. The ability to conduct research, extract, and analyze data from various information resources based on mathematical models and data science methods to support decision-making processes. 2.6. The ability to lead the development and implementation of a project for creating data analytics tools and technologies, applying mathematical models, technologies, and algorithms for research, extraction, analysis, and processing of Big Data and distributed information resources.
Learning outcomes: As a result of studying the academic discipline, the student must be able to: 1) Formulate and solve problems in the field of information systems and technologies; 2) Implement algorithms in Python using the capabilities of the pandas library; 3) Execute programs in IPython interpreter mode within the JupyterLab environment; 4) Apply various methods of data cleaning and transformation to enable further analysis; 5) Use different approaches to interpolate missing values; 6) Conduct initial statistical analysis and data visualization; 7) Perform data grouping and filtering; 8) Apply various methods of time series analysis and transformation.
Required prior and related subjects: Programming and teamwork; Object-oriented programming; Applied programming; Artificial intelligence methods; Analytical data warehouses; Data analysis technologies.
Summary of the subject: Studying the theoretical foundations and practical tools for organizing data preparation for subsequent analytical and operational use with modern and specialized programming languages. Building a theoretical knowledge base for students, introducing them to efficient and high-performance data structures that simplify preliminary processing and analysis of information. Focusing on practical skills in using various tools for data analysis, cleaning, and transformation according to the tasks at hand.
Опис: 1. Basic Concepts and Python Programming Environment General concepts. Anaconda distribution. Basics of working in the Jupyter Lab environment. Basic syntax of the Markdown data markup language. Simple data types. Mathematical and logical operators. Variables. Functions and modules. 2. Classes and Core Objects in Python Concept of class and class instance. Class attributes and methods. Working with classes and instances. Lists. Tuples. Dictionaries. Sets. Key methods for data manipulation and transformation in Python. 3. Representation and Analysis of Univariate Data Basic objects of the NumPy library. Working with NumPy arrays. Key attributes and methods of the Pandas Series class. Creating Series objects based on lists, tuples, dictionaries, and sets. Importing CSV files. Data alignment by index labels. Sorting Series objects. Mathematical operations on Series objects. 4. Representation and Analysis of Tabular, Multidimensional, Textual, and Categorical Data Creating DataFrame objects based on associative arrays and NumPy arrays. Commonalities and differences in attributes and methods of Series and DataFrame classes. Indexing, filtering, and sorting DataFrame objects. Basic methods for data ordering: handling duplicates and missing values. Working with textual data. Data indexing. Categorical data. 5. Representation and Analysis of MultiIndex Objects The MultiIndex class in Pandas. Handling DataFrame objects with multi-indexes. Selecting and sorting data using multi-indexes. Key operations on the index. 6. Merging, Grouping, Concatenation, and Reshaping of Data Saving data in wide and narrow formats. Creating a pivot table. The pivot method. Decomposing an aggregated dataset. Creating a container for data grouping. Attributes and methods of the GroupBy object. Data aggregation operations. Merging and concatenation of datasets. 7. Statistical Methods of Primary Data Analysis and Visualization Performing statistical operations on Pandas objects. Analysis of central tendency and variation measures to identify data distribution characteristics. Data visualization with Pandas and Matplotlib libraries. Main approaches to handling asymmetric, bimodal, and normally distributed input data. Data distribution visualization using histograms. Visualization of categorical data using box plots with whiskers. Identifying relationships in input data using correlation analysis and scatter plots. 8. Time Series Analysis Introduction to time series. Creating a timestamp. Representing time intervals. Representing time intervals with shifted dates. Key operations with time series.
Assessment methods and criteria: • Current Assessment (45%): written reports on laboratory work, oral questioning, testing. • Final Assessment (55%, examination control): testing (50%), oral component (5%).
Критерії оцінювання результатів навчання: Критерії оцінювання знань та вмінь студента за результатами вивчення навчального матеріалу дисципліни у 100-бальній шкалі: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–80 балів – («дуже добре») виставляється за знання навчального матеріалу компонента вище від середнього рівня, включаючи розрахунки, аргументовані відповіді на поставлені запитання (можлива невелика кількість неточностей), вміння застосовувати теоретичні положення під час розв’язання практичних задач; 79–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 –61 бал – («посередньо») виставляється за посередні знання навчального матеріалу компонента, мало аргументовані відповіді, слабке застосування теоретичних положень під час розв’язання практичних задач; 60–50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («незадовільно» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Порядок та критерії виставляння балів та оцінок: The academic discipline concludes with semester assessment, the form of which is specified in the curriculum and includes a semester grade. The semester grade consists of the total points from current assessment and examination assessment. This information is provided to students by the instructor during the first class of the academic discipline.
Recommended books: Рекомендована література Базова 1. Маттес Е., Белова О. Пришвидшений курс Python. Практичний, проектно-орієнтований вступ до програмування. – Львів: Видавництво Старого Лева, 2023. – 600 с. 2. Paskhaver, Boris. Pandas in Action. [edition unavailable]. Manning Publications, – 2023. – 511p. 3. Michael Heydt. Learning pandas. [second edition]. High-performance data manipulation and analysis in Python. Published by Packt Publishing Ltd. – 2019. – 682 p. Допоміжна 1. Daniel Y. Chen. Pandas for Everyone: Python Data Analysis, 2nd edition. Published by Addison-Wesley Professional. – 2023. 2. Stefanie Molin. Hands-On Data Analysis with Pandas - Second Edition: A Python data science handbook for data collection, wrangling, analysis, and visualization 2nd ed. Edition. Published by Packt Publishing Ltd. Інформаційні ресурси 1. Python Підручник Pandas: DataFrame, діапазон дат, використання Pandas. [Електронний ресурс]. – Режим доступу : https://www.guru99.com/uk/python-pandas-tutorial.html 2. Jupyter Lab Installation. [Електронний ресурс] // Офіційний сайт Jupyter Lab. – Режим доступу : https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html 3. Markdown Guide. [Електронний ресурс] – Режим доступу : https://www.markdownguide.org/basic-syntax/ 4. Python – Tutorial [Електронний ресурс] // Офіційний сайт Tutorialspoint. – Режим доступу : https://www.tutorialspoint.com/python/index.htm. 5. Getting Started with Python Programming [Електронний ресурс] // Офіційний сайт DataFlair. – Режим доступу : https://data-flair.training/blogs/python-tutorials-home/. 6. Data Visualization with Python. [Електронний ресурс] – Режим доступу : https://www.geeksforgeeks.org/data-visualization-with-python/ 7. 6. Data Visualization Guide. [Електронний ресурс] – Режим доступу : https://www.simplilearn.com/tutorials/python-tutorial/data-visualization-in-python 8. Tutorial: cleaning & tidying data in pandas. [Електронний ресурс] – Режим доступу : https://deepnote.com/blog/cleaning-and-tidying-data-in-pandas 9. A Guide to Time Series Analysis in Python. [Електронний ресурс] – Режим доступу : https://builtin.com/data-science/time-series-python
Уніфікований додаток: Lviv Polytechnic National University ensures the realization of the right of persons with disabilities to obtain higher education. Inclusive educational services are provided by the Service of accessibility to learning opportunities "Without restrictions", the purpose of which is to provide permanent individual support for the educational process of students with disabilities and chronic diseases. An important tool for the implementation of the inclusive educational policy at the University is the Program for improving the qualifications of scientific and pedagogical workers and educational and support staff in the field of social inclusion and inclusive education. Contact at: St. Karpinsky, 2/4, 1st floor, room 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: The policy regarding the academic integrity of the participants of the educational process is formed on the basis of compliance with the principles of academic integrity, taking into account the norms "Regulations on academic integrity at the Lviv Polytechnic National University" (approved by the academic council of the university on June 20, 2017, protocol No. 35).