Course details
Dynamic Languages
DJA Acad. year 2023/2024 Summer semester 5 credits
Object oriented in programming languages, operating and database systems. Smalltalk Roots: LISP and Simula 67. Net Object Orientation. Smalltalk. Development environment and Smalltalk system architecture. Language and Self. Principles of Smalltalk and Self Implementation. Persistence in object-oriented systems. Reflectivity, principles of open implementations. Programming techniques using reflectivity.
Guarantor
Language of instruction
Completion
Time span
- 26 hrs lectures
- 26 hrs projects
Assessment points
- 70 pts final exam (written part)
- 30 pts projects
Department
Lecturer
Instructor
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.
Ability to program in pure object oriented languages based on Smalltalk and use their dynamic features.
Understanding general principles of pure object orientation and its applications.
Why is the course taught
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 behaviour. LISP and Smalltalk are typical examples of dynamic languages. The course deals with object orientation in programming languages, operating systems and database systems, Smalltalk 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.
Study literature
- Goldberg, A., Robson, D.: Smalltalk-80: The Language, Addison Wesley, 1989, ISBN 0-201-13688-0
Syllabus of lectures
- Object oriented in programming languages, operating and database systems.
- Smalltalk Roots: LISP and Simula 67.
- Smalltalk - class-based pure object orientation.
- Development environment of Smalltalk systems.
- Smalltalk system architecture.
- Language and System Self - Classless Pure Object Orientation.
- Principles of Smalltalk and Self Implementation.
- Persistence in object-oriented systems.
- Reflectivity, principles of open implementations.
- Programming techniques using reflectivity.
- Parallel and distributed programming in Smalltalk systems.
- Object oriented modeling and prototyping.
- Other dynamic languages. Interoperability.
Syllabus - others, projects and individual work of students
- Simple application, demonstrating dynamic properties and reflectivity in any dynamic language, comparing Smalltalk's properties to the other dynamic programming languages.
Progress assessment
Project.
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, MGM, MIN, MPV, MSK, any year of study, Elective
- Programme IT-MGR-2, field MBS, MIS, any year of study, Compulsory-Elective group S
- Programme IT-MGR-2, field MMM, any year of study, Compulsory-Elective group L
- Programme MITAI, field NADE, NBIO, NCPS, NEMB, NEMB up to 2021/22, NGRI, NHPC, NIDE, NISD, NISY, NISY up to 2020/21, NMAL, NMAT, NNET, NSEC, NSEN, NSPE, NVER, NVIZ, any year of study, Elective