Scripting Languages

The course is not on the list Without time-table
Code Completion Credits Range Language
BIE-SKJ Z,ZK 4 2+1
Department of Computer Systems

Students get a general overview of scripting languages, introduction into syntax, semantics, programming style, pros and cons. In addition, they gain a deeper insight into Bourne Again shell and some other particular scripting languages and will get practical experience with shell script programming.

Note to Erasmus students: Do not be afraid of this module!

We are ready do adapt the lectures to provide even very basic Bourne shell usage. Depending on actual knowledge of the students, orientation in user filesystem tools (cp, ln, mkdir, rm...) and useful basic data filtering tools (cut, tr, sort, uniq...) can be provided. The advantage of this module is that we do not stop at this point - we will show you also a selection of advanced scripting techniques used in practice.


Student should have basic orientation in operating systems and the formal description of languages.

Syllabus of lectures:

1. Introduction: compiler/interpreter. Common UNIX shells

2. Bourne Again: Invocation, common control constructions

3. Bourne Again: Variables and redirection, getopts

4. Common UNIX utilities: RE, grep

5. Common UNIX utilities: sed

6. Common UNIX utilities: awk/nawk

7. How to write a complex shell script

8. Python

9. Python

10. Python

11. Python

12. Perl

13. Perl

Syllabus of tutorials:

1. Shell

2. Shell

3. Regular expressions, grep, sed

4. awk

5. Python

6. Python

7. Perl

Study Objective:

Students are likely to encounter several scripting languages in their professional career. In this course, presentation of the shell as a programming language, started in elementary UNIX module, is completed.

Students get an overview of some common scripting languages and learn some of them in detail.

Study materials:

- http://www.gnu.org/doc/doc.html

- http://perldoc.perl.org/

- Christiansen, T., Foy, B.D., Wall, L. , Orwant, J.: Programming Perl, O'Reilly 2012, 1184 pp., ISBN 978-0596004927.

- Lutz, M.: Programming Python, O'Reilly 2011, 1632 pp., ISBN: 978-0596158101. (Python 3)

- Lutz, M.: Learning Python: Powerful Object-Oriented Programming, O'Reilly 2009, 1216 pp., ISBN: 978-0596158064. (Python 2.2/2.3)

- Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation, and Compiling, Prentice Hall 1972-3, 542 pp., ISBN: 978-0139145568.

- Scott, M. L.: Programming Language Pragmatics. Morgan Kaufmann, 2005. 912 pp. ISBN 978-0-12-633951-2.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-03-22
For updated information see http://bilakniha.cvut.cz/en/predmet1450106.html