Skip to content

tpetricek/Teaching

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tomas Petricek's teaching

This repository contains various teaching materials I created for the courses taught at Charles University and University of Kent. The materials use reveal.js and are generally generated from Markdown using F# Formatting. For my industry and research talks see my Talks repository and for older materials (before 2015), check out my old Documents repository.

Write your own tiny programming system(s)! (2023)

The goal of this course is to teach how fundamental programming language techniques, algorithms and systems work by writing their miniature versions. The course covers multiple paradigms including functional, object-oriented, imperative and logic, as well as end-user programming environments like spreadsheets. Examples will be given using the F# programming language, which will be briefly introduced.

See also the official course page and NPRG077 in SIS.

Concepts of Modern Programming Languages (2023)

The course will show advanced concepts of OO languages with dynamic typing (demonstrated on Groovy), OO languages with static typing (demonstrated on Scala) and OO languages without classes (demonstrated on IO and briefly on JavaScript/TypeScript to show the implications).

See also the official course page and NPRG014 in SIS.

Programming language design (2022)

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.

See also the official course page and NPRG075 in SIS.

Teachin at University of Kent (2018-2022)

Materials license

The presentations and documents available in the repository are available under the Creative Commons Attribution 2.5 license. This means that you can copy, distribute and remix the work, but you must attribute the work to the author (by providing a link to the original source and my name). For more information see the full license details.