Coffeehouse Thread

27 posts

Accepted for Computer Science Degree

Back to Forum: Coffeehouse
  • User profile image
    mastermine

    Today I got accepted to do a Computer Science Degree at Stafford University http://www.staffs.ac.uk/study_here/courses/computer-science-tcm428340.jsp#what_do

    Can anyone recommend any books or stuff I'm going to need.


  • User profile image
    AndyC

    You should be able to get a reading list from the University. That's probably the best place to start if you don't want to start spending huge amounts of cash on books that may not be relevant.

    Bear in mind that once you start you can probably also get a student discount from your local bookstore and may even be able to buy second hand copies from impoverished ex-students who now need to prepare to pay back those loans!

  • User profile image
    Dr Herbie

    I'm sure they'll give out book lists at the start.  I wouldn't splash out on expensive texts until I got the list -- otherwise it might be money wasted (and some of those text books are not cheap!).

    Herbie

  • User profile image
    mastermine

    Thanks for the info

  • User profile image
    BlackTiger

    Dr Herbie said:
    I'm sure they'll give out book lists at the start.  I wouldn't splash out on expensive texts until I got the list -- otherwise it might be money wasted (and some of those text books are not cheap!).

    Herbie
    Money will be wasted in any case... Question is how much money will be thrown away.

    If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
    Last modified
  • User profile image
    Pace

    BlackTiger said:
    Dr Herbie said:
    *snip*
    Money will be wasted in any case... Question is how much money will be thrown away.
    Code Complete 2nd Ed

    Dont Make Me Think


    I can guarantee that these will help you. Not with your CS studies per say but from a thinking how to construct a program / ui design point of view. I wish I read these earlier in my career Sad

  • User profile image
    W3bbo

    Congrats, et al. Smiley

  • User profile image
    mastermine

    W3bbo said:
    Congrats, et al. Smiley
    Thanks i'm just trying to get my head around the funding

  • User profile image
    MasterPi

    W3bbo said:
    Congrats, et al. Smiley
    Congrats!

  • User profile image
    BlackTiger

    Pace said:
    BlackTiger said:
    *snip*
    Code Complete 2nd Ed

    Dont Make Me Think


    I can guarantee that these will help you. Not with your CS studies per say but from a thinking how to construct a program / ui design point of view. I wish I read these earlier in my career Sad
    The problem is... You NOW know how useful that books WAS.
    So... My point is - any "reading" without real work/project is worthless.

    If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
    Last modified
  • User profile image
    Charles

    BlackTiger said:
    Pace said:
    *snip*
    The problem is... You NOW know how useful that books WAS.
    So... My point is - any "reading" without real work/project is worthless.
    congrats! study hard!

  • User profile image
    zian

    General Tips:
    1. Get a library card and find out how interlibrary loan works.
    2. Start collecting lists of books to read (like you're doing here)


    Some of my favorite computer-related books (besides Code Complete and Don't Make me Think):
    The Design of Everyday Things
    Toward Zero-Defect Programming
    Building The Perfect PC
    (if you're at all interested in the hardware inside)
    The New Way Things Work (slightly dated but still a highly accurate depiction of how things work at a slightly lower level)

  • User profile image
    Jason I

    I think some good books to read would really depend on your current background. How much programming do you do? What languages? Do you have a background in design patterns? Does anything specifically interest you in computer science?

    let us know - it might give us ideas for better suggestions for you.

  • User profile image
    Detroit Muscle

    zian said:

    General Tips:
    1. Get a library card and find out how interlibrary loan works.
    2. Start collecting lists of books to read (like you're doing here)


    Some of my favorite computer-related books (besides Code Complete and Don't Make me Think):
    The Design of Everyday Things
    Toward Zero-Defect Programming
    Building The Perfect PC
    (if you're at all interested in the hardware inside)
    The New Way Things Work (slightly dated but still a highly accurate depiction of how things work at a slightly lower level)


    find out how interlibrary loan works.


    QFT. Interlibrary load helped me out immensely in grad school. Also 2 more things: my school provided free subscriptions to both IEEE Xplore and O'Reilly Safari, but didn't advertise this anywhere.

  • User profile image
    evildictait​or

    Make sure you know how to program before you start reading books. Your course will undoubtably teach you Java upto a sensible level and will almost certainly have one or two semesters and projects in C, so get these done before you try and read books.

    1. Make sure you know Java. Really know. Make sure you could do the following:
      a) Make a function that given a character, returns the character as lower case (if between 'A' and 'Z', or returns the original character).
      b) Can implement a linked list in Java
      c) Can implement an interface for a hypothetical button
     
    d) Could implement (using Swing or just the console) and implementation of the "Game of Life"

    2.
    Make sure you know C. You don't need to know a lot of C, but enough to at the very least:
      a) Implement a vector structure and a function add_to_vector(struct vector v, void* elem) where the vector expands to allow more elements in. Make sure it doesn't memory leak.
      b) Implement a self-sorting binary tree structure and a function add_to_tree(struct tree, struct elem) that adds the element to the binary tree and a function delete_from_tree(struct tree, struct elem) that finds the element and removes it correctly without memory leaks

    3.
    Now you are ready to learn from books. Don't try and learn programming from books (it doesn't work) and don't try and read the books before you can program - if you can't program you'll struggle on your course regardless of how much theory you know. With good programming experience you'll learn the theory faster anyway.

    Here's my suggestions:

    The New Turing Omnibus
    is a really good intro into lots of the theory behind programming, and will give you a massive head start in your theory classes.

    The Mythical Man Month is another particularly brilliant book - it's not so much concerned with programming per se, but gives a lot of insight into how programmers (and their managers) think, and thus is a great way to start to understand the thought processes behind many of the decisions you'll be faced with at University and beyond.

    Goedel, Escher, Bach: An Eternal Golden Braid is somewhat more maths-y but is once again a brilliant book that will help you understand the subtleties of the limitations of computer science (and math)

  • User profile image
    Pace

    BlackTiger said:
    Pace said:
    *snip*
    The problem is... You NOW know how useful that books WAS.
    So... My point is - any "reading" without real work/project is worthless.
    Sure thats a valid point, however im already getting paid as a full time developer and have gradually applied the knowledge I optained from both those books to projects in already working on. Its about how to think about a project effectively from start to finish, problem definition, finding a metaphor not writing an algorithm which is why I enjoyed it. I cant see how this will ever go out of date. Plus if he is doing CS he is going to be working on projects is he not?

  • User profile image
    vesuvius

    evildictaitor said:
    Make sure you know how to program before you start reading books. Your course will undoubtably teach you Java upto a sensible level and will almost certainly have one or two semesters and projects in C, so get these done before you try and read books.

    1. Make sure you know Java. Really know. Make sure you could do the following:
      a) Make a function that given a character, returns the character as lower case (if between 'A' and 'Z', or returns the original character).
      b) Can implement a linked list in Java
      c) Can implement an interface for a hypothetical button
     
    d) Could implement (using Swing or just the console) and implementation of the "Game of Life"

    2.
    Make sure you know C. You don't need to know a lot of C, but enough to at the very least:
      a) Implement a vector structure and a function add_to_vector(struct vector v, void* elem) where the vector expands to allow more elements in. Make sure it doesn't memory leak.
      b) Implement a self-sorting binary tree structure and a function add_to_tree(struct tree, struct elem) that adds the element to the binary tree and a function delete_from_tree(struct tree, struct elem) that finds the element and removes it correctly without memory leaks

    3.
    Now you are ready to learn from books. Don't try and learn programming from books (it doesn't work) and don't try and read the books before you can program - if you can't program you'll struggle on your course regardless of how much theory you know. With good programming experience you'll learn the theory faster anyway.

    Here's my suggestions:

    The New Turing Omnibus
    is a really good intro into lots of the theory behind programming, and will give you a massive head start in your theory classes.

    The Mythical Man Month is another particularly brilliant book - it's not so much concerned with programming per se, but gives a lot of insight into how programmers (and their managers) think, and thus is a great way to start to understand the thought processes behind many of the decisions you'll be faced with at University and beyond.

    Goedel, Escher, Bach: An Eternal Golden Braid is somewhat more maths-y but is once again a brilliant book that will help you understand the subtleties of the limitations of computer science (and math)
    A fantastic encapsulation. If you inherit this wisdom you will by polymorphism become a type of developer - cheesy, isn't it?

    In my experience, you're not a developer until you leave university. You have a bunch of modules at uni, that allow you to ascertain the slant that is compatible with your nature. Intertwined with the above, will be course work and research on the internet, evaluating a customers requirements, database structure and schemas, gaming, graphics,  security and so forth. At Leeds uni you get to learn Python, C and Java. Most students I've met really struggle with C as they are usually taught Python first.

    All in all it is a very big pond you are jumping into - some would say ocean - and Silverlight and Ajax may not be as prominent until your departure. It is important that you learn computing and not anything as specific as .NET which however popular, is all but a minutiae in the world of computing.

    I have learnt the most from writing code. Write write and write some more. Otherwise you are as Eric Meijers puts it "a vegetarian butcher", i.e. you know all the theory but don't know how to actually write anything.

  • User profile image
    BlackTiger

    vesuvius said:
    evildictaitor said:
    *snip*
    A fantastic encapsulation. If you inherit this wisdom you will by polymorphism become a type of developer - cheesy, isn't it?

    In my experience, you're not a developer until you leave university. You have a bunch of modules at uni, that allow you to ascertain the slant that is compatible with your nature. Intertwined with the above, will be course work and research on the internet, evaluating a customers requirements, database structure and schemas, gaming, graphics,  security and so forth. At Leeds uni you get to learn Python, C and Java. Most students I've met really struggle with C as they are usually taught Python first.

    All in all it is a very big pond you are jumping into - some would say ocean - and Silverlight and Ajax may not be as prominent until your departure. It is important that you learn computing and not anything as specific as .NET which however popular, is all but a minutiae in the world of computing.

    I have learnt the most from writing code. Write write and write some more. Otherwise you are as Eric Meijers puts it "a vegetarian butcher", i.e. you know all the theory but don't know how to actually write anything.
    I saw many very good developers without any "CS degree". And many awful "developers" ("trained monkeys", "mainstream developers" etc) with "bachelor/master/whatever" degrees.
    "Degree" (aka "Paper") means nothing.

    If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
    Last modified

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.