Scripting Languages
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-SKJ.21 | Z,ZK | 4 | 2P+2C | English |
- Course guarantor:
- Jan Žďárek
- Lecturer:
- Lukáš Bařinka, Jan Žďárek
- Tutor:
- Lukáš Bařinka, Jan Žďárek
- Supervisor:
- Department of Computer Systems
- Synopsis:
-
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.
- Requirements:
-
Student should have some user experience with shell usage as well as basic orientation in operating systems' principles and the formal description of programming languages.
- Syllabus of lectures:
-
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
- Syllabus of tutorials:
-
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
- 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:
-
1. http://www.gnu.org/doc/doc.html
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.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BIE-PS2/
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor Specialization Computer Engineering, 2021 (elective course)
- Bachelor Specialization, Information Security, 2021 (elective course)
- Bachelor Specialization, Software Engineering, 2021 (elective course)
- Bachelor Specialization, Computer Science, 2021 (elective course)
- Bachelor Specialization, Computer Networks and Internet, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor Specialization, Computer Engineering, Version 2024 (elective course)