research items in computer science
two low priority projects, on which I will probably
work sometime in fall / winter 2022
- Programs for the ZUSE Z3
Much has been written about the ZUSE Z3, the first operational
freely programmable automatic computer (1941!), but there is
next to nothing on software for this machine. I have written
a number of sketches of programs and made a preliminary
design for a cross-assembler as an aid to produce input
tapes, in particular the Z3r replica built by Horst Zuse,
the son of Konrad Zuse. My goal is to produce some
demonstration programs and to show how the limited facilities
of this proof-of-concept machine can be used for actual work.
- Algorithm engineering and paper on some related issues in
programming style and program development methods.
I recently found back a copy of the inital version of a
paper written by me in 1984 in my archives. This memo was
my initial reaction to an article in a well respected journal
about an algorithm for binary tree handling, in my view
deficient both algorithmically and in style. I created
a smaller, cleaner and more efficient algorithm to the
task with minimal working storage needed and a linear
runtime, and implemented it both in Ada and C. I also
wrote a lengthy article about it, explaining both the
algorithm and general problems and approaches in program
construction for and with abstract data types and their
extensions. The editor of another journal quickly accepted
my paper, but only the algorithm part, not the part about
programming methodology and actual implementation, and
asked for an extensive rewrite to this effect. However,
at that time I had high pressure from my project at work
and at the same time I privately needed all the time I could
get for a serious love affair 😀. So the paper was
never written, and in the end all the files were lost.
All what remained was the printout of the very first memo
which I recently found in my archives. I am not aware of
any independently developed and published version of my
solution to the problem.
I have to recreate the solution and write a new article
/ report. It's low priority, but I really want it, both
the algorithm and the program development aspects.
So it will be a project for some future time, when I need
to do something different from slide rules and the like...