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… It is what I intend to specialize myself in as well (who knows, maybe even future will allow some sort of professional cooperation )
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
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. 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
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.
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
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
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
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.
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.