Projects
Contact
Prof. Dr. Claus Möbus
Room: A02 2-226
Tel: +49 441 / 798-2900
claus.moebus@uol.de
-------------------------------------------
Secretary
Manuela Wüstefeld
Room: A02 2-228
Tel: +49 441 / 798-4520
manuela.wuestefeld@uol.de
-------------------------------------------
Projects
Course Offerings
We offered two seminars "Probabilistic Modeling I (Inf 533) / II (534)"
Seminar Probabilistic Modeling I (Inf 533) / II (Inf 534)
The seminar consisted of two parts, which took place in the winter semester (Part I) and in the summer semester (Part II).
In Part I we dealt with the state-of-the-art (SoA) in probabilistic modeling using probabilistic programming languages (as an example the DSL WebPPL) in cognition (perception, problem solving, evaluation, decision making) and behavioral control of predominantly natural agents.
Part II dealt with probabilistic modeling in technical, epidemiological and ecological contexts.We also considered the SoA in the development of new probabilistic modeling languages (e.g. PyRo, TURING, Greta, PyMC3).
This division of the contents adapted to the students' previous knowledge and wishes.
The successful participation in both seminars could be combined in such a way that it corresponded to a lecture module.
-----------------------------------------------------------------------------------------
This is all draft for personal use; comments, bug reports, or proposals are welcome:
claus.moebus(at)uol.de
-----------------------------------------------------------------------------------------
Transpilation of SICP: From MIT/GNU-Scheme to Julia/Pluto.jl
- The Diary of a Dev -
"Structure and Interpretation of Computer Programs (SICP) is a computer science textbook by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman with Julie Sussman. It is known as the Wizard Book in hacker culture.[1][2] It teaches fundamental principles of computer programming, including recursion, abstraction, modularity, and programming language design and implementation." (Wikipedia, 2021/09/15)
SICP-scripts are written in MIT-SCHEME invented in the 90ies at the MIT AI Lab. Scheme is a minimalist dialect of the Lisp family of programming languages. JULIA was also but nearly 30 years later invented at the very same MIT. This happened 2009 not at the MIT AI Lab but at MIT's Computer Science and AI Laboratory (CSAIL). Here we present transpilations into JULIA within a Pluto.jl-embedding.
- Building Abstractions with Procedures
- The Elements of Programming
- Procedures and the Processes They Generate
- Formulating Abstractions with Higher-Order Procedures
- Building Abstractions with Data
- Introduction to Data Abstractions
- Hierarchical Data and the Closure Property
- Symbolic Data
- Multiple Representations for Abstract Data
- Representations for Complex Numbers
- Tagged Data
- Data-directed Programming and Additivity
- Systems with Generic Operations
- Generic Arithmetic Operations
- Combining Data of different Types
- Example: Symbolic Algebra
-----------------------------------------------------------------------------------------
This is all draft for personal use; comments, bug reports, or proposals are welcome:
claus.moebus(at)uol.de
-----------------------------------------------------------------------------------------
Transpilation of SDFF: From MIT/GNU-Scheme first to Racket/Scheme and then to Julia/Pluto.jl
Hanson, Ch. & Sussman, G.J.; Software Design For Flexibility: How To Avoid Programming Yourself into a Corner, MIT Press, 2021
The authors try to motivate devs to use an additive style in designing software. All programs in the book are written in MIT/GNU-Scheme – a highly flexible language -. The authors argue that the presentation and explanation of programming ideas is more concise in Scheme than in more popular languages (SDFF, 2021, p.xvi). Our hypothesis is that Julia being more popular than Scheme offers the same or even more conciseness. We try to transpile the MIT/GNU-Scheme programs first intoRACKET/Scheme and then into JULIA/PLUTO.jl. The first transpilation is made because Racket is more accessible than MIT/GNU-Scheme and the second because Julia is a modern language especially aimed at scientific programming. PLUTO is a reactive notebook offering a fantastic platform for development and documentation of Julia programs.
This experiment has two aims. The first is rather selfish. We want to improve our competence in Racket, Scheme and Julia. The second is centered at our hypothesis, whether Julia is sufficiently usable, flexible, expressible, and concise to follow all ideas of Hanson and Sussman expressed in their book SDFF.
- 2. Domain-Specific Languages
- 2.1 Combinators
- 2.1.1 Function Combinators (Julia/Pluto)
- 2.1.1 Function Combinators (Racket / Scheme)
- 2.3 Wrappers (Julia/Pluto)
-----------------------------------------------------------------------------------------
This is all draft for personal use; comments, bug reports, or proposals are welcome:
claus.moebus(at)uol.de
-----------------------------------------------------------------------------------------
Machine Learning with Julia/Pluto.jl
1 Mathematical Background
1.1 Infinite Series
2 Stochastic Background
10 Boltzmann's and Shannon's Entropy
3 Machine Learning
3.1 Classification
-----------------------------------------------------------------------------------------
This is all draft for personal use; comments, bug reports, or proposals are welcome:
claus.moebus(at)uol.de
-----------------------------------------------------------------------------------------