This project's primary concern is with algorithmic aspects of the question: Given a simple polygon, can it be folded to form a closed convex polyhedron (a polytope)? Although there now exists a substantial body of geometry theorems that establish existence and uniqueness of the folded polytope, the proofs do not easily yield algorithms. Finding such algorithms is a major goal of this research. In particular, several variants of the folding problem in which more input information is given may lead to easier reconstruction algorithms. Unfoldings of polytopes will also be considered. Finding unfoldings that do not overlap is an interesting computational problem with important applications. Unfoldings are related to rollings of polytopes on a plane, a concept that leads to new problems, and perhaps will shed light on some old problems concerning shortest paths on polytopes.