So; I've been pretty interested in descriptive complexity and finite model theory lately, as well as geometric complexity theory. Algorithmic information theory/Kolmogorov complexity is interesting as well, as is reinforcement learning. Also, I've been reading up on lambda calculus and the curry Howard Isomorphism (among other things) and I've become a fairly staunch constructivist. Although these are all highly mathematical areas (sans reinforcement learning, perhaps), it seems that I would have to apply to computer science programs in order to study them (with the exception of a few programs, like CMU where I can do the logic track for math). My concern is that I'm unsure of how computer science departments will view me. I've had theory of computation, two graduate mathematical logic courses, a graduate computational complexity seminar course, a grad course in formal verification and I've done research on algebraic cryptanalysis, but I've only had two programming courses (one in Ocaml and one in Java), and my coding skill is weak, not to mention that I've got very limited knowledge of the other aspects of the standard computer science curriculum. So I'm totally unbalanced as a computer science candidate; although I have several advanced courses, I've got not solid grounding in the standard core knowledge (not to mention my lack of even a minor in the subject). Here are my questions: (A) Would it actually be sensible for me to apply to CS grad schools given that my interests are so theoretically focused? (B) Is there any insight some of you (those who have been through the process or are in grad school, or are professors/lecturers) could share about how my application might be viewed? (C) Are there any programs that anyone could suggest with strong communication between math and CS where I might be able to take an adviser from CS although I'm in math?