<p>When do you start using "upper level" math content in comp sci? Under what context? I've taken intro programming courses and it used basic addition and multiplication, im taking data structures soon.</p>
<p>What do you mean by “upper level” math? No, really? Writing a computer program - any computer program (that compiles, anyway) - is equivalent to writing a mathematical proof ([Curry?Howard</a> correspondence - Wikipedia, the free encyclopedia](<a href=“http://en.wikipedia.org/wiki/Curry–Howard_correspondence]Curry?Howard”>Curry–Howard correspondence - Wikipedia)). If you’re writing correct programs, you’re doing correct proofs, and what’s harder in mathematics than writing correct proofs?</p>
<p>In a more traditional sense, you should probably expect to start seeing some combinatorics, logic, series, sequences and metamathematical proofs in your data structures course. All of that kind of thing is “upper level” in that most non-CS (excluding, possibly, math) people would know next to nothing about most of it.</p>
<p>As you get into more advanced courses, you’ll likely find that almost everything you do is math - discrete math (graph theory, logic, counting, etc.), algorithms (proofs, evaluation of series/sequences, etc.), programming languages (syntax, semantics, etc.), theory (strings, languages, automata, complexity, etc.), architecture (caching, microprocessor design, etc.), operating systems (scheduling, virtual memory, etc.), networks (protocols, performance, etc.), etc. If you look for it - and you don’t need to look hard - you’ll find math in almost everything you do in a core CS curriculum, and you’ll probably get more out of what you’re learning if you go at it from that angle.</p>
<p>CS Math is pretty much this:
Calculus 1-3, Linear Algebra, Discrete Mathematics, and Differential Equation (not required by many programs today, however). </p>
<p>You also take theortial to computer science, which is purely theortical (although pratical). That’s what aegrisomnia meant “theory”. </p>
<p>You also take computer system (binary, hex, oct, floating point, etc).</p>
<p>Number system is not easy to repreent in a computer, because today’s computer is base-2 (binary). So many things you do are in terms of basic arithemtics in base-10, but the underlying part is actually done in binary. How do we represent rational number? We can use two integers, by definition. How do we represent 1.2? We can use floating point.These things are studied in computer system, and computer aritechture & organization classes.</p>
<p>The computer theory courses will be like math courses. If you want to go more into cryptography, you may find math courses in algebra and number theory helpful. Graphics will use more math. Lexing and parsing for compilers will apply the language and automata theory from computer theory courses. Boolean algebra and logic will show up in various places. You might also take a numerical analysis course.</p>
<p>Ahh ok, its just been that my intro classes have been boring and haven’t done anything really interesting or challenging yet.</p>
<p>I think theory courses are more than math courses. They are the REAL kind of pure and applied math IMHO.
I enjoy them.</p>