Scripting Languages

Course Description

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.

General Competencies

Students learn basic concepts of scripting language programming. They are introduced to the basics of programming in several popular scripting languages (UNIX shell, Perl, Phyton) and their typical application areas.

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 in two cycles (7 + 6 weeks), 2 hours a week.

Exams

Midterm exam will be held after the first lecture cycle, the final exam after the second lecture cycle. The students can also take regular exams.

Laboratory Work

Laboratory exercises will be held in 3 cycles, each in extent of 5 hours.

Acquisition of Skills

Writing scripts in bash shell, programming in Perl and Python, debugging.

Other Forms of Group and Self Study

Students independently solve program problems as a preparation for laboratory exercises.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Comment: 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. Introduction – features of scripting languages, typical application areas.
  2. Operating system interface.
  3. Operating system shell programming.
  4. Unix tools. Regular expressions.
  5. Introduction to Perl programming language. Scalar data types.
  6. Lists and arrays in Perl. Associative arrays.
  7. Subroutines. Files.
  8. Midterm exam.
  9. Regular expressions in Perl. Text processing. Command line programs.
  10. Introduction to Python programming language. Basic data types.
  11. String operations. String methods. Lists.
  12. Dictionaries. Files. Statements and programming constructs in Python.
  13. Functions, modules, namespaces.
  14. Object-oriented programming in Python.
  15. Final exam.

Study Programmes

University undergraduate
Computer Science (module)
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)

Literature

Stephen Kochan, Patrick Wood (2003.), Unix Shell Programming, 3rd edition, Sams
Randal L. Schwartz, Tom Phoenix, brian d foy (2008.), Learning Perl, 5th Edition, O'Reilly
Mark Lutz (2009.), Learning Python, 4th Edition, O'Reilly
Kalafatić, Zoran; Pošćić, Antonio; Šegvić, Siniša; Šribar, Julijan (2016.), Python za znatiželjne, Element, Zagreb

Lecturers

Laboratory exercises

Grading System

ID 86526
  Summer semester
4 ECTS
L1 English Level
L1 e-Learning
30 Lecturers
0 Exercises
15 Laboratory exercises

General

88 Excellent
75 Very Good
62 Good
50 Acceptable