Python Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-PYT.21 | KZ | 5 | 3C | Czech |
- Garant předmětu:
- Martin Šlapák
- Lecturer:
- Tutor:
- Mohamed Bettaz, Ondřej Bouchala, Jiří Hanuš, Jan Šafařík, Martin Šlapák, Vojtěch Vančura
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The aim of the course is to get acquainted with basic efficient control and data structures of the Python programming language for text and binary data processing. The differences between philosophy of programming in Python and in other programming languages will be explained. Each topic is prepared for students in the format of a Jupyter notebook, which enables greater accent to individual student work. Before each lab, students pass a short test on the last week topic. Four homeworks plus a semester work will be assigned during the semester.
- Requirements:
-
We expect to understand the git versioning system at the BI-GIT course level and knowledge of at least one another programming language (C, C++, Java) at the level of the BI-AG1 class.
- Syllabus of lectures:
-
There are not any lectures.
- Syllabus of tutorials:
-
1. Introduction to Python. Virtual enviroment. Python syntax and semantics.
2. Built-in types. Operators. Conditions, Loops.
3. Lists, Tuples, Sets, Dictionaries. Slicing. Comprehensions.
4. Functions, Annotations, Decorators.
5. Generators, Iterators, Classes
6. File system, Command line arguments.
7. Modules, Packages
8. Numpy: dimensions, shape, size, axis, rank. N-dimensional slicing. Broadcasting. Vectorization.
9. Graphics and Numpy. Convolution.
10. Pandas. Conditions, Group by, Order by, Merge and Joins. SQL vs. Pandas.
11. Streamlit and web mini-applications for data science.
12. Unit testing with pytest. Asserting. Fixtures.
13. Semestral project presentations.
- Study Objective:
- Study materials:
-
1. McKinney W. : Python for Data Analysis (2nd Edition). O'Reilly, 2017. ISBN 978-1491957660.
2. Lutz M. : Learning Python. O'Reilly, 2013. ISBN 978-1-449-35573-9.
3. Necaise R. D. : Data Structures and Algorithms Using Python. John Wiley & Sons, 2011. ISBN 978-047061829.
4. Horstmann C.S., Necaise R.D. : Python for Everyone (2nd Edition). John Wiley & Sons, 2016. ISBN 978-1-119-18665-6.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-PYT/
- Time-table for winter semester 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Wed Thu Fri - Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor Specialization Information Security, in Czech, 2021 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2021 (PS)
- Bachelor Specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (VO)
- Bachelor Specialization Web Engineering, in Czech, 2021 (compulsory elective course, elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2021 (compulsory elective course, elective course)
- Bachelor Specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (VO)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (PS)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (compulsory elective course, elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (compulsory elective course, elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (elective course)