Skip to main content
Skip header

Scripting Languages

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2060/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type A
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
GAU01Ing. 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 TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        ProjektProject30 10
        Závěrečná písemkaWritten test40 15
        Odevzdání souboru úlohOther task type30 10