The University of Sheffield
compsci

Ricky Barefield - Full Interview

Name: Ricky
From: East London
Course: MComp Computer Science

My degree follows an interest in computing that I´ve always had through school. One of the main reasons I chose Sheffield was because of the city. I initially wanted to go to a campus University until I actually went to visit some and realised I´d be stuck outside of the city. I looked round a few universities and straight away Sheffield had a really nice feel. I also really liked the idea of the Genesys project in the fourth year - in fact I´m still looking forward to it.

In the first year we do a crossover project where you get into tutorial groups and take a software development project from start to finish. The catch is that at each stage of development you hand over to the next group and pick up the project of another. At the end, you get your own project back for testing. This is how a lot of big companies work so its good practice. Our particular project involved developing a software system for tennis tournaments, to book the courts and keep a tally of the scores. When we got it back, only some parts of it worked but the point is that you learn from it. The first year also has some unrestricted modules which you can choose from anywhere in the University. It´s a great opportunity to try something that you´ve always fancied or something a little bit different so I did some French.

In the second year we did a lot of functional programming such as Haskell and Prolog. Prolog is a logical language which was quite a change from the sequential languages we´d used previously. It was difficult at first but well taught and very interesting. You also do Software Hut which was brilliant. You work in a small group and get a real software problem from an external client. We worked for an overseas property agent to create a website for him that people could search and that he could add property details to. We had to interview him about what he wanted and then develop it. These sorts of websites are dynamically created, so there´s lots of programme code running in the background, not just a simple website you could do with Front Page. The client has offered us work since, which is great. We used Extreme Programming which is a new programming methodology. The idea is that you don´t do as much design work upfront, and the client is much more involved through the whole process. Rather than getting them to agree to a design and then going away and working on it then the client not being happy with the end result, you get a lot of feedback at every stage and make constant changes. It means the idea you start out with is often completely different with the end result, but you get a better product and a happier client. For small projects it works really well.

I´m now in my third year which is made up of your research project and more lectures. There are loads of topics to choose from and I´ve chosen Java E-commerce, 3D graphics and Natural Language Processing. NLP involves getting a computer to understand English, which is quite a difficult concept to explain. It involves trying to get a computer to process the language in such a way that it can deduce facts. So perhaps you could read a book to a computer and then it would be able to answer questions on the content. The lectures are by the NLP research group who are at the head of their field. That´s one of the nice things about the department – the staff are actively researching and then teaching you what they´ve developed. Java e-commerce is the main programme used for financial transactions on commercial websites. It´s not just about learning to use the software, you learn about the concepts and ideas about e-commerce, the techniques needed to make online transactions safe, and how commercial sites operate. The 3D graphics teaches you techniques used today in gaming. There´s quite a mathematical side to graphics and we use Open GL which is a graphics library. We had to create dancing snowmen and its all in 3D so you can view it from any angle, change the lighting and shadows and make the noses grow etc.

Even in my third year I´m still doing some maths based courses. You need a strong foundation in maths. I wouldn´t say the difficulty went much higher than A level maths but you need to be able to work comfortably at this level. You do some pure maths for things like 3D graphics, but mostly its applied maths.

My project is on functional programmes and finding a method of converting between Java and Haskell. The reason lots of different programmes exist is because they all have their own strengths and weaknesses. For example, Java is good for computer graphics and e-commerce but for something basic like storing representations of websites you´ve browsed it would be better off to use Haskell. The idea of combining is to use the strengths of different programmes together rather than choosing one or the other. For your project you can either come up with something that you´re interested in or choose a project from any of the research areas in the department.

Next year I´m looking forward to the Genesys. This involves the fourth years running their own software company. It operates as an independent company and you take real problems from real clients, which is great experience to have when you come to look for a job. When I graduate I´ll definitely be looking for work in computing, possibly abroad.