460-2060/02 – Scripting Languages (SKJ)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Jan Gaura, Ph.D. | Subject version guarantor | Ing. Jan Gaura, Ph.D. |
Study level | undergraduate or graduate | | |
| | Study language | English |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
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.
Teaching methods
Lectures
Tutorials
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.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Completing of assigned tasks at exercises.
E-learning
Other requirements
No additional demands are required.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures
- Scripting languages. Motivation for their use. Key features and comparison of some popular scripting languages - Ruby, JavaScript, Perl, Python, Tcl.
- Python construction: flow control, function definitions, parameter assignment, function calling.
- Python construction: collections, iterators, generators, closures, reflections. Examples of using techniques and their comparison with Java or C # technologies.
- Python and object programming: definition of classes, methods, variables.
- Testing and debugging the source code.
- Standard and application oriented Python libraries. Usage of embedded Web server, remote procedure call, ElementTree XML library and JSON format.
- Using Python to design web applications. Web Frameworks for Python.
- Implement a "server-side" web application. Implementing a "client-side" web application. Creating forms. Collaborate with the client using JavaScript.
- Web services, XML data exchange and JSON. Implementation of web services using the REST method.
- Connection of Python programs to databases and spatial databases. Creating geographical web applications.
- Using Python to construct a GUI.
- Using Python to design multimedia applications and games.
- Programming parallel and mathematical applications in Python.
Exercises
Exercises will discuss topics theoretically explained in lectures.
- Getting familiar with the development environment. Example of interactive mode. Creating scripts in selected languages and comparing them.
- Introduction of basic Python constructs, flow control, usage of list and vocabulary types.
- Define functions, how to pass parameters, call functions, write lambda functions and use them process lists.
- Introduction of collections, iterators, generators, closures and reflections. Using these techniques and their comparison with Java or C# technologies.
- Object-oriented programming. Definition of classes, methods, variables.
- Presentation of a standard library. Work with embedded web server, ElementTree XML library.
- Implementing remote method calls using XML-RPC.
- Creating web applications. Data model implementation.
- Creating web applications. Realization of forms. Collaborate with the client using JavaScript.
- Advanced web application programming. Exchange of data with a client using XML and JSON.
- Spatial data processing.
- Construction of a GUI in Python.
- Programming with threads and processes.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction