Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Programming in shell 2

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-PS2 Z,ZK 4 2P+2C
Lecturer:
Lukáš Bařinka, Jan Žďárek (guarantor)
Tutor:
Lukáš Bařinka, Jan Žďárek (guarantor)
Supervisor:
Department of Computer Systems
Synopsis:

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.

Requirements:

Student should have some user experience with shell usage as well as basic orientation in operating systems' principles 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. Perl: basics.

9. Perl.

10. Perl.

11. Perl.

12. Perl.

13. Perl.

Syllabus of tutorials:

1. Shell.

2. Shell.

3. Shell.

4. Regular expressions.

5. grep.

6. sed.

7. awk.

8. Assessment task consultation.

9. Perl.

10. Perl.

11. Perl.

12. Perl.

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:

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

- Cameron Newham. Learning the bash Shell: Unix Shell Programming. Third Edition. O'Reilly, 2005. ISBN: 978-0596009656.

- http://perldoc.perl.org/

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

- 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.

Note:
Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
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
roomT9:345
Bařinka L.
Žďárek J.

16:15–17:45
(lecture parallel1)
Dejvice
NBFIT BOU ucebna
roomT9:345
Bařinka L.
Žďárek J.

18:00–19:30
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT BOU ucebna
Tue
Fri
Thu
Fri
The course is a part of the following study plans:
Data valid to 2019-05-23
For updated information see http://bilakniha.cvut.cz/en/predmet4672806.html