Programming, part 1

Major: Hardware-software devices of information communication systems
Code of subject: 6.172.10.O.005
Credits: 6.00
Department: Radioelectronic Appliances and Systems
Lecturer: Mankovskyy Spartak
Semester: 1 семестр
Mode of study: денна
Мета вивчення дисципліни: The purpose of the discipline is to learn the basics of the Python language, which includes the basic syntax of the language, standard data structures and working with them, creating custom functions and modules. Get familiar with Python modules, including NumPy and Matplotlib. Ability to write and debug programs in Python using a modern integrated development environment. Ability to implement programs based on given algorithms in the Python language.
Завдання: Apply knowledge and understanding to identify, formulate and solve technical problems of the specialty, using known methods. Ability to demonstrate knowledge and understanding of the scientific and mathematical principles underlying telecommunications and radio engineering.
Learning outcomes: Apply the results of personal search and analysis of information to solve qualitative and quantitative problems of a similar nature in information and communication networks, telecommunications and radio engineering systems. To think systematically and apply creative abilities to the formation of fundamentally new ideas. Carry out appropriate experimental research and apply research skills on professional topics.
Required prior and related subjects: Fundamentals of IT and electronic engineering. Object-oriented programming. Higher mathematics. Programming of SMART devices. Programming of microcontroller equipment.
Summary of the subject: The discipline is aimed at mastering the basics of the Python language, which includes the basic syntax of the language, standard data structures and working with them, creating custom functions and modules. Familiarity with Python modules, including NumPy and Matplotlib. Ability to write and debug programs in Python using a modern integrated development environment. Ability to implement programs based on given algorithms in the Python language.
Опис: Introduction Overview of programming languages, prospects for the use of the Python language today. Topic 1. FUNDAMENTALS OF SYNTAX IN PYTHON. Basics of Python syntax. Python arithmetic and logical operators. Comparison operators. Topic 2. DATA STRUCTURES IN PYTHON (part 1). Text type str. Numeric types int, float, complex. Lists, their methods and application examples. Topic 3. OPERATORS OF BRANCHING AND ORGANIZATION OF CYCLES. The branching operator If..elif..else. While and for loop operators. Application of break, continue and pass operators in loops. Other useful things include list comprehension, zip and enumerate functions. Topic 4. DATA STRUCTURES IN PYTHON (part 2). String-type sequences, tuple-type sequences, sets, dictionaries. Methods and examples of applications of these sequences. Topic 5. PYTHON BUILT-IN FUNCTIONS. Built-in arithmetic functions. Conversion between number systems. Other useful Python features. Topic 6. CREATION OF USER FUNCTIONS. Declaring and calling user functions. Function arguments. Returning the result of the function (return, yield). Scope of variables. Other useful things (pass, lambda functions). Topic 7. PYTHON FUNCTION LIBRARIES (MODULES). Creating user modules and importing them. Overview of Python modules and packages. Topic 8. MATPLOTLIB LIBRARY. Getting to know, installing, and importing the matplotlib library. Examples of construction of various types of graphs and their formatting. Topic 9. NUMPY LIBRARY. Getting to know, installing and importing the numpy library. Creation and access to elements of arrays. Manipulations with arrays (reshaping, mirroring, transposing). Other manipulations (merging, splitting, sorting, extracting elements by criteria). Mathematical operations with NumPy arrays. Functions for solving linear algebra problems. Topic 10. GRAPHIC INTERFACE (Tkinter module). Development of a graphical interface using the Tkinter module. Introduction to the main widgets, including Frame, Label, Button, Checkbutton and others. The Try ... Except construct and exception processing. Topic 11. WORKING WITH FILES. File opening modes. Reading and writing text files. Reading and writing binary data to a file. Playback of sound files. Reading and writing MS Excel files. Topic 12. OBJECT-ORIENTED PROGRAMMING IN PYTHON. Creation of classes and their methods. Class inheritance and application examples. Topic 13. ALGORITHMS, THEIR PRESENTATION AND IMPLEMENTATION. Conventional symbols on block diagrams of algorithms. Examples of block diagrams of typical algorithms. Implementation of the program according to the given block diagram. Reproduction of the algorithm according to the given program (Reverse engineering). Topic 14. REGULAR EXPRESSIONS IN PYTHON. Basics of regular expressions and their application. The re library in Python for implementing operations with regular expressions. Examples of practical application.
Assessment methods and criteria: Current monitoring of laboratory classes is conducted in order to identify the student's readiness for classes in the form of a selective oral survey before classes begin. Control questions are divided into: test - choose the correct answers; problematic - creation of problematic situations; questions-replies - to identify cause-and-effect relationships; situational tasks - to determine the answer according to a certain situation; issues of a reproductive nature - determination of practical significance. The final control is carried out based on the results of the current control and examination.
Критерії оцінювання результатів навчання: Laboratory classes (performance, report and defense) - 40 points. Exam (written component) - 50 points. Exam (oral component) - 10 points. Total for the discipline: – 100 points.
Порядок та критерії виставляння балів та оцінок: 100–88 points – (“excellent”) is awarded for a high level of knowledge (some inaccuracies are allowed) of the educational material of the component contained in the main and additional recommended literary sources, the ability to analyze the phenomena being studied in their interrelationship and development, clearly, succinctly, logically, consistently answer the questions, the ability to apply theoretical provisions when solving practical problems; 87–71 points – (“good”) is awarded for a generally correct understanding of the educational material of the component, including calculations, reasoned answers to the questions posed, which, however, contain certain (insignificant) shortcomings, for the ability to apply theoretical provisions when solving practical tasks; 70 – 50 points – (“satisfactory”) awarded for weak knowledge of the component’s educational material, inaccurate or poorly reasoned answers, with a violation of the sequence of presentation, for weak application of theoretical provisions when solving practical problems; 49-26 points - ("not certified" with the possibility of retaking the semester control) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to apply theoretical provisions when solving practical problems; 25-00 points - ("unsatisfactory" with mandatory re-study) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to navigate when solving practical problems, ignorance of the main fundamental provisions.
Recommended books: Educational and methodological support in the virtual educational environment: https://vns.lpnu.ua/user/view.php?course=15533 Recommended Books: 1. Костюченко А. О. Основи програмування мовою Python : навч. посіб. Чернігів : ФОП Баликіна С. М., 2020. 180 с. 2. Васильєв О. М. Програмування мовою Python. Тернопіль : Навчальна книга ? Богдан, 2019. 504 с. 3. Яковенко А. В. Основи програмування. Python. Частина 1 : підручник. Київ : КПІ ім. Ігоря Сікорського, 2018. 195 с. 4. Креневич А. П. Python у прикладах і задачах. Частина 1. Структурне програмування : навч. посіб. Київ : ВПЦ "Київський Університет", 2017. 206 с. Internet resources: 1. https://www.w3schools.com/python/ 2. https://docs.python.org/3/ 3. https://www.online-python.com/
Уніфікований додаток: 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).