Scripting languages represent a very different style of programming compared to traditional programming languages. They are designed for "gluing" applications - composing new programs by combining existing applications - components. That approach leads to higher level of programming and more rapid application development. In this course students explore the nature of scripting and their application areas. The topics include shell programming, regular expressions, Unix tools, and basics of Perl and Python programming.
- define scripting languages and list their properties
- select programming language and tools suitable for given problem
- write and apply simple bash scripts
- write and apply simple Perl scripts
- write and apply simple Python programs
- analyze and adapt simple bash, Perl and Python scripts
Forms of Teaching
Lectures will be held two hours per week.Independent assignments
Individual assignments will be solved as a preparation and within the laboratory exercises.Laboratory
Laboratory exercises will be held in three blocks of 4 hours.
|Type||Threshold||Percent of Grade||Threshold||Percent of Grade|
|Laboratory Exercises||50 %||30 %||50 %||30 %|
|Mid Term Exam: Written||0 %||30 %||0 %|
|Final Exam: Written||30 %||40 %|
|Exam: Written||50 %||70 %|
Week by Week Schedule
- Introduction – features of scripting languages, typical application areas. Glue languages. Command line interpreters.
- Operating system shell programming. Redirection of input and output streams.
- Standard Unix tools.
- String manipulation via pattern-matching (regular expressions).
- Basic syntax and semantics of a higher-level language. Variables and primitive data types. Expressions and assignments. Introduction to Perl programming language.
- A type as a set of values together with a set of operations. Association of types to variables, arguments, results, and fields. Lists, arrays and associative arrays in Perl.
- Conditional and iterative control structures. Functions and parameter passing.
- Midterm exam
- Text processing in scripting languages. Regular expressions in Perl.
- Introduction to Python programming language. Simple I/O including file I/O. Conditional and iterative control structures. Functions and parameter passing
- Passing command line arguments.
- Lazy evaluation and infinite streams.
- Dynamic code evaluation (“eval”).
- Module systems. Modules and namespaces in Python. Object-oriented programming in Python.
- Final exam
Computer Science (module)Elective Courses (6. semester)
Computing (study)Elective Courses (6. semester)
Electrical Engineering and Information Technology (study)Elective Courses (6. semester)
Electronic and Computer Engineering (module)Elective Courses (6. semester)
Software Engineering and Information Systems (module)Elective Courses (6. semester)
Telecommunication and Informatics (module)Elective Courses (6. semester)
Zoran Kalafatić (2012.), Skriptni jezici - materijali za predavanja u elektroničkom obliku, FER-2, Zagreb, 2012.,
Zoran Kalafatić, Antonio Pošćić, Siniša Šegvić, Julijan Šribar (2016.), Python za znatiželjne, Element
Stephen G. Kochan, Patrick Wood (2016.), Shell Programming in Unix, Linux and OS X, Addison-Wesley Professional
Randal L. Schwartz, brian d foy, Tom Phoenix (2016.), Learning Perl, O'Reilly Media, Inc.
L0 English Level
12 Laboratory exercises
75 Very Good