Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

If I go for a Masters Degree in CS

 
Jose Campana
Ranch Hand
Posts: 339
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdi Partners !

If I decide to go for a Masters degree in Computer Science, What are the topics I should reinforce ?

What's the Core of Computer Science ? I assume as of today that it is Computer Mathematics, and probably it is.
The thing is, I'm starting a quest to prepare myself the best I can before going for my masters degree by reading the Best books on the Subject.
I know there isn't a Head First Computer Science(too bad ! he he); But What would be the closest thing to it ?

Please discuss.

Good Luck,

Jose
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Math (probably some statistics/stochastics and some discrete math) will be covered, but that's not the most important part. Some of the main areas of core computer science, along with principal texts you may want to check out (not that they all make for good self-study):
  • Algorithms and data structures: Cormen/Leiserson/Rivest, Abelson/Sussman, Wirth
  • Theory: Hopcroft/Ullman
  • Compilers: Aho/Sethi/Ullman
  • Software engineering: not sure what a standard text would be, but DeMarco ("The Deadline") and Brooks ("The Mythical Man-Month") are good starting points
  • Operating systems: Silberschatz/Galvin, Tanenbaum
  • Hardware: Hennessy/Patterson
  • Databases: Date
  •  
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    WOW !

    That's awesome, keep'em coming, I'm taking notes !

    Regarding the part about languages, I would've thought it was the hardest part about computer Science, should I go as far as studying assembler language ? or C++ would be quite enough ?

    I'll keep posting to this thread as you reply. I have a lot of Questions, but right now I'm choreographing my SOA billing System.

    Read you later,

    And thank you very much Ulf !

    Oh, and by the way... Where's the best place to study a Masters degree in CS in Europe ? This goes to Everybody reading who has a good tip about it.

    Good luck,

    Jose
     
    Maulin Vasavada
    Ranch Hand
    Posts: 1873
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    This should be good also..

    http://en.wikibooks.org/wiki/Data_Structures

    In essence you should get a book that focuses on Data Structures that covers, regular arrays, multi dimension arrays, lists, hash tables, trees, graphs, stacks, queue etc..

    Regards
    Maulin
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:I would've thought it was the hardest part about computer Science, should I go as far as studying assembler language ? or C++ would be quite enough ?


    Computer Science is not programming. Algorithms, structures, provability.

    No one writes assembly language any more. And the whole Java vs C++ argument is boring. Learn Scala, Schema, Python, Lisp and other languages to crack open your brain.

     
    Henry Wong
    author
    Marshal
    Pie
    Posts: 21506
    84
    C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Many of those books listed should be for courses required for a bachelor degree. And as for programming language courses, do they really have courses dedicated to a language after the sophmore year of college, these days?. For example, I never took a course in Prolog -- instead it was just a requirement of the AI class that I took. I always thought that schools required that students be able to pickup languages on their own, after a few years of them.

    Henry
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Its been 15 years since I was in grad school, but there were no programming courses. I think that my university offered a CS 101 programming course, but after that, you were expected to be able to pick up whatever you used.

    Nearly 40 years ago, when I was an undergrad, you could take one whole course, three credits worth, of programming for credit in the CS program.

    While the Dragon compiler book is a classic, there are more modern books that start with Java and use the more modern parsing functions of modern languages.

    The Date book listed above is very dated. Perhaps useful as an historical overview, but not much else.

    Of course, no real CS department should be spending much time on Databases unless its having the students write a relational DBMS as a project in a semester.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    It's quite remarkable to see that it's Not about programming, so I had thought before.
    But, it makes me wonder then, Is it the right path for someone with a profile like mine ? Someone who's spent a total of 4 years developing Enterprise Applications using the Java language.
    What kind of Jobs would I have access to If I become a Computer Scientist? and what's the difference for a Head Hunter for someone who's a Master and someone who's not ?

    I realize that I have a ton. of questions I know, and expect to see more of them because it's a huge decision for me. Oh, and let be a little annoying here by asking again:

    Could someone please tell me where in Europe would be the Best place to Study CS ?

    Good Night,

    Jose

     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:What kind of Jobs would I have access to If I become a Computer Scientist? and what's the difference for a Head Hunter for someone who's a Master and someone who's not?

    If you're pursuing a graduate degree in the hope of it having a direct impact on your employability, then you're likely to be disappointed. While there are jobs out there that require the kind of knowledge you'd pick up, it's definitely not the majority. The more experience you have, the less important becomes your academic CV.

    Over time you'll get an indirect career boost, since you'll be better at what you're doing by having a firmer footing on the basics and theory. But don't expect a recruiter or someone in HR to put much emphasis on it.

    Pat Farrell wrote:Of course, no real CS department should be spending much time on Databases unless its having the students write a relational DBMS as a project in a semester.

    I agree. That was listed more as something that a practitioner should have a good grasp on, than as something that would be treated in CS. Just like these days everybody should have a solid knowledge of TCP/IP (such as imparted by Volume 1 of Douglas Comer's series) although that wouldn't be taught in school.
     
    Monu Tripathi
    Rancher
    Posts: 1369
    1
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    You might want to revise your concepts in the fields of Computer Networks and Distributed Computing too.
    (Mr. Andrew Tanenbaum has written books for these too and I think they are very good.)

     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Being as honest as I can be, let me confess that....
    The reason I have to go and study to obtain a Master's degree in CS is still ambiguous even to me.
    Putting it in a different perspective, I've browsed through the job opportunities Google offers and, one of the obvious patterns I noticed, is their preference for people with Masters Degrees and/or PHDs.
    This should probably end up in a different thread, but... Do you find my reasoning to be satisfying enough for me to start considering a Masters degree seriously ?

    It's probably just an obsession, or day-dreaming, But I'd like to know what do you think about people like me with expectations that are high enough to do anything to give it a shot at trying to apply for a job at Google.
    It's pretty clear that I'd do anything... Would I end up disappointed ?


    Don't really know why, But something drives me to try to work for Google.

     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:But something drives me to try to work for Google.


    Google, Microsoft, and other firms have the pick of employees. They only hire the smartest, brightest folks, and they expect them to work incredibly hard and excel. Typically, folks they want to talk to are in the top ten of their classes.

     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Pat Farrell wrote:
    Jose Campana wrote:But something drives me to try to work for Google.


    Google, Microsoft, and other firms have the pick of employees. They only hire the smartest, brightest folks, and they expect them to work incredibly hard and excel. Typically, folks they want to talk to are in the top ten of their classes.



    Hmmmm, I know.
    and what you're trying to tell me is ?

    Because I believe that what you just said its a Fact.I just don't see where's the advice in your statement, if it was implied of course.

    Thank you for reading my Meaninglessness....

    Jose
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:and what you're trying to tell me is ?

    Its really a question for you to answer. You don't have to even reply. Are you the smartest guy in your classes? do you work the hardest?

    If the answer is "yes, absolutely" or even "yes, I'm confident" than this may be a realistic goal. But if its not, then whether or not you get a Masters will have no impact on working for Microsoft, EA, Google, etc.

    I'm not seeing why you are focusing on the Computer Science MS, there are other related Masters programs that will accomplish the same thing (get you noticed above the crowd) that may match your interests better. Software Engineering, Information Systems, etc.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Oh yes, it is a Realistic goal as far as I'm concerned.
    Why the MS degree?, do you ask. it's because I truly believe my current education is not as deep in terms of courses in comparison to the education dictated in other schools.

    Hey, now That I have your attention, Do you know where in Europe would be the best University to study CS, or any of your suggested study programs ?

    Thanks once again.

    Jose.
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:Do you know where in Europe would be the best University to study CS, or any of your suggested study programs ?

    Sorry, I'm in the US. Everyone knows the hot programs here, MIT, UC Berkeley, Stanford are the top three in any list. Places like UCLA, CMU, Washington, all are in the top 15 or so.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Yes, those Universities are indeed awesome. Have read reviews about them many times.

    I hope somebody replies with an European suggestion, that would be nice.

    Thanks Pat !

    Have a nice day.

    Jose
     
    Jeanne Boyarsky
    author & internet detective
    Marshal
    Posts: 34973
    379
    Eclipse IDE Java VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote: I've browsed through the job opportunities Google offers and, one of the obvious patterns I noticed, is their preference for people with Masters Degrees and/or PHDs.

    Google does a lot of deep algorithmic work. It's hard and requires a lot of study of algorithms to be good at it. Yes, they want the best. But they do have a reason behind wanting formal study.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jeanne Boyarsky wrote:
    Google does a lot of deep algorithmic work. It's hard and requires a lot of study of algorithms to be good at it. Yes, they want the best. But they do have a reason behind wanting formal study.


    And besides wanting people with a Great understanding about algorithms, is there another reason for Google to want formal study ? or that was your whole point?

    Good night,

    Jose
     
    Jeanne Boyarsky
    author & internet detective
    Marshal
    Posts: 34973
    379
    Eclipse IDE Java VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:And besides wanting people with a Great understanding about algorithms, is there another reason for Google to want formal study ? or that was your whole point?

    That was my main point. It's incredibly difficult to gain that formal mathematical understanding of complex mathematical algorithms on your own. And it's certainly easier to recognize that understanding from Google's point of view if it comes from a school.
     
    chetan dhumane
    Ranch Hand
    Posts: 641
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Pat Farrell wrote:
    Jose Campana wrote:But something drives me to try to work for Google.


    Google, Microsoft, and other firms have the pick of employees. They only hire the smartest, brightest folks, and they expect them to work incredibly hard and excel. Typically, folks they want to talk to are in the top ten of their classes.



    What does mean by smartest,brightest folks.
    Can you please explain it in detail.
    I can't define it ? I want an example.
     
    chetan dhumane
    Ranch Hand
    Posts: 641
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    What type of masters degree you are going for ?
    Is it MS or M.Tech ?
    Please suggest.
     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    chetan dhumane wrote:What does mean by smartest,brightest folks.

    Get a dictionary of the English language and look up "bright" and "smart". Then apply the concept of superlatives to those adjectives.
     
    Monu Tripathi
    Rancher
    Posts: 1369
    1
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    The reason I have to go and study to obtain a Master's degree in CS is still ambiguous even to me.


    You should complete your studies first unless you have a very strong reason to defer it or not go for it at all. One you start working(which could be anywhere), it becomes very hard to go back and resume studies. And when you cannot you regret your decision.

    Learning and acquiring knowlege, perhaps even more than what is required for survival, will never hurt; it always does you some good.
     
    chetan dhumane
    Ranch Hand
    Posts: 641
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Ulf Dittmer wrote:
    chetan dhumane wrote:What does mean by smartest,brightest folks.

    Get a dictionary of the English language and look up "bright" and "smart". Then apply the concept of superlatives to those adjectives.


    I am not asking the question in theoretical aspects.
    I think you did not get my question.
    Think in silent for about 1 minute.
     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    One you start working (which could be anywhere), it becomes very hard to go back and resume studies.

    I disagree. It's a common occurrence -for example in the USA- to get a few years worth of actual working experience after obtaining a Bachelor's degree, and then to decide whether to go for an advanced degree. Some schools or programs even require that you do so.
     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    chetan dhumane wrote:I think you did not get my question.
    Obviously not.
    Think in silent for about 1 minute.
    I promise I won't.
     
    chetan dhumane
    Ranch Hand
    Posts: 641
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Ulf Dittmer wrote:
    chetan dhumane wrote:I think you did not get my question.
    Obviously not.
    Think in silent for about 1 minute.
    I promise I won't.


    I want to ask that whats the actual difference between the guys who work in smaller companies and the guys who works for google,microsoft.
    Why is it so ?
    Why there is level of earning difference between each person ? Who decides it ?
     
    Monu Tripathi
    Rancher
    Posts: 1369
    1
    Android Eclipse IDE Java
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Ulf Dittmer wrote:
    One you start working (which could be anywhere), it becomes very hard to go back and resume studies.

    I disagree. It's a common occurrence -for example in the USA- to get a few years worth of actual working experience after obtaining a Bachelor's degree, and then to decide whether to go for an advanced degree. Some schools or programs even require that you do so.


    Saw this coming when I wrote that statement; I agree in your disagreement, it is indeed controversial.

    I found it hard to go back and resume my studies.

    It is a brilliant concept in theory to get your hands dirty and get valuable experience before you choose M.S. But there have also been cases where people got comfortable with their jobs, lured by the money and forgot about higher studies.
    It could still work for you if-
    1. you take your job as temporary with the intent of resuming MS again,
    2. manage not get lured or satisfied with the money and become complacent
    3. manage to find time amidst all the work to keep brushing up on concepts you've learnt.

    It is after all my opinion and I know how often I could be wrong...

     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I think I already have what you guys know as a Bachelor Degree.
    I'm a Sun Certified Java Programmer. and have been working in the field of software development for 4 years now.
    Before obtaining my Bachelor's degree I worked for a complete year to gain experience, and I'm currently completing my academic goals, But seeing that I'm getting better at this, it is only natural to look for more ambicious endeavors.
    The next step was the easiest to figure out, because There is only one single choice really, and it became obvious that becoming a Computer Scientist was the path to follow if I ever wanted to get What I really want, that is, to work for Google.

    Maybe once I'm working on my Masters degree it will become hard to get back to work.

    I wonder what's a better place to go and look for a University in Europe: Sweden or Germany ?
    or in General, which country would you recommend ?

    Thank you Jeanne, and all of you guys, for reading my comments,

    Best Regards,

    Jose
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:or in General, which country would you recommend ?


    If your goal is to get hired by Google, or the next Google, then you greatly improve your odds by going to a school where Google already does on-campus interviews. Which means go to UC Berkeley or Stanford.

    Sure, they are expensive and hard to get into. But that is where Google looks, since the founders came from Stanford.
     
    Henry Wong
    author
    Marshal
    Pie
    Posts: 21506
    84
    C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Pat Farrell wrote:Sorry, I'm in the US. Everyone knows the hot programs here, MIT, UC Berkeley, Stanford are the top three in any list. Places like UCLA, CMU, Washington, all are in the top 15 or so.



    Side note. I don't know why, but there seems to be something special about Carnegie Mellon University (it is a great school). For some reason, when I talk to many of my client companies about their interns, they seem to favor, (and in one case, only use students) from Carnegie Mellon.

    Of course, it may just be coincidence.

    Henry
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Carnegie Mellon is a school I have always had my eye on.
    It's like a dream school, and I've seen their programs and they have by far the more options to choose from, when it comes to different emphasis areas of Computer Science.
    However, due to some financial issues I may not be able to study in the US. and would probably have to choose a place in Europe, that's why I ask so intensely about it.
    ha ha ha ha, Everybody seems to be dodging the subject of Europe.
    May I know why? Or is it simply that you guys don't know ?

    Jose
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Henry Wong wrote:Side note. I don't know why, but there seems to be something special about Carnegie Mellon University (it is a great school). For some reason, when I talk to many of my client companies about their interns, they seem to favor, (and in one case, only use students) from Carnegie Mellon.

    CMU is a great school. It has a long history of being first rate. It might even be as "good" as Stanford or Berkeley, but it doesn't have quite the world-wide reputation.

    For quality of education, I think CMU is in the top ten list, but since its not out in Silicon Valley, it hasn't infested Google and other SV firms as much as Stanford and Berkeley have. Folks tend to hire friends, and hire from schools that they went to.

    Each year, when you hire ten people from a school, they form the folks who do interviews in the future years, so you get a feedback loop.
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jose Campana wrote:May I know why? Or is it simply that you guys don't know ?

    I have not dodged it, I addressed it directly. Since I'm in the US, I don't have experience with them, and with your stated goals, I believe that you should get to one of the top US schools.

    Or change your goals.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I'll keep in mind your recommendations. I take them very seriously and I will analyze my current situation in academic terms including my goals.

    Thank you Pat.
     
    Martha Simmons
    Ranch Hand
    Posts: 130
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    PF: The Date book listed above is very dated.

    Hi Pat,

    I am curious what you mean by "dated" (nice pun, by the way ), especially considering that Ulf didn't specify which book he means. Here is a relatively (another pun? :shocked: ) fresh piece of writing by C. J. Date, but I guess you mean that the substance of what he is writing is dated, and I am curious why.
     
    Pat Farrell
    Rancher
    Posts: 4678
    7
    Linux Mac OS X VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Martha Simmons wrote:I am curious what you mean by "dated" (nice pun, by the way ), especially considering that Ulf didn't specify which book he means.


    His main book, An Introduction to Database Systems Addison Wesley; 8 edition (August 1, 2003), so even the latest revision is nearly 7 years old. I can't find a date for the initial vesion, but it was back in the 70s. I have not read a recent version, but the one I have is missing a lot of stuff that we take for granted.

    Its not wrong, just old.
     
    Jose Campana
    Ranch Hand
    Posts: 339
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Returning to the original subject of this thread, as you guys have seemingly done already,
    I would like to ask the following question:

    What is your recommended book for Computer Mathematics ?

    I know many have been written on the subject, but my pick would be the closest to Head First style of writing and teaching. Is there such a thing out there ?

    I hope somebody knows...

    Thanks again,

    Sincerely,

    Jose
     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    What is your recommended book for Computer Mathematics ?

    I liked this one: http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=ntt_at_ep_dpt_1, but it's not in HF style.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic