Python programming

Course: Software Engineering

Structural unit: Faculty of Computer Science and Cybernetics

Title
Python programming
Code
ДВС.1.03
Module type
Вибіркова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2022/2023
Semester/trimester when the component is delivered
6 Semester
Number of ECTS credits allocated
4
Learning outcomes
LO01. Analyze, purposefully search for and select the necessary information and reference resources and knowledge to solve professional problems, taking into account modern advances in science and technology. LO05. Know and apply relevant mathematical concepts, methods of domain, system and object-oriented analysis and mathematical modeling for software development. LO07. Know and apply in practice the fundamental concepts, paradigms and basic principles of operation of languages, tools and computing facilities of software engineering. LO10. Conduct a pre-project survey of the subject area, systematic analysis of the design object. LO13. Know and apply methods of algorithm development, software design and data and knowledge structures design.
Form of study
Distance form
Prerequisites and co-requisites
1.Knowledge: o Basic concepts of procedural and object-oriented programming. o Fundamentals of web programming. o Programming basics in languages C++, JavaScript, and Java. o Basics of designing relational databases. o Fundamentals of the SQL query language. o Basics of software testing. 2.Be able to: o Programming in procedural and object-oriented styles. o Programming in languages C++/JavaScript/Java. o Formulating queries for relational databases in SQL. o Designing class hierarchies in C++/JavaScript/Java. o Developing test coverage using frameworks like Google Test/Catch2/Boost Test/JUnit. 3.Have skill: o Basic use of integrated development environments (IDEs) such as CLion/WebStorm/IntelliJ IDEA/Eclipse/NetBeans/Microsoft Visual Studio/Microsoft Visual Studio Code. o Basic skills in working with relational database management systems such as SQLite/MySQL/MariaDB/PostgreSQL.
Course content
The goal of the discipline is studying the basic concepts, mechanisms, and techniques of procedural, object-oriented, parallel, and web-oriented programming using the Python 3 language, acquiring basic skills in designing, developing, and testing software..
Recommended or required reading and other learning resources/tools
1.M. Lutz: Learning Python: Powerful Object-Oriented Programming, 5th ed. // O’Reilly Media, Inc., 2013. 2. D. Beazley, B.K. Jones: Python Cookbook: Recipes for Mastering Python 3, 3rd ed. // O’Reilly Media, Inc., 2013. 3. A. Martelli, A. Ravenscro, S. Holden: Python in a Nutshell: The Definitive Reference, 3rd ed. // O’Reilly Media, Inc., 2017. 4. B. Lubanovic: Introducing Python: Modern Computing in Simple Packages. // O’Reilly Media, Inc., 2015. 5. J. Hunt: A Beginners Guide to Python 3 Programming. // Springer, 2019. 6. J. Hunt: Advanced Guide to Python 3 Programming. // Springer, 2019. 7. N. Ceder: The Quick Python Book, 3rd ed. // Manning Publications Co., 2018. 8. D. Hellmann: The Python 3 Standard Library by Example, 2nd ed. // Pearson Education, Inc., 2017. 9. C. Hattingh: Using Asyncio in Python 3: Understanding Python’s Asynchronous Programming Features. // O’Reilly Media, Inc., 2018.
Planned learning activities and teaching methods
Lectures, laboratory classes, independent work, tests, homework, defense of laboratory work, test.
Assessment methods and criteria
Intermediate assessment: -The maximal number of available points is 60: 1. Test work no. 1: LO 1.1- LO 1.6, LO 2.1- LO 2.5 – 15/9 points. 2. Test work no. 2: LO 1.11, LO 2.6- LO 2.10 – 15/9 points. 3. Independent work no. 1: LO 2.1-LO 2.5, LO 3.1, LO 3.2, LO 4.1, LO 4.2– 30/18 points. 4. Independent work no. 2: LO 2.6-LO 2.10, LO 3.1, LO 3.2, LO 4.1, LO 4.2– 40/24 points. Final assessment (in the form of test): - maximal number of available points is 40; - results of study to be assessed are LO 2.1- LO 2.10, LO 3.1, LO 4.1, LO 4.2; - form of test: writing.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Maksym M. Veres
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics
Oleh O. Suprun
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics