Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (26.04.2023)
Cílem předmětu je ukázat studentům jak navrhovat lepší programovací jazyky, vývojářské nástroje,
programátorské
frameworky a knihovny. Předmět se zabývá systematickými přístupy pro design programovacích jazyků a
knihoven,
od formálních metod založených na logice a teorii programovacích jazyků po metody human-computer
interaction
založené na kvalitativních a kvantitativních uživatelských studiích.
Přemět je vyučován jednou za dva roky. Výuka předmětu alternuje s předmětem NPRG077.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (26.04.2023)
The goal of this course is to show students how to design better programming languages, developer
tools,
development frameworks and libraries. The course covers rigorous methods for programming language and
library
design, ranging from formal methods based on logic and programming language theory, to human-computer
interaction methods based on qualitative and quantitative user studies.
The course is taught once every two years. The teaching of the course alternates with the course
NPRG077.
Podmínky zakončení předmětu -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
Zápočet bude udělen za dokončení malého individuálního projektu, který používá některou z metod představených v předmětu pro návrh nového nebo zhodnocení existujícího jazyka či knihovny.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
The credits will be awarded for completing a small-scale independent project utilizing the methodologies discussed in the course to design a new or evaluate an existing language or a library.
Literatura -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
Chasins, S.E., Glassman, E.L. and Sunshine, J., 2021. PL and HCI: better together. Communications of the ACM, 64(8), pp.98-106.
Pierce, B.C., 2002. Types and programming languages. MIT Press.
Carroll, J.M. ed., 2003. HCI models, theories, and frameworks: Toward a multidisciplinary science. Elsevier.
Montfort, N., Baudoin, P., Bell, J., Bogost, I. and Douglass, J., 2014. 10 PRINT CHR $(205.5+ RND (1));: GOTO 10. MIT Press.
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
Chasins, S.E., Glassman, E.L. and Sunshine, J., 2021. PL and HCI: better together. Communications of the ACM, 64(8), pp.98-106.
Pierce, B.C., 2002. Types and programming languages. MIT Press.
Carroll, J.M. ed., 2003. HCI models, theories, and frameworks: Toward a multidisciplinary science. Elsevier.
Montfort, N., Baudoin, P., Bell, J., Bogost, I. and Douglass, J., 2014. 10 PRINT CHR $(205.5+ RND (1));: GOTO 10. MIT Press.
Sylabus -
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
1. Úvod do metod pro studium programování: Co lze vlastně zkoumat na programovacích jazycích?
2. Pohled do historie programovacích nástrojů: Zapomenuté myšlenky které stojí za znovuobjevení
3. Programování z pohledu designu: Návrh nových interaktivních programovacích systémů
4. Studium návrhu programovacích systémů: Případové studie, uživatelské studie a empirické metody
5. Matematický pohled na programování: Formální modely programovacích jazyků
6. Důkazy o programovacích jazycích: Typy a vlastnosti funkcionálních programovacích jazyků
Poslední úprava: doc. RNDr. Petr Hnětynka, Ph.D. (12.05.2022)
1. Introduction to programming research methods: What can we say about programming?
2. Historical look at programming systems: Recovering lost programming ideas
3. Design perspective on programming: Inventing new interactive programming approaches
4. Evaluating programming system design: Case studies, user studies and empirical evaluation
5. Mathematical perspective on programming: Formal models of programming languages
6.Proofs about programming languages: Types and properties of functional languages