Course detail
Scripting Languages
FIT-ISJAcad. year: 2020/2021
Basic concepts: scripts and scripting, scripting versus programming, an overview of scripting languages, macro languages, scriptable objects and components are, basics of Python, Unix system hacking, object-oriented programming in scripting languages, concurrency and parallelism.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
The students will learn to solve problems in Python through regular projects. They will also improve their programming skills and their knowledge of modern development tools.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
- Mid-term test - up to 9 points.
- Individual projects - up to 8 x 5 points.
Exam prerequisites:
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
- recommended prerequisite
Operating Systems - recommended prerequisite
Introduction to Software Engineering - recommended prerequisite
Introduction to Programming Systems
Basic literature
Recommended reading
Beazley, D.M.: Python - Podrobná referenční příručka pro programovací jazyk Python. Neocortex (in Czech).
Driscoll, M: Python 201: Intermediate Python. Amazon Digital Services LLC, ASIN: B01LMUAYSO, 2016.
Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X (in Czech).
Lutz, M., Ascher, D.: Naučte se Python - Pohotová příručka. Grada, 2003, ISBN 80-247-0367-X (in Czech).
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Introduction, a brief history of scripting languages, pros and cons, comparison of languages
- Regular expressions and their support in scripting languages
- Simple scripting for OS Unix, automating system administration
- Names in Python, basic data structures and their implementation
- Dictionary (hash structure) and its implementation in Python
- Functions and their arguments, modules, exception handling
- Object-oriented programming in scripting languages
- Advanced concepts of object-oriented programming in Python, multiple inheritance and method resolution order
- Ruby basics through comparison with Python
- Function and class decorators
- Iteration protocol and iterables
- Generators and their use in functions
- Concurrency and parallelism
Project
Teacher / Lecturer
Syllabus
Instead of one or a few large projects, 8 mini-projects are assigned in the course, i.e. from the 3rd lecture almost every week. There is a server that automatically evaluates projects before the official submission via WIS, so you can find out in advance how many points will be for the current solution. The midterm test and exam are directly linked to the topics you will try within the projects.