Bachelor
2023/2024
Data Analysis in Python
Category 'Best Course for Broadening Horizons and Diversity of Knowledge and Skills'
Category 'Best Course for New Knowledge and Skills'
Type:
Compulsory course
Area of studies:
Business Informatics
Delivered by:
Department of Business Informatics
Where:
Graduate School of Business
When:
2 year, 3 module
Mode of studies:
offline
Open to:
students of one campus
Instructors:
Yury Sanochkin
Language:
English
ECTS credits:
3
Contact hours:
36
Course Syllabus
Abstract
From the course one can learn programming skills in python. The course aims on beginners (people who have never written code) and covers a variety of different topics: from basic (syntax, data types, operators) to more complex and specific ones (OOP, async).
Learning Objectives
- The course is aimed to provide students with necessary knowledge and tools to write programs in python and understand code written by others.
- During the learning process, students will gain the ability to develop and deploy real python projects in teams of 3-4 people.
Expected Learning Outcomes
- Be able to set up python environment under any operating system;
- Understand key concepts of programming (procedural, functional paradigms, OOP, data types, algorithm complexity, TDD, etc.) and apply them;
- Be able to write scripts in python for the variety of different tasks;
- Be able to cover and support code with unit tests, linters, and formatters;
- Be able to find and read documentation on python libraries not covered by the course.
Course Contents
- 1. Introduction to programming and the Python language
- 2. Python script mode. Conditional execution
- 3. Loops
- 4. Bitwise operations. Error handling techniques
- 5. Functions and modules. Name scopes. Recursive algorithms
- 6. Python data model. Lists, sets, tuples
- 7. Introduction to algorithmic complexity. Sorting algorithms
- 8. Strings. Advances techniques of text processing, regular expressions
- 9. Special Python syntactic features for linear collections
- 10. Associative containers
- 11. File input-output
- 12. Elements of functional programming. Lambda functions, iterables, generators
- 13. Introduction to object-oriented programming
- 14. Object-oriented programming in depth
- 15. Decorators
- 16. Threads and processes in Python
- 17. Development & Deployment
- 18. Unittesting in Python
- 19. Advanced techniques
Assessment Elements
- HAAverage grade for all practical homework assignments provided in the course
- ActivityAssessing student attendance and activity at seminars, as well as activity at lectures
- ExamThe exam is practical work performed by students based on the results of mastering the course.
Bibliography
Recommended Core Bibliography
- Downey, A. (2015). Think Python : How to Think Like a Computer Scientist (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1105725
- Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.
- Learning Python : [covers Python 2.5], Lutz, M., 2008
- Lutz, M. (2011). Programming Python : Powerful Object-Oriented Programming (Vol. 4th ed). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415412
- Sweigart, Al. Automate the boring stuff with Python: practical programming for total beginners. – No Starch Press, 2015. – 505 pp.
- Программируем на Python, Доусон, М., 2015
Recommended Additional Bibliography
- Baka, B. (2017). Python Data Structures and Algorithms. Birmingham, U.K.: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1528144