Title:

Scripting Languages

Code:ISJ
Ac.Year:2017/2018
Term:Summer
Curriculums:
ProgrammeBranchYearDuty
IT-BC-3BIT-Elective
IT-BC-3BIT1stElective
Language:Czech
Private info:http://www.fit.vutbr.cz/study/courses/ISJ/private/
Credits:5
Completion:examination (written&verbal)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:2600026
 ExaminationTestsExercisesLaboratoriesOther
Points:5190040
Guarantee:Smrž Pavel, doc. RNDr., Ph.D., DCGM
Lecturer:Smrž Pavel, doc. RNDr., Ph.D., DCGM
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Graphics and Multimedia FIT BUT
Prerequisites: 
Introduction to Programming Systems (IZP), DIFS
Introduction to Software Engineering (IUS), DITS
Operating Systems (IOS), DITS
Schedule:
DayLessonWeekRoomStartEndLect.Gr.St.G.EndG.
ThulecturelecturesD10508:0009:501BIAxxxx
ThulecturelecturesD10508:0009:501BIBxxxx
ThulecturelecturesD10508:0009:502BIAxxxx
ThulecturelecturesD10508:0009:502BIBxxxx
ThulecturelecturesD10508:0009:503BITxxxx
ThulecturelecturesD020608:0009:501BIAxxxx
ThulecturelecturesD020608:0009:501BIBxxxx
 
Learning objectives:
  To examine the topic of scripting languages and their applications. To understand complementarity of the class of languages to systems languages, their strengths and weaknesses. To conceive basics of regular expressions, text processing, client- and server-level scripting and GUI programming using Python.
Description:
  Basic concepts: scripts and scripting, scripting versus programming, an overview of scripting languages, macro languages, scriptable objects and componentware, basics of Python and Perl, client-side and server-side web scripting, portability issues, Unix system hacking, scripting issues in other languages, scripting languages for graphical user interface programming.
Subject specific learning outcomes and competences:
  Students will get acquainted with modern scripting languages, having successfully completed the course, students will be able to demonstrate knowledge and understanding of the nature of scripting and the role of scripting languages, the syntax and semantics of Python, write simple scripts to automate system administration tasks using appropriate languages and rapidly develop simple applications using appropriate tools.
Generic learning outcomes and competences:
  The students will learn to work in a team. They will also improve their programming skills and their knowledge of modern development tools.
Syllabus of lectures:
 
  1. Introduction, a brief history of scripting languages, pros and cons, comparison of languages
  2. Basic statements, types, operators, functions, modules, classes, exception handling
  3. Regular expressions in Python and Perl
  4. Data structures, efficient implementation of search
  5. Standard libraries for high-level programming in Python
  6. Simple scripting for OS Unix, automating system administration
  7. Interfaces to system languages, using components implemented in C
  8. Text processing, sorting, character sets, language-specific features
  9. XML document processing, libraries for efficient storage and search
  10. Modern object oriented programming, comparison with C and Java
  11. Scripting languages for web application development, client-side and server-side programming
  12. GUI programming, Tkinter library for Python programming
  13. Other libraries for GUI development, platform-specific features, Python for Java - Jython
Syllabus - others, projects and individual work of students:
 
  1. Projects consist in a general problem to be solved, mostly by writing a medium-sized script in Python. Electronic submission of assignments are required using IS FIT.
Fundamental literature:
 
  • Beazley, D.M.: Python - Podrobná referenční příručka pro programovací jazyk Python. Neocortex (in Czech).
  • Abelson, H.: Structure and interpretation of computer programs, Cambridge. MIT Press, 2002.
Study literature:
 
  • Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X (in Czech).
  • Lutz, M., Ascher, D.: Naučte se Python - Pohotová příručka. Grada, 2003, ISBN 80-247-0367-X (in Czech).
Controlled instruction:
  The evaluation includes mid-term test and an individual project. The mid-term test does not have a correction option.
Progress assessment:
  
  • Mid-term test - up to 9 points
  • Individual project - up to 40 points
Exam prerequisites:
  
  • Realized individual project