If one takes the view that mathematics is naught but a set axioms and some conventions for replacement, then the use of Euclidean or Riemannian space simply becomes a choice based on the problem one wishes to investigate...neither is wrong. We pick the axioms and the rules, if they're interesting and reasonably consistent, it's mathematics.

The first principle of learning mathematics is that the notation describing idea `M{n}` depends on an understanding of some notation describing idea `M{n-1}. That's why there is some sense in which "first principles" of mathematics makes sense. In the end, learning mathematics is a long haul - the academically elite of the world normally spend twelve years just getting to the point of completing a first calculus course before heading off to university.

Of course, there isn't really an explicit ordering to the notation. This despite our ordering of the school-boy educational system. Out in the adult world, mathematicians, engineers, scientists, etc. just grab whatever notation is convenient for thinking about the problem they are trying to solve. Thus, it is common for separate domains to have wildly different underlying abstractions for a common mathematical concept: ie. two problems which are reducible to each other by manipulating notation using replacement.

What this means is that there's no meaningful reason to derive the domain specific language [notation] of cryptography and antenna design simultaneously from Peano arithmetic...sure there's a formalism, but it's a Turing tarpit equivalent to building Facebook's infrastructure in Brainfuck. Starting from first principles is a task for mathematicians of Russel's and Whitehead's calibers. For a novice, it constitutes a rookie mistake; keeping in mind that the problem Gödel found with Principia Mathematica is foundational to computer science.

The philosopher CS Pierce's criticism of Descartes Meditations can be elevator pitched as: enquiry begins where and when we have the doubt, not later after we have travelled to some starting point. The base case for extending our knowledge is our current knowledge; creating better working conditions and unlearning poor habits of mind are part of the task.

If the enquiry grows out of knowledge in computing, it is impossible to start anywhere but from computing. Getting to the "No! I want to start over here!" place is part of the enquiry and a sham exercise.

All of which is to preface two suggestions:

+ Knuth's Art of Computer Programming presents a lot of mathematics in a context relevant to people with an interest in computing. Volume I starts off with mathematics, Volume II is all about numbers, Volumes III and IV are loaded with geometry and the algebraic equivalents of things we think about geometrically.

+ Iverson's Math for the Layman and other works are useful for introducing the importance of notation and tying it to computing. [Disclaimer: I'm currently in love with J, and posting the following link was where I started this comment]. http://www.cs.trinity.edu/About/The_Courses/cs301/math-for-t...

+ Because notions of computability are implicit in mathematics, automata theory is another vector for linking knowledge of computing to an increased understanding of mathematics.

Good luck.