Programming in Python (FSI-9PVP)

Academic year 2021/2022
Supervisor: prof. Ing. Radomil Matoušek, Ph.D.  
Supervising institute: ÚAI all courses guaranted by this institute
Teaching language: Czech or English
Aims of the course unit:
To examine the topic of scripting language Python and designo of their applications. To understand GUI programming using Python.
Learning outcomes and competences:
Having successfully completed the course, students will be able to use knowledge and understanding of the nature of scripting and the role of scripting languages, the syntax and semantics of Python.
Prerequisites:
Fundamental level of programming in course 1IN (Informatics).
Course contents:
Students will get acquainted with modern scripting language Python.
Teaching methods and criteria:
School game and programming by using fun examples.
Assesment methods and criteria linked to learning outcomes:
The active participation and mastering the assigned task.
Controlled participation in lessons:
Education runs according to week schedules. Attendance at the seminars is required. The form of compensation of missed seminars is fully in the competence of a tutor.
Type of course unit:
    Lecture  10 × 2 hrs. optionally                  
Course curriculum:
    Lecture
1079/5000
1. Introduction. Basic properties, history of Python. Comparison with other languages.
2. Basics of language. Code structure, comments. Variables, data types. Operators and expressions. Numbers and strings. Collection data types, sequences, sets. Working with strings, formatting. Program Run Controls (Branch Commands. Cycle Commands)
3. Functions and procedures. Definition of functions and procedures. Passing parameters. Variable number of parameters. Functions for working with collections.
4. Modules and packages. Introduction to modules. Creating custom modules and packages. Errors and Exceptions. Types, invocation, capture, and exception handling.
5. Working with files. Opening files, reading, writing. Pickle, json, shelve modules
6. Scripts. Create a script and run it. Command-line arguments. Forwarding. Start an external program. Scripts on UNIX and Windows
7. Object oriented programming. Classes, attributes and methods. Magic methods. Inheritance and multiple inheritance. More OOP features in Python
8. Applications: Networks, HTTP client, SMTP, simple HTTP server, remote procedure call XML-RPC
9.-10. Application: Snakes game
Literature - fundamental:
1. Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X.
2. Harms, D., Macdonald, K.: The Quick Python Book. Manning Publications, 2000
Literature - additional:
3. Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012
4. Johansson, R.: Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib, second edition, Apress, 2019
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
D-APM-P full-time study --- -- DrEx 0 Recommended course 3 1 S
D-APM-K combined study --- -- DrEx 0 Recommended course 3 1 S
D-FIN-P full-time study --- -- DrEx 0 Recommended course 3 1 S
D-FIN-K combined study --- -- DrEx 0 Recommended course 3 1 S