What field in computer science is a nice balance of mathematics and programming?

I am still a student and still deciding what to do in life. I am certain that I will go into computer science, but I am not sure what specific field (i.e cryptography, AI, theory, software engineering). I’d like to enter a field that has a nice 50/50 balance of programming and mathematics since I have a strong passion in both those areas. However, every field I’ve seen either stresses math but not programming (such as cryptography) or stresses programming but not math (such as software engineering).

What field in computer science has a good 50/50 balance between mathematics and programming?



I believe that something on the lines of Advanced Analysis of Algorithms or Advanced Algorithms, can be what you are looking for… :slight_smile: It is what I intend to specialize myself in as well :smiley: (who knows, maybe even future will allow some sort of professional cooperation :slight_smile: )

On such a specialization, I guess that you would actually see how advanced Maths (such as Fourier Transforms, Dynamic Programming, Randomized Algorithms, and related things) can actually help on the design of efficient algorithms and in fact, this is really what I want to do in my future life, hopefully as a teacher of an Introduction to Algorithms course. This is simply beautiful :smiley:



Hi @kullalok and @kuruma >> similar dreams and passion here too. I like innovative things. Too much mainstream/straightforward tasks don’t interest me. I want to go into research (of course in CS) after my grads. But good PhD schools (US) require sound research backgrounds.

What I thought would be my plan for the pre-final and final year of my CS engineering, is that I would pick some good areas of Algorithms (e.g. Approximation Algorithms/Randomization etc…) and would read research papers, solve problems, devote much time over that, so that I get a good feel for it; along with the Codechef contests. That would automatically pave my path for future, I believe.

Lets have a nice discussion here. :slight_smile: It will help us get more motivated towards our goals.

@bugkiller : I have some suggestion for you . Prof. Naveen Garg from IIT Delhi , India , works in the area of Approximation Algorithms . He has done some really awesome research and if you read some good book on approximation algorithms you will find many references to his research papers . You can as well give GATE examination and try to do your Master’s/PHD from IIT Delhi . That will be cool too . Wish you all the best for your future . Cheers :slight_smile:


Hi @vineetpaliwal >> I know about Naveen Sir. He is one of my favorite Professors. I refer to his online video lectures (specially for the Graph Algorithms, the best way to learn Graphs I would say). He explains so well and the great fact is that he gives the proof of the things said, so nicely. I have learnt a lot of things from him, and his arguments. And I know that he has done some good work on Approximation Algorithms as well; I have read his profile.

1 Like

and thank you for the suggestion :slight_smile:

Well I don’t mind discussing my path so far…

I have always liked Maths and CS, maybe since I was 13/14, my dad showed me my 1st program ever:

A button in Visual Basic to write “Hello, World!” on a window :smiley:

But, he was a Civil Engineer and when I first enrolled in university (4 years ago), I actually went to Civil Engineering and the 1st more general years (the equivalent to a Bachelor’s I’d say) went relatively well and I managed to complete 22 subjects… However, when I started to study more specific CE subjects, I decided to switch courses and I enrolled on CS last semester… Unfortunately, I ended up choosing really hard subjects to which I had not much basis (this is because I was given some equivalences on the most general subjects) to understand and last semester went really bad…

So, we arrive to where I’m now, taking only 2 subjects this semester (Introduction to Algorithms and Computer Architecture) and I am ABSOLUTELY loving Algorithms subject so far :slight_smile:

What I’m only sorry for is not having dedicated my time to Codechef earlier when it appeared, or else, I would have become a much better programmer than I am today… This is mainly because lots of problems we are faced with here, usually require a very strong knowledge on Discrete Mathematics and general Mathematical intuition, along with knowing Data Structures and that area of Maths is still very hard for me… If I knew more about it (and especially, if I had time for it) I would solve more problems… But, reading the editorials always makes me a little bit more enlightened, even if it’s only unconsciously, and I actually love, being part of this community now that I’ve found it :smiley:

Best regards,


1 Like

Thank you @kuruma, @bugkiller, and @vineetpaliwal for your wonderful suggestions :). I will certainly consider all of them.

I’ve also had the suggestion of entering high-performance computing from a guy on Quora (link to my question http://www.quora.com/Computer-Science/What-field-in-computer-science-is-a-balance-of-math-and-programming ).

What do you guys know about that? Is high-performance computing really a good 50/50 balance?

To be honest, I don’t really know much about High-Performance Computing, it’s a matter of doing some research :slight_smile:

However, some of the suggestions in your question are interesting as well, namely, image processing and related things…

I leave you a link here about an online course that will take place in some months hosted on Coursera platform:

Coding the Matrix

Maybe this can also be of your interest :smiley:

Best regards,



Thank you so much Bruno :D. I have heard of Coursera before and I am taking courses on it (Roughgarden’s Design and Analysis of Algorithms Part I, and I have taken Sedgewick’s Part I Algorithms as well), but I never saw this course :). It seems really interesting.

1 Like

You’re welcome!! :slight_smile:
I would also love to enroll on an algorithms course from them… But I want to do it when it’s on the beginning… :slight_smile:

Also, if you could link me, Roughgarden’s Design and Analysis of Algorithms Part I, I’d be very interested… I’ve only found Sedgewick’s course yet…

Here is Roughgarden’s course: https://www.coursera.org/course/algo :slight_smile:

1 Like

The programming assignments for Roughgarden’s course are a lot like ProjectEuler. All you do is calculate one answer in any language you want and submit that answer.

1 Like

I’m more interested on the learning part :smiley: And on the materials that would be supplied, maybe when a new course starts I’ll enroll on it :smiley:

1 Like

Are you taking the Coding the Matrix course, Bruno?

I have enrolled for it, but the course will only be in June I think :slight_smile:

Could anyone suggest a good book for mathematics and algorithms?

So we’re going to be classmates, awesome :smiley:

1 Like

The Art of Computer Programming by Don Knuth is an excellent book on both of those.

1 Like

What about artificial intelligence/machine learning? Do any of you know how good of a balance either of those disciplines has?