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:
-
Join us on a tour into the world of scripted programming. Together, we will unveil the power of Bourne Again shell and PERL as proven industry standards, as well as a couple of other standard text processing utilities (AWK, sed), with some basic UNIX system tools, in many real-world situations like processing web feeds or logs.
We will provide a general overview of scripting languages and introduction into their pros and cons and students get practical experience with shell script programming.
We will touch also ROFF, PerlDoc, and even TeX to get some insight into how your code documentation can be implemented.
And if you know UNIX system-level scripting already, we can show you advanced programming techniques and tricks that get overlooked frequently but increase code robustness or execution efficiency.
The course is led by two veteran programmers in the scripting world.
Lukáš is a renowned lecturer in advanced shell programming, teaching developers from the IT industry in several CE countries.
Jan is a skilled lecturer and developer whose code contributes to safe and streamline operations of cloud service datacenters around the globe.
- Requirements:
-
Students are likely to encounter several scripting languages in their professional career. This course presents the shell as a programming language, focusing on its advantages and exploring also its limitations. In the next step, PERL as an universal programming tool, and a source of inspiration for other languages, is introduced.
Students get an overview of several common scripting languages and learn some of them in detail.
- 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-SKJ/
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Wed Thu Fri - 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)