PřF:F5698 The Ultimate Python Guide - Course Information
F5698 The Ultimate Python Developer's guide
Faculty of Scienceautumn 2021
- Extent and Intensity
- 0/2/0. 2 credit(s). Type of Completion: z (credit).
- Teacher(s)
- Dr. Martin Topinka, PhD. (seminar tutor)
Mgr. Petr Zikán, Ph.D. (seminar tutor) - Guaranteed by
- Dr. Martin Topinka, PhD.
Department of Theoretical Physics and Astrophysics – Physics Section – Faculty of Science
Contact Person: Dr. Martin Topinka, PhD.
Supplier department: Department of Theoretical Physics and Astrophysics – Physics Section – Faculty of Science - Prerequisites
- The course is a free continuation of F1420 Programming in Python and F4500 Python for physicists. Basic knowledge of Python language (basic syntax and data structures, functions, modules) is assumed.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 6 fields of study the course is directly associated with, display
- Course objectives
- The aim of the course is to acquaint the young developer with the procedures and tools used in creating more complex programs in Python. During the course we will also show some more advanced concepts and possibilities of Python, widely used when working on more complex problems.
- Learning outcomes
- At the end of the course, the young developer should be able to apply the following in practice:
* Basic use of objects and classes
* Dictionary manipulation and program configuration
* Basic understanding and work with databases
* Git code versioning and working in IDE (VS Code)
* Use of some advanced packages (logging, CLI, ...)
* Design of more complex programs and their testing - Syllabus
- Git and code versioning, IDE environment (VS Code), GitLab
- Modules, packages, installations (pip and others)
- Classes and objects
- Dictionaries, introduction to databases, program configuration
- Selected advanced language concepts (decorators, parallel programming, ...)
- Logging, Command Line Interface (CLI)
- Program design, domain modeling and testing
- Literature
- recommended literature
- Bob Gregory. Architecture Patterns with Python. O'Reilly Media, Inc. 2020. https://www.cosmicpython.com/
- Scopatz, Anthony, and Kathryn D. Huff. Effective computation in physics: Field guide to research with python. " O'Reilly Media, Inc.", 2015.
- LUTZ, Mark. Learning Python. 4th ed. Beijing: O'Reilly, 2009, xlix, 1162. ISBN 9780596158064. info
- Teaching methods
- Teaching will take place in the form of seminars. Frontal teaching will be alternated by demonstrations of programming techniques, which the student can program simultaneously with the teacher on their own computer. One of the basic programming principles is: "do not reinvent the wheel". In accordance with this principle, various video lessons (typically in English) will be screened during the course, followed by a joint discussion.
- Assessment methods
- The course will be completed on the basis of of a semester work. This will be a non-trivial Python program that will meet the following criteria: a functional Python package uploaded to GitLab, whose functionality can be run through the CLI and will contain non-trivial tests of this functionality.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course can also be completed outside the examination period.
The course is taught annually.
The course is taught: every week. - Teacher's information
- It is advisable for the student to have their own computer during the lesson. Teaching will primarily use the Linux operating system, however, other operating systems (Windows, iOS) should not be an obstacle. It is possible that on the latter operating systems, the teacher will not be able to provide full support to the young developer.
- Enrolment Statistics (autumn 2021, recent)
- Permalink: https://is.muni.cz/course/sci/autumn2021/F5698