Cameron Ramsay

Computer Science Undergraduate at the University of Cambridge.


(press to continue)

I am Cameron Ramsay, a Computer Science undergraduate at the University of Cambridge. Please find my CV below

Education


2016 - Gonville and Caius College, Cambridge University
BA Computer Science
Second Year - First (81%)
Modules include:
Artificial Intelligence, Compiler Construction, Complexity Theory, Computation Theory, Computer Architecture, Computer Networking, Concurrent and Distributed Systems, Data Science, Formal Models of Language, Further Interaction Design, Further Java, Graphics (OpenGL), Logic and Proof, Programming in C, Prolog, Security, Semantics of Programming Languages, and Unix Tools.
First Year - 2.I (66%)
Modules include:
Algorithms, Databases, Digital Electronics, Discrete Mathematics, Foundations of Computer Science (ML), Graphics, Interaction Design, Machine Learning and Real-World Data, Object Oriented Programming (Java), Operating Systems, and Software Engineering.
2009 - 16 Kings Priory School, Tynemouth NE30 4RF
A Levels
Mathematics A* Further Mathematics A*
Computing A* Physics A*
AS Levels
5 at A
GCSEs
11; 1 at A* with distinction, 8 at A*, 1 at A and 1 at B

Programming Skills


Proficient Haskell, Java, Python, Standard ML
Familiar C/C++, Prolog, SQL, HTML/CSS
I learn quickly and I am keen to experience new programming languages

Programming Projects


Jan - Mar 18 Second Year Group Project
As a team we worked with our client, a visually impaired member of the public, to create a system which allowed him to use an exercise bike without assistance. The product used a raspberry pi and computer vision to read the bike's display before speaking useful information to the user. A more thorough description of the project can be found here, as well as the project's GitHub.
Jan - Mar 16 News Aggregator
Commissioned by the sixth form's economics department and written in C++. This used cluster analysis to identify topics and group news articles based on these topics before outputting them to a web interface.
June 15 Genetic Algorithm Project
Written in C++, using genetic programming to evolve a program which played a version of the computer game Snake which I had previously written. By automatically generating a population of programs, repeatedly evaluating their fitness and combining the strongest, I produced programs able to play the game in a way that was reasonably competent.

Positions of Responsibility


2018 - Cambridge University Hillwalking Club Webmaster
I am co-webmaster of the Cambridge University Hillwalking Club, this role involves maintaining the current website, implemented in Drupal. My co-webmaster and I are currently in the process of creating a new, more modern website for the club.
2015 - 2016 School's STEM Club
I co-ran the school's STEM club where I taught younger pupils problem solving and computer programming using Python. Teaching others programming helped me better explain programming concepts, something that has especially helped when programming as part of a team.
2014 - 2016 Lifeguard Captain
I am a member of the North Sea Volunteer Lifeguards, where I was lifeguard captain. This involved the organisation of all training. As well as this I was a lead teacher, training younger members of the club. This has taught me how to organise groups of people and myself.
2012 - 2016 Scout Young Leader
Helped run weekly scout activities and was involved in the organisation and execution of camps. This has improved my ability to plan and meet goals, as well as the flexibility to change these plans when unforeseen situations arise.

Second Year Group Project


Some stuff about the project

Gravity Game


A simple game using a gravity simulator, to create a new mass click and drag the mouse. At some point when I have more time I will upload the other levels I have made and string them together into a single game.


News Aggregator


Commissioned by the sixth form's economics department and written in C++. This used cluster analysis to identify topics and group news articles based on these topics before outputting them to a web interface.


Genetic Algorithm Project


Written in C++, using genetic programming to evolve a program which played a version of the computer game Snake which I had previously written. By automatically generating a population of programs, repeatedly evaluating their fitness and combining the strongest, I produced programs able to play the game in a way that was reasonably competent.



A Level



Cambridge Computer Science Tripos