SubjectsSubjects(version: 952)
Course, academic year 2019/2020
  
Programming in Python - N500005
Title: Programování v Pythonu
Guaranteed by: CTU in Prague, Faculty of Information Technology (500)
Faculty: University of Chemistry and Technology, Prague
Actual: from 2014 to 2019
Semester: summer
Points: summer s.:4
E-Credits: summer s.:4
Examination process: summer s.:
Hours per week, examination: summer s.:2/2, C+Ex [HT]
Capacity: unknown / unknown (unknown)
Min. number of students: unlimited
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Level:  
For type:  
Guarantor: Znamenáček Jiří Ing.
Is interchangeable with: B143008, B500003
Examination dates   Schedule   
Annotation -
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)
Aim of the course -

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)
Literature -

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)
Learning resources -

https://edux.fit.cvut.cz/courses/BI-PYT/

(login required)

Last update: Znamenáček Jiří (20.01.2014)
Syllabus -

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)
Registration requirements -

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
 
VŠCHT Praha