In the period between receiving exam results and arriving in Cambridge, it is all too tempting to sit back and relax. However, it can be beneficial to take a more active role in preparing to start your studies, and this page is intended to assist.
Computer Fundamentals
In previous years we asked students to complete a pre-arrival course. This year sees the introduction of a new bootcamp at the start of the year that replaces this course. However, as part of the original course there were a series of short intro pages designed to introduce the fundamentals of computers. Many students arriving today are already familiar with this material, but we encourage you to take a look - confirming you are familiar with this material should only take a few minutes.
Bootcamp Prep: Python and UNIX
The October term will start with a short coding bootcamp based around Python. Since almost all students arriving over the last few years have python familiarity, the bootcamp is not going to focus on python basics and instead more on how to write good code and good Python, This means you should get familiar with Python if you aren't already. There are many, many online tutorials, However, to help guide you, you can use this tutorial taken from a course that ran last year:
Everyone should run through that course to the end of the Collections section. Going further is optional. If you already feel you know python, that's great but please still do it (it should be very quick for you!).
If you find you are struggling with some bits, then please make use of online tutorials and your new best friend: AI. The current crop of chatbots are excellent for teaching and understanding code, so use them. If you feel the free offerings are limited, you will probably find you have free access to more advanced genAI (e.g. Gemini Pro is free for you with your university credentials - note we do not endorse any one product over another)
In addition it will help you enormously to be able to navigate around a UNIX terminal. You don't need to be a power user, but the basics of things like ls and cat are important. To help you:
- If you run linux or MacOS, just pull up a terminal and you have a UNIX terminal to play with. If you have Windows, you can install the Windows subsystem for Linux (WSL): Search Google for tips, but the starting point is probably: https://learn.microsoft.com/en-us/windows/wsl/install
- Ubuntu has a nice tutorial: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
- Bonus points if you install python and can run python scripts from the terminal!
Help Space
To get help or ask questions*, there's a Google chat space you can use. The link is below and you are free to join it but you must do so from your university google account (not your personal one). If you haven't already set this up, the easiest thing to do is to start a guest session in your browser and sign into chat.google.com using your @cam email address (e.g. rkh23@cam.ac.uk). It will then take you to the Uni authorisation. (Note that you can set up multiple Chrome profiles and have multiple Google accounts on your phone if you want to be able to do this quickly in future).
Link to follow: https://chat.google.com/room/AAQAI48nvgg?cls=1 Please use the threads option when replying to messages to keep the space usable.
* Feel free to ask questions about anything course-related, not just the pre-arrival stuff.
The Maths Workbook
The Computer Science course in Cambridge builds on a strong mathematical foundation. Therefore we also require students complete the maths workbook before arrival in October.
Please attempt all the exercises in the Mathematics for the Natural Sciences Workbook produced by the University's Faculty of Mathematics before you arrive. The Isaac Physics website offers an online version of the workbook, and videos and tutorials.
Equipment
While it is possible to complete the course without the use of a personal laptop or desktop (through the use of College computing facilities) the reality is that very few, if any, students today do not have their own computer and not having one is likely to prove limiting. Therefore we recommend students have their own computer, preferably a laptop.There is no need for a high spec device: a basic laptop is more than sufficient, especially when you consider that you can use cloud services today. Operating system is not important, although we encourage students to install and play with command line tools and some variant of UNIX (Linux etc) if they have not already done so.
Active Learning and Skill Building
CamGuides for Undergraduates provides useful information for all students.
Many elements of computer science are 'hands on', and this is often an excellent way to learn. Learning new languages or extending your knowledge of those you already know can be helpful. Similarly, acquainting yourself with modern tools can be an advantage e.g. command line tools, UNIX tools, debuggers, compilers, shell scripts. You may find playing around with a Raspberry Pi or similar of value for this.
General Reading
The most important preparation is to build up a broad background understanding of issues in computer science. There are a variety of useful books to this end: an excellent informal collection of accessible and relevant articles is:
- The new Turing omnibus, A Kee Dewdney, Palgrave Macmillan, 2003, ISBN 978-0805071665.
Remember to try the exercises at the end of each chapter.
- Computational Thinking by Jeannette Wing of Carnegie-Mellon University
Computer science relies heavily on mathematics,not only for formal proofs but also as the language used to describe almost every aspect of the subject. You will need to be fluent in mathematics and familiar with the ideas of formal proof. An excellent introduction is:
- How to think like a mathematician, Kevin Houston, Cambridge University Press, 2009,ISBN 978-0-521-71978-0.
Don't be misled by the title; this book is absolutely relevant for computer scientists. It includes many worked examples and also illustrates common mistakes.
It is worth keeping up with advances in science more generally. Magazines like Scientific American and New Scientist cover a wide range of topics in an accessible style, and often have articles relating to computer science. Of course, there are also many web sites that carry technical news.
Finally, you might like to look at some recommended text books for first-year lecture courses. Follow the link to Part IA and click on the Syllabus page for any of the lecture courses listed. Several books are included for each major course and you might like to look at more than one to find which suits you. Printed notes will be handed out for most courses, and college libraries will have copies of these books, so you do not need to buy all of these.
More Information
The Department for Computer Science and Technology's web pages at www.cst.cam.ac.uk carry a lot of information about the course. The Director of Studies at your college will also be pleased to advise you. If all else fails, the Student Administration Secretary in the Department should be able to help.