Title:

Dynamic Languages

Code:DJA
Ac.Year:2012/2013
Term:Summer
Curriculums:
ProgrammeBranchYearDuty
IT-MSC-2MBI-Elective
IT-MSC-2MBS-Compulsory-Elective - group S
IT-MSC-2MGM-Elective
IT-MSC-2MIN-Elective
IT-MSC-2MIS-Compulsory-Elective - group S
IT-MSC-2MMI-Elective
IT-MSC-2MMM-Compulsory-Elective - group L
IT-MSC-2MPV-Elective
IT-MSC-2MSK-Elective
IT-MSC-2EITE2ndElective
Language:Czech
Public info:http://www.fit.vutbr.cz/study/courses/DJA/public/
Credits:5
Completion:examination (written&verbal)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:2600620
 ExaminationTestsExercisesLaboratoriesOther
Points:7000030
Guarantee:Janoušek Vladimír, doc. Ing., Ph.D., DITS
Lecturer:Janoušek Vladimír, doc. Ing., Ph.D., DITS
Instructor:Janoušek Vladimír, doc. Ing., Ph.D., DITS
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
 
Learning objectives:
To introduce to the essence of dynamic languages and their features. To introduce to roots and essence of pure object orientation manifested by dynamic language and system Smalltalk. To introduce to dynamic object oriented systems, their architecture and applications.
Description:
In order to implement dynamic, adaptive software systems, programming languages must support reasoning about their own structure, performance, and environment (often called "reflection"). Furthermore, there must be support for dynamic modification of structure and behavior. LISP and Smalltalk are typical examples of dynamic languages. The course deals with object orientation in programming languages, operating systems and database systems, Smaltalk influence upon object oriented technologies. It introduces to pure object oriented dynamic languages and systems Smalltalk and Self, architectures and principles of implementation of Smalltalk-like systems as well as their use in rapid prototyping.
Subject specific learning outcomes and competences:
Ability to program in pure object oriented languages based on Smalltalk and use their dynamic features.
Generic learning outcomes and competences:
Understanding general principles of pure object orientation and its applications.
Syllabus of lectures:
  1. Object orientation in programming languages, operating systems and database systems.Smaltalk influence upon object oriented technologies.
  2. Roots of Smalltalk: LISP and Simula 67. Pure object orientation.
  3. Language and system Smalltalk - class-based object orientaction.
  4. Language and system Self - classless object orientation.
  5. Persistency in Smalltalk-like systems.
  6. Programming techniques.
  7. Architecture of Smalltalk-like systems.
  8. Principles of implementation of Smalltalk-like systems.
  9. Reflectivity, principles of open implementations.
  10. Distributed programming in Smalltalk-like systems.
  11. Interoperability.
  12. Object-oriented modeling and prototyping, knowledge representation.
  13. Other dynamic languages.
Syllabus of computer exercises:
  1. Smalltalk and its interactive programming environment.
  2. Self and its interactive programming environment.
  3. Selected programming techniques.
Syllabus - others, projects and individual work of students:
  1. Simple application implemented in dynamic language.
Fundamental literature:
  1. Goldberg, A., Robson, D.: Smalltalk-80: The Language, Addison Wesley, 1989, ISBN 0-201-13688-0
  2. LaLonde, W. Pugh, J.: Inside Smalltalk, Vol. 1, Prentice Hall, 1990, ISBN: 0134684141
  3. Guzdial, M.: Squeak, Prentice Hall, 2001, ISBN 0-13-028028-3
Study literature:
  1. Janoušek, V.: Dynamické jazyky, WWW, 2006
Progress assessment:
Project.