Code: BIE-SKJ.21 Scripting Languages
Lecturer: Ing. Jan ®ïárek Ph.D. Weekly load: 2P+2C Completion: A, EX
Department: 18104 Credits: 4 Semester: S
Description:
Students get a general overview of scripting languages, introduction into syntax, semantics, programming style, data structures, 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:
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.
Contents:
1. Introduction: Bourne Again Shell
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/gawk
7. How to Resolve Problems Writing a Complex Script
8. Perl: Introduction
9. Perl: Syntax
10. Perl: Syntax
11. Perl: Useful Constructs, PerlDoc
12. Perl: Regular Expressions
13. Perl: Regular Expressions
Seminar contents:
1. Introduction
2. Shell
3. Shell
4. Regular Expressions, grep
5. sed
6. awk
7. Perl
8. Perl
9. Perl
10. Perl
11. Perl
12. Perl. Example of a typical exam task, discussion.
13. Assessment task presentation
Recommended literature:
1. http://www.gnu.org/doc/doc.html
2. http://perldoc.perl.org/
3. Christiansen, T., Foy, B.D., Wall, L. , Orwant, J.: Programming Perl, O'Reilly 2012, 1184 pp., ISBN 978-0596004927.
4. Arnold Robbins: Effective awk Programming: Universal Text Processing and Pattern Matching, O'Reilly 2015, 560 pp., ISBN 978-1491904619.
Keywords:
script, programming language, regular expression, variable, shell, Perl

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):