The Student Room Group
Waterfront bar, King's College
King's College London
London

To: Computer Science Grads

I've applied to study Computer Science at this university and awaiting their (hopeful) acceptance. However, having not taken Maths at A-Level I realise I am at a disadvantage.

I've heard that some universities contain more math than others, which is why I'm targeting this question specifically at this university.

My question is this - if possible, can you tell me precisely what math is involved within this course. i.e. Calculus, Discrete Maths, Linear Algebra etc. I would also like to know roughly what percentage of the course is pure maths (not including programming).

Secondly, can you recommend any material/books that I should read before starting in September? Although I lack the maths that will be required, I'm more than willing to put in the extra time/effort to learn. Starting now rather than later will help.

Lastly, what is your opinion on the course? Plus, what did you find most difficult and why? I'm slightly anxious (as well as excited) of what is to come, and would appreciate your thoughts :smile:


Many thanks,
FL
(edited 10 years ago)
Original post by FiniteLoop
I've applied to study Computer Science at this university and awaiting their (hopeful) acceptance. However, having not taken Maths at A-Level I realise I am at a disadvantage.

I've heard that some universities contain more math than others, which is why I'm targeting this question specifically at this university.

I wouldn't say you're specifically at a disadvantage. King's takes students with A-levels, BTECs, various overseas qualifications, etc. - there's no presumption on the course that people will have specific maths skills.

My question is this - if possible, can you tell me precisely what math is involved within this course. i.e. Calculus, Discrete Maths, Linear Algebra etc. I would also like to know roughly what percentage of the course is pure maths (not including programming).


First year - comprises 8 modules. 2 of these cover some maths:

Foundations of Computing. 'Aims: To introduce the basic concepts of discrete mathematics that are needed for the study of computer science. Syllabus: Sets, Relations, Functions, Basic combinatorial principles, Discrete probability, Graphs, Trees, Finite automata, Regular languages'

Elementary Logic and Applications. 'Aims: To provide you with an introduction to the essential mathematics that underlies computer programming: propositional logic, predicate logic, proof methods, and induction; an introduction to the application of logic and proof to issues in programming. '



Second year - comprises 8 modules. 2 of these cover some maths:

Computer Science Logic 'This module intends to show how various logical formalisms are used as specification, verification, representation and reasoning tools in computer science, AI and IT.' Or, in other words, it applies the first-year logic module, to do things like proving a program will execute successfully.

Foundations of Computing II. 'After studying this module, you will be able to work with integers, matrices, recurrences, graphs and probabilities; model and solve practical problems by using the taught methods and design efficient algorithms for graph, matrix and number theoretic problems in computer science. Syllabus: Number Theory, Graph Theory, Matrix Algebra, Recurrence Relations, Probability and Statistics.'



As you can see, it's mostly discrete maths (which incidentally, isn't routinely covered in A-level maths). There's a little bit of matrix algebra in FC2, to help understand e.g. 3D graphics. No calculus.

Third year - lots of free choice, so it's up to you whether to take modules that use maths or not.


Secondly, can you recommend any material/books that I should read before starting in September? Although I lack the maths that will be required, I'm more than willing to put in the extra time/effort to learn. Starting now rather than later will help.

If I had to suggest one thing - practise programming. The book I usually recommend is a (second-hand copy of) Head First Java.

Lastly, what is your opinion on the course?

It's great! Though, I would say that :wink:. Seriously though, it's a good mix of theory and practice. Good location for picking up summer jobs in the city, and for finding jobs in general afterwards. Plenty of choice in the final year over what to specialise in - computer graphics, artificial intelligence, crytography and information security, distributed systems.... (The full list is on the web.)

I should add - if you haven't visited yet, we have some open days coming up, the next is on the 5th of February. There'll be a talk about the course, and a Q&A session with current students - you can ask them anything you like.
(edited 10 years ago)
Waterfront bar, King's College
King's College London
London
Original post by DrAndrewColes
.


Hi, I would also like to ask questions.

1. What companies have previous students who have done a year in industry worked at?

2. How many Robotics modules does the normal BSc Computer Science degree contain? Since I find robotics interesting but I want to keep my options open by doing a computer science degree.

3. Besides learning to program in Java, what would be the best way to prepare for computer science at Kings, especially the mathematical content?
(edited 10 years ago)
Reply 3
Original post by DrAndrewColes
.


Thanks for your excellent and detailed reply, has put my mind to rest :smile:

I'm also curious as to your answers to Rembrandt343's questions.
Original post by Rembrandt343
Hi, I would also like to ask questions.

Sure, happy to help.

1. What companies have previous students who have done a year in industry worked at?

All sorts of places. If you email me ([email protected]), I can ask our Year in Industry coordinator for a list. One of the benefits of being in London is we have good industry links, so students have worked in finance (e.g. Goldman Sachs), others in IT roles within large companies (e.g. GE), some in technical product roles (e.g. BT). Further outside london, right now one of our students is working at CERN. (Physicists might like you to think it's a large physics experiment, but really, it's a giant CS challenge to store, process, transmit, etc. all the data.)

2. How many Robotics modules does the normal BSc Computer Science degree contain? Since I find robotics interesting but I want to keep my options open by doing a computer science degree.

At least one, possibly more - if you choose the robotics-related modules in the third year.

3. Besides learning to program in Java, what would be the best way to prepare for computer science at Kings, especially the mathematical content?

Two suggestions:

1) To play with maths and programming at the same time, head over to projecteuler.net . It's a good source of programming exercise ideas, as well as getting you to think about maths.

2) If you're really keen, the recommended book for our first-year 'foundations of computing' module (the one which is most maths-y) is 'Discrete Mathematics and Its Applications' by Kenneth H. Rosen. It's a big book (we don't cover even half of it), and it's much harder to learn from a book than from a lecturer. But, if you can get e.g. an electronic copy, it's worth a look - particularly the parts on sets, graphs, and propositional logic.
Reply 5
Thanks again for your answers and suggestions.

Another question, why do a lot of universities I've seen have a preference to teach Java over other languages such as C? Does Kings only teach Java throughout the course or are other languages introduced later?
(edited 10 years ago)
Original post by FiniteLoop
Another question, why do a lot of universities I've seen have a preference to teach Java over other languages such as C or C++? Does Kings only teach Java throughout the course or are some other languages introduced later?

Java's popular as there's industry demand for it, which is useful both for eventual employment, and for summer work. So, given we have to teach in some language, it's a reasonable choice. We also cover C, when discussing low-level details of computers; some Prolog; and in the final year, there are modules involving C++ and Scala, too.

I emphasise, though, one of the important things about studying CS is understanding the the big picture. How to design code, how to test code, what data structures are needed, providing performance guarantees, etc. Throughout a programmer's career, languages may come and go, but these core skills are what make them good at what they do.
What mathematical content is there on the course? Is it just Discrete Mathematics or do you do Linear Algebra?
Original post by Rembrandt343
What mathematical content is there on the course? Is it just Discrete Mathematics or do you do Linear Algebra?

Have a look higher up in the thread, and let me know if it's still unclear :smile: :

http://www.thestudentroom.co.uk/showthread.php?t=2570798&p=46044811

Quick Reply