|
|
|
||
In this course students will gain knowledge of programming language Python, its powerful datatype system and accompanying programming constructs. Text and binary data processing together with Python specific approach will be emphasized. Also information about changes between 2.x and 3.x versions of Python language will be discussed.
Last update: Znamenáček Jiří (20.01.2014)
|
|
||
Pilgrim, Mark: Dive Into Python 3. Apress, 2009. ISBN 978-1430224150 Necaise, Rance D.: Data Structures and Algorithms Using Python. John Wiley & Sons, Inc, 2011. ISBN 978-0470618295 Last update: Znamenáček Jiří (20.01.2014)
|
|
||
1. Python overview. Operators and logical expressions. Mutable and immutable types distinction. 2. Main immutable types: strings, numbers (integers, floats, complex, fractions) 3. User input. Conditionals and loops (if, for, while, break). 4. Sequence types: strings, lists, tuples -- operations, methods, loop usage. 5. Mapping types: dictionaries, sets -- operations, methods, loop usage. 6. Binary data. Working with files and internet sources. 7. Functions: arguments (positional and keyword ones), variable visibility, closures, "lambda"-functions, first class functions. 8. Introduction to OOP in Python: classes, instances, inheritance, introspection, corner cases. 9. Errors and exceptions: detection and handling, raising, assertions, exceptions hierarchy. Unit tests: TDD (test driven development), applications, usage. 10. More on functions and classes: decorators, generators, functional programming, iterators, magic methods and their applications (sorting, operator overload). 11. File system. Environment interaction. 12. Serialization. Regular expressions. 13. Modules, Python's standard library. CPython's bytecode. Last update: Znamenáček Jiří (20.01.2014)
|
|
||
https://edux.fit.cvut.cz/courses/BI-PYT/ (login required) Last update: Znamenáček Jiří (20.01.2014)
|
|
||
Thanks to Python's uniqueness students will be able to apply such diversified techniques as iterators, closures and functional constructs to name just a few. Also they will learn principles of test driven development (TDD) and distributed version control systems (DVCS) which are essential parts of every serious programming work. Last update: Znamenáček Jiří (20.01.2014)
|
|
||
Basic knowledge of programming and algorithm development (such as BI-PA1 curse) is assumed. Last update: Znamenáček Jiří (20.01.2014)
|
Teaching methods | ||||
Activity | Credits | Hours | ||
Účast na přednáškách | 1 | 28 | ||
Práce na individuálním projektu | 1 | 28 | ||
Příprava na zkoušku a její absolvování | 0.7 | 20 | ||
Účast na seminářích | 1 | 28 | ||
4 / 4 | 104 / 112 |