echo "Hi, I'm Emily.";
public static void main(String args)
System.out.println("Hi, I'm Emily.");
EHLO Hi, I'm Emily.
printf("Hi, I'm Emily.\n");
cout << "Hi, I'm Emily." << endl
content: "Hi, I'm Emily.";
el.innerText = 'Hi, I\'m Emily.';
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
<!ATTLIST greeting lang CDATA #REQUIRED>
<greeting lang="en">Hi, I'm Emily.</greeting>
Let me Introduce Myself
I am a Computer Science graduate from the University of Southampton, with first class honours. The degree has introduced me to a plethora of concepts and subject areas, including: Low Level Graphics, Compiler Engineering, Database Design, Operating Systems and Memory Allocation, to name but a few.
Outside of the course I work as a freelance web developer and have built and managed sites for a variety of non-profit groups, such as theatre groups, local residents associations and charities, and also commercial organisations such as Spa Staff.com, UK Music Jobs and Simply D'nA.
When not coding, I like to exercise by hill walking, a passion I have loved since completing the Gold Duke of Edinburgh Award. I have also been heavily involved in the Students' Union, acting as a course representative, running the Nightline Listening Service and fighting for transgender rights.
This is a printout of emilyshepherd.me. For my condensed, 2 page CV, please see emilyshepherd.me/Emily_Shepherd_CV.pdf.
Experience & Portfolio
As part of my final year, I worked in a team of five undergraduates on a project given to us by ARM: to design and develop a complex proof-of-concept application for their new sub threshold M0+ processor, which is currently in development. We chose to build a device and develop an embedded Machine Learning algorithm, to recognise certain forms of exercise.
I was responsible for modelling the algorithm in Java, and then programming it in C, optimising its code and any required libraries to fit into the device’s tiny 8kB of memory. I successfully implemented a working system in just 4kB for both program code and runtime data, running at 106kHz. ARM was very happy with the results, with the project earning a first and my individual contribution was graded as joint-highest, awarding me 76%, a good first class grade.
This paper details the process by which the team developed an exercise detection algorithm capable of running on a sub threshold Cortex M0+. The report explains the process by which a user study was carried out to obtain movement data of multiple people performing the exercises, then discusses the methods by which this was processed. It provides a review of the exercise detection systems in use today and compares various Machine Learning algorithms, settling on a Multilayer Perceptron with added case-specific heuristics. The paper explains the choice of emulating the proposed device on a Cortex M0, running on an mBed platform and compares this to an FPGA before describing the process of designing, building and working with the hardware. The work to develop the software for a constrained system is then analysed, focusing on the optimisations to the mBed library to reduce required size and the removal of floating point from the algorithm. Finally, the results of this work are reviewed, proving that the working algorithm requires 3456 bytes and can run on a 861µW system. The report finishes with an overview of the project management and concludes that the project is a successful proof of concept.read the full reportview the code
Legit is a distributed code review tool, built on top of Git - it uses the concept of pull requests, but stores and tracks these, along with the comments and votes on these requests, in the repository itself.
This was a project completed for the third year of my time at the University of Southampton - it was worth three eighths of the year and I achieved a mark of 81%, a high first class grade.
This paper examines the version control software currently available, and gives a detailed analysis of the technical considerations needed when developing an extension to Git, the most popular of these tools. The report discusses various code peer approval tools, and notes that these all rely on centralised servers or workflows. It introduces the concepts of quantifiable reputation and automated user privilege administration, techniques which are utilised within community sites such as eBay, Stack Exchange and Wikipedia. With this research, the paper proposes a specification for a decentralised peer approval tool, termed Legit, and explains the design decisions that this involved. Finally, a review of the project management and testing is given, and the specification is evaluated by contrasting it to modern day corporate and open source coding environments. The paper finishes with some suggestions for future work and research, and concludes that, by structuring communication and standardising common tasks, a decentralised peer approval workflow is potentially able to drastically reduce the administrative overhead required in many software engineering projects and may encourage teams to bond more effectively.read the full reportview the code
I took over the management of Spa Staff.com from a professional web construction company in 2011, while I was still in Sixth Form. Since then, I have been solely in charge of the technical administration and development of the site. The site is hosted on an EC2 instance in Amazon's Elastic Cloud.
As web developer, I was responsible for implementing a redesign, from their old look to the version which is live today. The site is now responsive, and flicks into a "stretchy" design on small screens.
In 2014, Spa Staff contracted a second freelance developer to perform petty bug fixes and improvements while I worked on a major site redesign. I was put in charge of training this developer in the technologies the site uses and assigning / overseeing jobs. This was my first experience of acting in a managerial role in a commercial group.
I have been deeply interested in web development for a long time, and quickly realised that I could earn money from my passion. I act as a freelance web developer under the brand name: SWEEB.
Many of my clients were small charities and individuals without any technical knowledge. This has taught me to be well versed in translating a user's functional requirements into a technical plan, and communicating with clients without resorting to confusing jargon.
In the summer of 2010, I became an intern at their London office. My main task was re-skinning their web site to look good on iPhones.
In 2011 I was invited to their LA office, to continue as a Web Developer. I was tasked with rebuilding their payment systems.
It was during my time at Music Jobs that I got my first taste of building mobile web apps, and running a site off Amazon Web Services' Elastic Cloud.
I have just completed my final year of my four year integrated Master of Engineering in Computer Science at the University of Southampton, with First Class Honours.
The following is a small selection of the modules I studied:
This module gave an introduction to formal analysis of program logic, including ways to prove that a system is sound, using Event-B.
These two modules covered Java from the ground, all the way up to more complex operations, such as writing basic graphical user interfaces and implementing simple physics environments.
Engineering Mathematics for Computer Science covered all the maths required for the course, including trigonometry and matrix arithmetic.
Discrete Mathematics for Computer Science went in depth into various formal notations and complex logical proofs.
This module taught me a range of data structures, such as Hash Maps, Linked Lists, Circular Arrays, etc. It focused on teaching us how to implement these ourselves as well as how to assess their pros and cons, to choose the best option for any given task.
This gave a glimpse into the physical side of computing, having me build digital circuits on breadboards.
This course explored common programming paradigms: Object Orientated, Procedural and Functional. The coursework focused on Functional Programming, requiring us to write programs in Scheme.
An introduction to creating, querying and updating database systems using MySQL and PHP.
This module focuses on the thought processes and logical reasoning that lead to the creation of the first computers, as well as the basis for regular expressions and grammatical parsers.
This module saw us working with the basics of developing language parsers, with the over aim to build a cross compiler from a small language called LittleNic into a working Java program.
A module looking at the low level workings of the Operating System, with a focus on memory management. The coursework had us reimplementing malloc, finding a balance between space efficiency and speed.
The Leys is a secondary school in Cambridge, which I attended from Year 7 all the way up to sixth form. From Year 10 upwards, I participated in the Duke of Edinburgh's Award Scheme, completing all levels: Bronze, Silver and Gold, which I was awarded with at St James's Palace by Prince Philip himself. I was also an active member of the backstage theatre crew, becoming one of the youngest Deputy Stage Managers in Year 11 and the head of Theatre Crew in my final year.
In Sixth Form, I joined the editorial team for The Fortnightly, the school's termly student-written magazine, as a content compiler - I became Senior Compiler in Upper Sixth. I also became the Chair of the Russell Group, a small executive of students who arranged academic talks by a variety of speakers, include Simon Baron Cohen.
The Leys also had a section of the Combined Cadet Force - I joined the Naval section of this in Year 10. In Lower Sixth, I was promoted to Petty Officer, a rank which had until that point had only ever been given to Upper Sixth Formers.
In Upper Sixth, I was appointed deputy head of my house, School House, a position which put me in charge of managing rotas for duties in house, calling the register, and oversight of many aspects of pastoral care for the younger years.
Honours and Awards
For being in the top ten ranking students of the year 3 cohort at the University of Southampton.
For being in the top 10% of the year 2 cohort at the University of Southampton.
For being in the top 10% of the year 1 cohort at the University of Southampton.
University Scholarship Offer
Offered from the University of Birmingham as a result of a written test and interview.
Duke of Edinburgh
Completed up to a Gold Level.
For 'contributing to the building of community in The Leys School'. Nominated by fellow students.
Awarded First Class Honours for my integrated masters at the University of Southampton.
Southampton Nightline is a confidential telephone listening service, run entirely by student volunteers available to anyone at the University of Southampton free of charge.
I joined in 2013 and immediately recognised the importance of the service. I was one of the first volunteers in my cohort to reach the "experienced" level, allowing me to take calls, aid in training, and oversee others taking calls. In early 2014, I was awarded a prize for the most number of shifts covered.
After only a year at Nightline, I became its head (the Nightline Officer) by entire-campus election. This put me in charge of all of Nightline's day to day operations, such as ensuring the rota was filled, chairing the Nightline Committee, acting as a point of contact and support for our volunteers, and its longer term plans and strategies, such as managing the budget and refreshing our constitution and confidentiality policies.
As call-taking volunteers are anonymous, the Nightline Officer is the only "public face" of the organise, meaning I was responsible for all of Nightline's public relations. This included: representing Nightline at meetings of the Students' Union and University, securing funds, heading up Nightline's social media presence and publicity events on campus, and liaising with the National Nightline Organisation.
I became involved in student affairs very soon after settling in at university. Unofficially at first - emailing lecturers to provide feedback and pass on requests on behalf of my cohort. I quickly realised I was doing the job of a "course representative", so ran at the end of my second year, and won by a landslide.
I was not a course rep long before I was promoted via whole campus election to the position of Faculty Officer, the highest student-held position in the representation system. This made me the head of student representation for my faculty, the Faculty of Physical Sciences and Engineering, covering the departments of Physics, Web Science, Optoelectronics and Electronics and Computer Science.
Within the University, this position saw me attend meetings of senior lecturers and professors, to provide a student point of view on strategic decisions within the faculty.
My role in representation introduced me to our Students' Union, SUSU. After my time as Faculty Officer, I ran to be a Union Councillor, giving me a seat on the Union's highest decision making body. At these meetings, we oversaw the union's finances, discussed and voted on student-focused policies and decided stances for the entire union on issues such as the Lecturers' Marking Boycott.
Whilst in SUSU, I took a keen interest in its democratic procedures and policies - I sat on the Policy Review Committee, a small group entrusted to review every single policy in the union, and recommend changes, re-categorisations and removals to Union Council. One of my proudest achievements was fighting for an amendment to the union's gender quota system, to make it transgender inclusive.
My preferred exercise is walking - at school I completed the Duke of Edinburgh Award at all three stages (Bronze, Silver and Gold). In fact, I enjoyed DofE so much that I volunteered with my school to help out their year eleven students, who were undertaking their Silver Award. This was an interesting and unique experience, as it gave me an insight into dealing with younger students in a position of legal authority.
Since then, I have carried on with walking in my own time, going on repeated family holidays to places such as Snowdonia and the Lake District.
I remember not being particularly sporty in school, in fact I hated running laps around our school field on rainy afternoons. However, I hadn't been at University long before regular exercise was something I missed immensely.
It was at this time that I got into running as a way to keep fit, and I immediately fell in love with it. I now try to run around 5 times per week and have successfully made it to running for a least an hour one of two times per week.