460-2060/01 – Scripting Languages (SKJ)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorIng. Jan Gaura, Ph.D.Subject version guarantorIng. Jan Gaura, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Year2Semestersummer
Study languageCzech
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
GAU01 Ing. Jan Gaura, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2
Part-time Graded credit 0+10

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:

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.

Recommended literature:

HARMS, Daryl D. a Kenneth MCDONALD. Začínáme programovat v jazyce Python. Brno: Computer Press, 2003. ISBN 80-722-6799-x.

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 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.

Conditions for subject completion

Part-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Graded credit Graded credit 100  51
Mandatory attendence parzicipation: Every student has to obtain at least the minimum number of points for each task.

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2021/2022 (B0613A140014) Computer Science INF P Czech Ostrava 2 Compulsory study plan
2021/2022 (B0613A140014) Computer Science INF K Czech Ostrava 2 Compulsory study plan
2020/2021 (B0613A140014) Computer Science INF K Czech Ostrava 2 Compulsory study plan
2020/2021 (B0613A140014) Computer Science INF P Czech Ostrava 2 Compulsory study plan
2020/2021 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 2 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 2 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 2 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 2 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 2 Optional study plan
2019/2020 (B0613A140014) Computer Science INF P Czech Ostrava 2 Compulsory study plan
2019/2020 (B0613A140014) Computer Science INF K Czech Ostrava 2 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner