University to study Computer Science

Click For Summary

Discussion Overview

The discussion centers around preparing for a university-level Computer Science program, focusing on recommended resources such as books and online courses. Participants share various strategies and areas of study to help the original poster gain an advantage before starting their studies.

Discussion Character

  • Exploratory
  • Technical explanation
  • Homework-related

Main Points Raised

  • Some participants suggest engaging with Project Euler for motivation and programming practice.
  • One participant emphasizes the importance of mathematics in Computer Science, recommending a review of high school math and introductory university-level math, particularly discrete mathematics, calculus, and linear algebra.
  • A specific book, "Concrete Mathematics" by Donald Knuth, is mentioned as a valuable resource for those willing to self-study math.
  • Another participant recommends studying algorithms and data structures, highlighting "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein (CLRS) as a widely used text.
  • Participants suggest exploring the theory of computation, with "An Introduction to the Theory of Computation" by Michael Sipser noted as a good resource, though potentially challenging for beginners.
  • Programming is identified as a crucial skill, with recommendations for starting with simpler languages like Standard ML or Scheme to focus on concepts rather than language-specific details.
  • Resources such as "The Structure and Interpretation of Computer Programs" and various MIT video lectures are shared as helpful for learning programming.
  • One participant advises that while preparation can be beneficial, it is also important to enjoy the summer and not feel pressured to study excessively before university.

Areas of Agreement / Disagreement

Participants generally agree on the importance of mathematics and programming in Computer Science preparation, but there is no consensus on specific resources or approaches, as different participants recommend various books and strategies.

Contextual Notes

Some suggestions depend on individual motivation and prior knowledge, and the effectiveness of the recommended resources may vary based on personal learning styles.

Who May Find This Useful

High school students preparing for university-level Computer Science, educators seeking resources for introductory courses, and individuals interested in self-study in programming and mathematics.

Max.Planck
Messages
128
Reaction score
0
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
 
Physics news on Phys.org


project euler if you're really motivated, but intro courses exist to get you up to speed for the real work.
 
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/Electrical-Engineering-and-Computer-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).
 


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)
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 102 ·
4
Replies
102
Views
9K
Replies
16
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K