Preparing to study postgraduate computer science
Everything you want to know to prepare for postgraduate study in the Department of Computer Science.
To help you make the transition from undergraduate to postgraduate study, we've put together some resources which we hope you will find useful.
Free online courses
Get a taste of studying computer science at university level and discover the fundamental theory and techniques of machine learning.
Explore what higher education is all about. Get tips for making the most of your university life.
If your mathematical skills have been put to one side for a while, then we strongly recommend that you refresh these before your start your Masters course at York. Take a look at Units 1 and 2 of Khan Academy's linear algebra course. You'll also find it useful to look at the online book Calculus (Gilbert Strang, MIT), sections 2.1-2.3 and 3.2-3.3.
The easiest way to refresh your programming skills is to work through a Python tutorial. A good interactive online book is Think Python: How to Think Like a Computer Scientist (Allen B Downey, 2nd Edition, version 2.4.0), which teaches core ideas and terminology, as well as Python skills. Another valuable reference is The Python Tutorial.
We also recommend you get up to speed with fundamental data structures and algorithms; to revise your skills in this area, take a look at Unit 1 of Khan Academy's computer science course.
The MSc in Cyber Security teaches a wide range of cybersecurity skills. In order to maximise the security content, we assume that you already have a background in computing and networks, and have some practical skills that will allow you to carry out a project in cybersecurity.
Computing
You'll need to write programs in any current programming language (eg Java, Python, C/C++, C#) and understand how files are organised and structured in a modern operating system.
The easiest way to refresh your programming skills is to work through a Python tutorial. A good interactive online book is Think Python: How to Think Like a Computer Scientist (Allen B Downey, 2nd Edition, version 2.4.0), which teaches core ideas and terminology, as well as Python skills. Another valuable reference is The Python Tutorial.
Networks
In order to understand how network attacks work and how they can be detected and mitigated, you need to understand standard network protocols such as HTTP, TCP/IP, ARP and DNS.
You need to know what is usually covered in an undergraduate computer course. Our network pre-reading guide includes some questions that you should be able to answer. (If you can answer the questions without doing the recommended reading, then you already know enough!)
- Norman, D A. The Design of Everyday Things. MIT Press, 2013 (Revised and expanded). A book to be read by anyone who ever designs anything, or uses anything that has been designed.
- We recommend that you watch this TED Talk by Don Norman: 'Three ways good design makes you happy'
- Rogers Y, Sharp H and Preece J. Interaction Design: Beyond Human-Computer Interaction. Wiley, Sixth edition, 2023. This book clearly illustrates the approach we take to Human-Computer Interaction, and one which will be referred to in several modules.
- Lazar J, Feng JH, Hochheiser H. Research Methods in Human-Computer Interaction. Morgan Kaufmann, Second edition, 2017. Provides excellent coverage of a range of methods used in HCI research.
The Department has three dedicated software labs which are available to our students 24 hours a day, seven days a week. Our lab PCs are set up with all the software needed for teaching and assessments, and we upgrade them regularly.
Many students have their own PCs or laptops and we know students may prefer to use their own machines. Some find laptops more practical; others prefer to have a desktop PC – the choice is yours.
To support your studies in the Department of Computer Science, a laptop or PC with at least 500GB hard disk is ideal, as it enables you to dual boot Windows and Linux if you wish. 8GB RAM is a minimum and i3 is the minimum processor to go for. We recommend an SSD as the performance will be much better.
While we don’t teach anything that has Mac-specific software, you can buy a Mac laptop if you prefer. All our teaching is in Linux and Windows, so most applications will either have a Mac version or will compile in macOS. You can dual boot Windows and macOS using Boot Camp and we can provide some software in Windows if you need it.