# Project Proposals

## Software Engineering & Technology

• SET Seminar/Graduation project: De-factoring Source Code (inverse of refactoring to improve source code; a.k.a. refuctoring) [Some work has already been done on this. You can extend it.]
• SET Seminar/Graduation project: Computational Formalisms and MDSE
• SET Semainar/Graduation project: MDSE approach to the solving of packing puzzles [Some work has already been done on this. You can extend it.]
• Graduation project: New Metamodeling Language [Some work has already been done on this. You can extend it.]
• Bachelor/Honors/Master project (Mathemetics or Computer Science): Combinator Soup Experiment [Some work has already been done on this. You can extend it.]

Start off with a (predefined) mix of combinators, repeatedly apply one combinator to another, and analyze the resulting mix. In particular, it is interesting to see under what conditions and after how long self-replicating combinators appear. This resembles the primordial soup experiment by Miller and Urey.

• Bachelor/Master project (Mathematics): Zeros of Compound Trigonometric Functions (in particular, related to the next project) [Currently being worked on.]
• Bachelor/Master project (Mathematics): Classification of Regular Constant-Torsion Polygons in 3D [Currently being worked on.]

The torsion angle of a segment in a (3D) polygon is the angle between the two angle-spanning planes at each end of the segment (involving the two adjacent segments).

In a constant-torision polygon, all torsion angles are the same.

In a regular polygon, all segment lengths are the same and all joint angles are the same.

The classification of all regular 2D polygons is known. Regular polygons in 3D are too wild. Hence, the interest in regular constant-torsion polygons. See:

• Bachelor/Master Project (Mathematics or Computer Science): Implement (in Mathematica) Stachowiak's algorithm and Lehmer's heuristic for generating Hamiltonian paths in neighbor-swap graphs of permutations. [Some work has already been done on this. You can extend it.]
• G. Stachowiak. "Hamilton Paths in Graphs of Linear Extensions for Unions of Posets", SIAM J. Discrete Math., 5(2):199–206 (1992).
• D.H. Lehmer. "Permutation by Adjacent Interchanges", The American Mathematical Monthly, Vol. 72, No. 2, Part 2: Computers and computing (Feb. 1965), pp. 36-46.
This is part of my Combinatorial Choreography project.
• Bachelor/Master Project (Mathematics or Computer Science): Design and implement (in Mathematica) algorithms to determine the symmetry group of a finite (2D or 3D) graphics object (collection of points, lines, polygonal faces). [Some work has already been done on this. You can extend it.]
• Bachelor/Master Project (Mathematics or Computer Science): Implement (in Mathematica) algorithms to determine equivalences and symmetries of 3D turtle programs.
1. Tom Verhoeff. "3D Turtle Geometry: Artwork, Theory, Program Equivalence and Symmetry". Int. J. of Arts and Technology, 3(2/3):288–319 (2010).
• Bachelor/Master project (Mathematics): Computer-supported interactive determination schema plus visualization of the 230 space groups [Some work has already been done on this. You can extend it.]