Scripting Languages

Learning Outcomes

  1. define scripting languages and list their properties
  2. select programming language and tools suitable for given problem
  3. write and apply simple bash scripts
  4. write and apply simple Perl scripts
  5. write and apply simple Python programs
  6. analyze and adapt simple bash, Perl and Python scripts

Forms of Teaching

Lectures

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.

Grading Method

   
By decision of the Faculty Council, in the academic year 2019/2020. the midterm exams are cancelled and the points assigned to that component are transferred to the final exam, unless the teachers have reassigned the points and the grading components differently. See the news for each course for information on knowledge rating.
   
Continuous Assessment Exam
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

  1. Glue languages; Command line interpreters.
  2. Redirection of input and output streams.
  3. Standard Unix tools.
  4. String manipulation via pattern-matching (regular expressions).
  5. Basic syntax and semantics of a higher-level language; Variables and primitive data types (e.g., numbers, characters, Booleans); Expressions and assignments.
  6. A type as a set of values together with a set of operations; Association of types to variables, arguments, results, and fields.
  7. Conditional and iterative control structures; Functions and parameter passing.
  8. Midterm exam.
  9. Text processing in scripting languages.
  10. Simple I/O including file I/O; Conditional and iterative control structures; Functions and parameter passing.
  11. Passing command line arguments.
  12. Lazy evaluation and infinite streams.
  13. Dynamic code evaluation (“eval”).
  14. Module systems.
  15. Final exam.

Study Programmes

University undergraduate
Computing (study)
Elective Courses (6. semester)
Electrical Engineering and Information Technology (study)
Elective Courses (6. semester)

Literature

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.

General

ID 183475
  Summer semester
5 ECTS
L0 English Level
L1 e-Learning
30 Lectures
0 Exercises
12 Laboratory exercises
0 Project laboratory

Grading System

88 Excellent
75 Very Good
62 Good
50 Acceptable

Similar Courses