Title:

Scripting Languages

Code:ISJ
Ac.Year:2018/2019
Sem:Summer
Curriculums:
ProgrammeFieldYearDuty
IT-BC-3BIT-Elective
IT-BC-3BIT1stElective
Language of Instruction:Czech
Private info:http://www.fit.vutbr.cz/study/courses/ISJ/private/
Credits:5
Completion:examination (written&verbal)
Type of
instruction:
Hour/semLecturesSeminar
Exercises
Laboratory
Exercises
Computer
Exercises
Other
Hours:2600026
 ExamsTestsExercisesLaboratoriesOther
Points:5190040
Guarantor:Smrž Pavel, doc. RNDr., Ph.D. (DCGM)
Deputy guarantor:Fajčík Martin, Ing. (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.Groups
ThulecturelecturesD0206 D105 08:0009:501BIA 1BIB 2BIA 2BIB 3BIT xx
 
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, using appropriate data structures and approaches primarily in Python (and partially Ruby and others).
Description:
  Basic concepts: scripts and scripting, scripting versus programming, an overview of scripting languages, macro languages, scriptable objects and componentware, basics of Python, Unix system hacking, object-oriented programming in scripting languages, concurrency and parallelism.
Subject specific learning outcomes and competencies:
  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 competencies:
  The students will learn to solve problems in Python through regular projects. They will also improve their programming skills and their knowledge of modern development tools.
Why is the course taught:
  The content of the course goes far beyond the basic programming courses. Even though we start with regular expressions and corner stones of Python, these topics are presented briefly to enable approaching conceptually interesting and new topics that students do not know from system languages such as C. We focus on general concepts of high-level dynamic scripting languages that are relevant not only for Python, Ruby and other currently popular languages but also for that ones that have appeared recently.
Syllabus of lectures:
 
  1. Introduction, a brief history of scripting languages, pros and cons, comparison of languages
  2. Regular expressions and their support in scripting languages
  3. Simple scripting for OS Unix, automating system administration
  4. Names in Python, basic data structures and their implementation
  5. Dictionary (hash structure) and its implementation in Python
  6. Functions and their arguments, modules, exception handling
  7. Object-oriented programming  in scripting languages
  8. Advanced concepts of object-oriented programming in Python, multiple inheritance and method resolution order
  9. Ruby basics through comparison with Python
  10. Function and class decorators
  11. Iteration protocol and iterables
  12. Generators and their use in functions
  13. Concurrency and parallelism
Syllabus - others, projects and individual work of students:
 
  1. Projects consist in general problems to be solved, mostly by writing medium-sized scripts in Python. Electronic submission of assignments are required using IS FIT.
Fundamental literature:
 
  • Driscoll, M: Python 201: Intermediate Python. Amazon Digital Services LLC, ASIN: B01LMUAYSO, 2016.
  • 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:
 
  • Driscoll, M: Python 201: Intermediate Python. Amazon Digital Services LLC, ASIN: B01LMUAYSO, 2016.
  • 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.
The minimal total score of 17 points gained out of the project assignments and the mid-term test, with the minimum score for the project is 13 points.
Progress assessment:
  
  • Mid-term test - up to 9 points.
  • Individual project - up to 40 points.
Exam prerequisites:
  
  • Realized individual project.
 

Your IPv4 address: 34.229.140.153
Switch to IPv6 connection

DNSSEC [dnssec]