Course Unit Code | 460-2060/01 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| GAU01 | Ing. Jan Gaura, Ph.D. |
Summary |
---|
In this course, students are introduced to Python programming language in particular. Emphasis is placed on presenting a wide range of possibilities of using the language for solving practical problems. The problem-solving method is compared to solutions using classic system programming languages such as Java, C #, or C++. By comparison, the use of scripting languages is illustrated. In this course, the emphasis is placed on the transfer of information that is important for students in terms of making them practically useful and for users of attractive applications, which are relatively easy to handle when using scripting languages. Lectures are supplemented with exercises. |
Learning Outcomes of the Course Unit |
---|
The course aim is to familiarize students with the features of modern scripting languages and their applications. Emphasis is placed on practical usage in applications develpment. |
Course Contents |
---|
Lectures
1. Scripting languages. Motivation for their use. Key features and comparison of some popular scripting languages - Ruby, JavaScript, Perl, Python, Tcl.
2. Python programming language. History and features.
3. Python construction: flow control, function definitions, parameter assignment, function calling.
4. Python construction: collections, iterators, generators, closures, reflections. Examples of using techniques and their comparison with Java or C # technologies.
5. Python and object programming: definition of classes, methods, variables.
6. Testing and debugging the source code.
7. Standard and application oriented Python libraries. Usage of embedded Web server, remote procedure call, ElementTree XML library and JSON format.
8. Using Python to design web applications. Web Frameworks for Python.
9. Implement a "server-side" web application. Implementing a "client-side" web application. Creating forms. Collaborate with the client using JavaScript.
10. Web services, XML data exchange and JSON. Implementation of web services using the REST method.
11. Connection of Python programs to databases and spatial databases. Creating geographical web applications.
12. Using Python to construct a GUI.
13. Using Python to design multimedia applications and games.
14. Programming parallel and mathematical applications in Python.
Exercises
Exercises will discuss topics theoretically explaind in lectures.
1. Getting familiar with the development environment. Example of interactive mode. Creating scripts in selected languages and comparing them.
2. Introduction of basic Python constructs, flow control, usage of list and vocabulary types.
3. Define functions, how to pass parameters, call functions, write lambda functions and use them process lists.
4. Introduction of collections, iterators, generators, closures and reflections. Using these techniques and their comparison with Java or C# technologies.
5. Object-oriented programming. Definition of classes, methods, variables.
6. Presentation of a standard library. Work with embedded web server, ElementTree XML library.
7. Implementing remote method calls using XML-RPC.
8. Creating web applications. Data model implementation.
9. Creating web applications. Realization of forms. Collaborate with the client using JavaScript.
10. Advanced web application programming. Exchange of data with a client using XML and JSON.
11. Spatial data processing.
12. Construction of a GUI in Python.
13. Programming with threads and processes.
14. Final test. |
Recommended or Required Reading |
---|
Required Reading: |
---|
PILGRIM, Mark. Dive into Python 3. Apress, 2010. ISBN 978-1430224150. |
PILGRIM, Mark. Ponořme se do Python(u) 3: Dive into Python 3. Praha: CZ.NIC, c2010. CZ.NIC. ISBN 978-80-904248-2-1.
BARRY, Paul. Head First Python. O′Reilly, 2016. ISBN: 978-1491919538. |
Recommended Reading: |
---|
HARMS, Daryl D., MCDONALD, Kenneth. The Quick Python Book. Manning Publications, 2000. ISBN 978-1884777745. |
HARMS, Daryl D., MCDONALD, Kenneth. Začínáme programovat v jazyce Python. Brno: Computer Press, 2003. ISBN 80-722-6799-x. |
Planned learning activities and teaching methods |
---|
Lectures, Tutorials |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 (100) | 51 |
Projekt | Project | 30 | 10 |
Závěrečná písemka | Written test | 40 | 15 |
Odevzdání souboru úloh | Other task type | 30 | 10 |