PRiMAL
Explore with PRogramming, Math, and ALgorithms...
(under construction)


Introduction
We propose a novel cyclic process (as depicted above) by which we start in one of three computational domains: programming, math, or algorithms; and cycles through them in that order, so as to make each pass enhance the next, until a certain discovery is made. The value of such an approach is two-fold. First, it integrates different elements of computational thinking that are essential for computer scientists and problem solvers in general. Second, it mimics to a great extent a natural process of learning, where people move from concrete observations (output of a PRogram), to conceptualization and hypotheses (Math), to active experimentation based on hypotheses and what has been learned (ALgorithms); new algorithms in turn can yield better programs and close the cycle. Read more below:

Some research problems
In general, the research problems will be fun and attractive to someone with a decent background in programming who has genuine interest in math, algorithms, and computation, and who would seek the sub-field of theoretical computer science as a graduate or career choice. Here are some examples:

Watch a talk called Fibonacci-ish at Math Encounters (sponsored by MoMath and the Simons Foundations) about some of these problems. Here's a summary of the problems with their relevant research topics and a possible starting point.

Prerequisites
Experience in discrete math, proofs, algorithms, and programming (not necessarily all).

What to expect as a participant
(under construction) For now, refer to Sections B.1, B.2, B.3, and E.1 of proposal above.