Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Schools University to study Computer Science

  1. May 1, 2010 #1
    Hello,

    I am a Dutch high school student. Next year I will be going to University to study Computer Science. This summer I want to prepare for this study. Which books/online courses will help me to have an advantage next year?

    Thank you!

    Max.Planck
     
  2. jcsd
  3. May 1, 2010 #2
    Re: Preparing_for_ComputerScience

    project euler if you're really motivated, but intro courses exist to get you up to speed for the real work.
     
  4. May 1, 2010 #3
    Re: Preparing_for_ComputerScience

    My advice would be to do one or more of the following 3:

    1) Computer science relies on mathematics and you will very likely need to take some math courses and will definitely need math in your CS courses. Thus one way to prepare is to brush up on your high school math, and possibly start doing some reading on university level math (primarily discrete mathematics, but probably also standard courses like the calculus sequence and linear algebra). Concrete Mathematics by Donald Knuth is a good book, but if you're not motivated to study math by yourself it will probably be hard. Donald Knuth is a great CS author (and computer scientist in general) so in the future you may also want to look at his other works.
    2) Study introductory computer science topics. In particular you need to get a good grasp on algorithms and data structures. A good and very-widely used book is Introduction to Algorithms by Cormen, Leiserson, Rivset and Stein (this book is also known as CLRS after its authors). Another possible area would be an introduction to the theory of computation. A good book here is An introduction to the theory of computation by Michael Sipser; a superb book in my opinion, but I believe it's aimed at people with a little bit of mathematical maturity (it's usually not used in freshman courses). As a possible aid to CLRS you can use the video lectures at (based on the 2nd edition of the book):
    http://ocw.mit.edu/OcwWeb/Electrica...-Science/6-046JFall-2005/CourseHome/index.htm
    3) Study programming. Programming is a useful tool in studying computer science and you'll very likely do a fair bit of programming. I would recommend a fairly simple and clean language since what you want is to learn the concepts, not produce robust industry-level software yet. I really like Standard ML or Scheme. For Scheme a great book called The structure and Interpretation of Computer Programs is available online at:
    http://mitpress.mit.edu/sicp/
    Also there are some classical (1986 I believe) video lectures available at (this is basically the intro to computer science course that has been given many years at MIT I believe, though i think they have switched to a different format these days):
    http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
    These are in my opinion pretty good. Most possible languages will suffice, but I would advice you to (at least) initially stay clear of languages like C, C++ and Fortran because you will spend most of your time learning technicalities and the pecularities of your language/development environment, but as a computer scientist you are more interested in the concepts that transcend the particular language. Once you can do some programming project Euler is a fun site where you can do small programming/logic puzzles.
    Another introductory CS/programming book that I have heard great things about, but not read myself is How to Design Programs which is freely available at:
    http://www.htdp.org/

    Remember however that the university does not expect you to use your summer to study, and you should only do preparation such as this if you actually enjoy it. No shame in taking a break before starting 3-years of study (I assume a Dutch bachelors degree is 3 years though I'm not entirely sure).
     
  5. May 2, 2010 #4
    Re: Preparing_for_ComputerScience

    Thanks for the detailed information! Yeah, I wanted to do something usefull this summer and I really enjoy programming. (Bachelors degree is 3 years indeed)
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook