Course detail

Scripting Languages

FIT-ISJAcad. year: 2018/2019

Basic concepts: scripts and scripting, scripting versus programming, an overview of scripting languages, macro languages, scriptable objects and componentware, basics of Python, Unix system hacking, object-oriented programming in scripting languages, concurrency and parallelism.

Learning outcomes of the course unit

Students will get acquainted with modern scripting languages, having successfully completed the course, students will be able to demonstrate knowledge and understanding of the nature of scripting and the role of scripting languages, the syntax and semantics of Python, write simple scripts to automate system administration tasks using appropriate languages and rapidly develop simple applications using appropriate tools.
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

Not applicable.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

  • Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X.
  • Lutz, M., Ascher, D.: Naučte se Python - Pohotová příručka. Grada, 2003, ISBN 80-247-0367-X.

  • Beazley, D.M.: Python - Podrobná referenční příručka pro programovací jazyk Python. Neocortex.
  • Abelson, H.: Structure and interpretation of computer programs, Cambridge. MIT Press, 2002.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

  • Mid-term test - up to 9 points.
  • Individual project - up to 40 points.

Exam prerequisites:
  • Realized at least one individual project.

Language of instruction

Czech, English

Work placements

Not applicable.

Course curriculum

    Syllabus of lectures:
    1. Introduction, a brief history of scripting languages, pros and cons, comparison of languages
    2. Basic statements, types, operators, functions, modules, classes, exception handling
    3. Regular expressions in Python and Perl
    4. Data structures, efficient implementation of search
    5. Standard libraries for high-level programming in Python
    6. Simple scripting for OS Unix, automating system administration
    7. Interfaces to system languages, using components implemented in C
    8. Text processing, sorting, character sets, language-specific features
    9. XML document processing, libraries for efficient storage and search
    10. Modern object oriented programming, comparison with C and Java
    11. Scripting languages for web application development, client-side and server-side programming
    12. GUI programming, Tkinter library for Python programming
    13. Other libraries for GUI development, platform-specific features, Python for Java - Jython

    Syllabus - others, projects and individual work of students:
    1. Projects consist in a general problem to be solved, mostly by writing a medium-sized script in Python. Electronic submission of assignments are required using IS FIT.

Aims

To examine the topic of scripting languages and their applications. To understand complementarity of the class of languages to systems languages, their strengths and weaknesses. To conceive basics of regular expressions, using appropriate data structures and approaches primarily in Python (and partially Ruby and others).

Specification of controlled education, way of implementation and compensation for absences

The evaluation includes mid-term test and an individual project. The mid-term test does not have a correction option.
The minimal total score of 17 points gained out of the project assignments and the mid-term test, with the minimum score for the project is 13 points.

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

    branch BIT , 1. year of study, summer semester, 5 credits, optional

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus


  1. Introduction, a brief history of scripting languages, pros and cons, comparison of languages
  2. Regular expressions and their support in scripting languages
  3. Simple scripting for OS Unix, automating system administration
  4. Names in Python, basic data structures and their implementation
  5. Dictionary (hash structure) and its implementation in Python
  6. Functions and their arguments, modules, exception handling
  7. Object-oriented programming  in scripting languages
  8. Advanced concepts of object-oriented programming in Python, multiple inheritance and method resolution order
  9. Ruby basics through comparison with Python
  10. Function and class decorators
  11. Iteration protocol and iterables
  12. Generators and their use in functions
  13. Concurrency and parallelism

Project

26 hours, compulsory

Teacher / Lecturer

Syllabus


  1. Projects consist in general problems to be solved, mostly by writing medium-sized scripts in Python. Electronic submission of assignments are required using IS FIT.

eLearning