SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Programming language design - NPRG075
Title: Design programovacích jazyků
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023 to 2023
Semester: winter
E-Credits: 2
Hours per week, examination: winter s.:0/2, C [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: not taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Guarantor: Mgr. Tomáš Petříček, Ph.D.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Programming
Annotation -
Last update: 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.
Course completion requirements -
Last update: 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.

Literature -
Last update: 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.

Syllabus -
Last update: 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

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html