Graduating and Being Awarded the Departmental Prize

Walking past the chancellor as part of the graduation ceremony

On the 14th of July 2014 my degree was officially conferred to me at a graduation ceremony at Hull City Hall.

The day started off with a lunch inside the computer science department at the university, which was a nice opportunity for my parents and siblings to see the labs in which I’ve done a lot of my work over the past three years.

Whilst we were at the lunch I was called up in front of the other students, and their families, to receive the departmental award. The award means that my name will be shown on a golden plaque inside the social area of the department and I will receive £100 from the university. It will be quite cool to have a plaque inside the department, especially as I recognize a lot of the names on the board already as being our current lecturers — my name will be in good company. I received the award for having the highest overall grade of a graduating student — at 86.05%.

 

 

After lunch my family and I made made our way to the Guildhall in Hull City Centre where I picked up my cap and gown.

 

 

We then made our way to the City Hall where the actual graduation took place. Rob Miles, one of my lecturers from the first two years of my degree, explained how the process of graduating worked. We simply had to walk across a stage after our names had been called and nod at the Chancellor of the University. Behind us were some of the lecturers from Computer Science, Maths & Physics and The Hull York Medical School — all of the departments who had people graduating that day.

 

 

Once the graduation had taken place inside we went outside for the traditional slate throwing with the town crier. He was rather funny.

Preparing for Cap Throwing Outside

Preparing for Cap Throwing Outside

Once all of the pomp and ceremony was over my family and I went for dinner and then the drinks started flowing with my brother and university friends out in a few pubs in old town, and then the Piper Club on Newland Avenue.

My degree certificate, and shield, on my living room wall.

My degree certificate, and shield, on my living room wall.

The day after my graduation was my birthday, so its been a truly brilliant few days. Thanks to everyone involved, you know who you are!
Danny

Year 3 Semester 2 Results

Year 3 Semester 2 Results

Today I received my final set of grades for my BSc (Hons) in Computer Science from the University of Hull – This included my two second semester modules, Mobile Devices and Application and Distributed Systems Programming, as well as my Final Year Project.

I achieved a grade of 85% in Mobile Devices and Applications, and 89% in Distributed Systems Programming.

The final year project was worth twice as many credits as each second semester, and so had more of an effect on the final grade. Thankfully I did quite well in the final year project, achieving a grade of 86%.

My overall weighted average for this year, including my first semester modules grades, is 86.5%.

This grade, weighted with my second year grades, means that my final grade for my degree as a whole is 86% – a very high first! I am of course over the moon with this.

I’d like to again say thank you to everyone who has made my time at university not only great for learning, but truly the best three years of my life (so far! :P). Particularly, but not limited to:

  • Rob Crocombe
  • Simon Watkins
  • Hayley Hatton
  • Russell Billingsley
  • Toby Russell
  • Jon Rich
  • Tom “Jeff” Procter
  • Special mention to “our American foreign exchange students”

 

  • Dr Martin Walker
  • Eur Ing Brian Tompsett
  • Rob Miles
  • Dr David Parker
  • Dr Peter Robinson

And of course anyone I spent time with in the labs or any of the many, many nights out in the first two years. Last but by no stretch of the imagination least thanks to my Mum, Dad, Brother and Sister for supporting me throughout the last 3 years.

I’m looking forward to trying to maintain this good score next year at York! Of course I will continue to do this blog throughout my time there too.

Danny

Mobile Devices and Applications Coursework Result – 100%

On Monday 12th May our Mobile Devices and Applications coursework was due in at 9am and I had to demonstrate mine at 1:30pm, which was a very quick turn-around! At the demonstration I received my grade of 100%, which I was of course very happy with.

The coursework this year was to develop an Android Application called AMULET –  “An m-health (mobile health) tool for the valid self-assessment of alcohol-induced impairment” for a real-world research project in the University of Hull’s Social Sciences Department. In this post I will briefly outline the functions of the application.

User Management

 

All users of the service had to sign up to use the AMULET service, which keeps track of all their data. They could do this inside the application itself, and information could be synced with however many devices they decide to use. The interaction with the AMULET web service is via a RESTful JSON API. The user could also manage their account from within the application including deleting it and changing its password.

The Tasks

 

The main point of the application was for users to be able to self-test various attributes and skills whilst sober, as a calibration, and then compare this score with their current score at the time of intoxication. Users were asked to input details of their current drinking session before taking a test, and shown results afterward.

The Inspection Task measures the users speed of information intake. It does this by showing the user 8 sheep and changing one of them to be a wolf for a small period of time — 100ms — the wolf then changes back to being a sheep and the user has to select the correct sheep. If the user selects the correct sheep then they complete the same task again, this time with less time — it goes down in 10ms increments. When they eventually fail this is their recorded score. A sober person should manage a time around 60ms.

The Sequence Task measures the users ability to locate information. It does this by asking them to tap every number, in order, from highest to lowest. The users score is the number of seconds it takes for the user to complete the task.

Finally, the Pilot Task measures the users ability to split their attention between multiple objects. In this task the user has to drag around the white square and keep it away from the red enemy squares. The recorded score is the amount of time in seconds the user avoids the enemies.

In my implementation each task had 3 different difficulty settings; easy, medium and hard.

In the inspection task on easy mode the sheep would change to a wolf (which was both a different shape and colour), on medium mode the sheep would change to a purple sheep, (which was the same shape but a different colour) and on hard mode the sheep colour would change only slightly.

In the sequence task easy mode makes the user count to 9, medium mode makes the user count to 16 and hard mode makes the user count to 28.

In the pilot task the enemies move faster at the higher difficulty settings, and believe me it gets rather tough. Different calibration scores and results are stored for each setting, meaning users can’t calibrate on hard and then compare that score to an easy result when drunk — because that would be cheating!

 

Before each task the user was shown the task brief, which allowed them to access instructions for the particular task they were about to start. At the end they were shown the task finished screen, which compared their results to a calibration or prompted them to make one. At any time the user could go to the home screen and tap “task history” to see their results from the past.

Drink Diary & Unit Calculator

 

As well as keeping track of the users abilities at times of sobriety and intoxication the application also kept track of the users drinking habits through a “drink diary”. This diary allowed users to enter information about a particular brand of drink including the brand name, alcoholic % and portion size, and then store how many they had drank along with a timestamp.

A unit calculator was also included for the users convince. The user could input the number of drinks they had consumed, the class of drink (e.g. Red Wine, White Wine, Average Strength Beer), and the portion size and be given a reasonable estimate of the number of units consumed. This functionality was also called when the user input drinks for the drink diary, to make data entry easier.

RESTful Server Interaction

One of the most interesting parts of the coursework was ensuring we stuck to the standard required by our lecturers server to send and receive data. This server allowed for research to take place on the information submitted by users, backed the data up and allowed users to carry information from one device to another.

All drink diary entries and task results were synced.

User Interface

Though the design of the application was very “windows phone-eseque” it was somewhat unique and supported many of the android features users have become familiar with; such as landscape and portrait support, different screen resolution support (from 3 inch phones to 12″ tablets and above) and notifications for long running processes such as data upload.

Thoughts on Developing for Android

I thought this coursework was a really nice way to pick up the programming language Java which, until now, I hadn’t needed to use. It’s similar to C# in a lot of ways with a few of its own idiosyncrasies, but a lot of the industry (and The University of York) use it extensively, so its a good thing to have learnt.

It was also interesting to have developed an application which worked across mobile phones, from small 3 inch screen devices, to much larger 12 inch tablets. This made me really think about the best way to develop the user interface, and I think I found a good compromise — it was certainly at least usable on all of these devices.

The main issue a lot of people had, including myself, wasn’t with Android itself, or indeed Java but rather the Eclipse IDE which most android developers use when writing applications. We all know that Visual Studio is in a class of its own, but it was a bit of a culture shock to change to an IDE that didn’t support debugging in quite the same way for example. Having said this I think this ability to switch between development environments is a good skill to have picked up. The other issue was just how slow the default andoird emulator is on a non-intel PC — but this can be solved through the use of Genymotion.

I will be getting my results for the module as a whole, along with my final university grade itself on the 2nd of July. I will of course update the blog then!

Danny

 

University of York – MSc in Advanced Computer Science

University of York Computer Science Department

Today I recieved word that I have been accepted for an award of a £5000 academic performance scholarship at The University of York.

This offer, alongside the high standard of teaching & research, beautiful new department facilities (pictured above) means that I have decided that I will be spending next year studying a Masters of Science degree in Advanced Computer Science at The University of York.

It is my intention, once the masters degree is complete, to continue on with a PhD. The masters degree should give me all the knowledge and experience I need to choose a partciular field in which I wish to do my research.

In the near future I will be formally accepting the offer, which I can do once I have recieved my final transcript from here in Hull, choosing my accomodation and selecting my module choices for next year. I will of course keep the blog updated with any developments.

I would like to take this time to thank Dr. Martin Walker and Rob Miles at the University of Hull for writing me two fantastic references, which no doubt helped me get accepted onto the course and in the application process for the scholarship award.

Similarly I would like to thank Jonathan Stokoe for the making the application process so pain-free, and Dr. Jeremey Jacobs for giving both myself and Rob Crocombe a tour of the Computer Science facilities at York.

Danny

Going to the Imagine Cup World Finals 2014

Imagine Cup Seattle 2014

Last week I was lucky enough to be put in contact with Guilaume and the rest of the team at Ripple. Ripple is a start-up of three students who have recently won the UK leg of the Microsoft Imagine Cup with their idea for a location based messaging app which allows you to contact people you may not know within a certain distance of your location – great for something such as freshers week where you want to meet new people.

Ripple Logo

Ripple Logo

Though Ripple have won the UK leg of the competition with their idea they are yet to have actually built the product. The three people currently involved with ripple had a great idea, but lacked the programming skills required to bring it to fruition. In order to find a student able to help them develop the application they contacted the Microsoft Student Partner program. Through the MSP program I got in touch with Ripple.

After a few Skype video conferences and telephone calls the team welcomed me on board, which means that through an odd bit of luck I am now an Imagine Cup 2014 finalist.

The Imagine Cup is a global student-only competition run by Microsoft in 190 countries which seeks to get students involved in solving social, economic and environmental problems through the use of technology. Each year winners from each country go to the world final in a different city to compete against each other – this year’s final is being hosted in Microsoft’s own back-yard, Seattle.

Imagine Cup Image of Seattle Space Needle

Imagine Cup Image of Seattle Space Needle

Winners can walk away with up to $50,000 prize money and a once-in-a-lifetime opportunity to meet former Microsoft CEO Bill Gates and current CEO Satya Nadella, so wish us luck! Regardless of how well we do I can’t wait to visit Seattle and do some of the awesome activities Microsoft has lined up for us, including going up the famous space needle.

I will, of course, keep the blog updated throughout the course of development and the competition itself.

Danny

Dissertation Handed In

My dissertation printed and bound

If you’ve ever wondered what two copies of an 83 page Computer Science dissertation looks like, wonder no more.

On Thursday, 8th May 2014 at 11am I handed in my dissertation which was a culmination of a full academic year of work (take away large amounts of that time dedicated to other modules). The title is “Code Editor with Syntax Highlighting and Autocomplete” and the document itself describes the full process of developing Dollar IDE from the research stage to the final implementation.

I will of course update the blog when I find out how well I’ve done.

Danny

Graduation Information

Graduate Information Book University of Hull

This week we got rather a lot more information about our upcoming graduation, mainly from the booklet you can see pictured above.

Should all things go well I will be graduating on July 14th, 2014 (one day before my 21st birthday) at 4:30pm.

Knowing this makes it all the more real, I’m really excited :)
Danny

Undergraduate Computer Science Demonstrating

The Stylish Green Demonstrator Tee

I don’t think this would win any prizes at London Fashion Week

One of the cool things I’ve been doing alongside my own studying this year is helping other students, in Years 1 and 2, in my role as a lab demonstrator. A lab demonstrator is there to help students resolve any issues, technical or administrative, they may face during their mandatory lab sessions.

In semester one I was a demonstrator for the 2nd year “2D Computer Graphics and User Interface Design” module, which I took last year. This year they made an animated Christmas Card featuring falling snow and Santa flying in his slay.

Now, during semester two, I am a demonstrator for 1st year “Programming 2″ module in which students learn Object Oriented Programming, Windows Presentation Foundation and other fun things such as Exception Handling.

Demonstrating has been a great way to earn a little bit of money whilst talking to people about the subject I love, and every demonstrator gets the funky green tee-shirt you can see above to wear whilst we work. I would recommend it to anyone who is offered the chance to do it. :)

Danny

Introducing Dollar IDE – An Update on my Final Year Project

Dollar IDE - The Modern IDE for PHP

In the past few weeks, since the semester 1 exams in January, we third years have been blessed with some calm time without any exams to revise for or coursework to work on, just two days a week of lectures. During this free time I have been working on my final year project.

User Interface, Icons and a Name

As recently as two weeks ago I had very little to show anyone who asked to see my project due to it all being technical back-end stuff without user interaction, which was a shame as I’ve actually done a reasonable amount of work on it, however now I have developed some of the UI and finally have something I can ‘show off’.

My previously unnamed PHP IDE is now known as Dollar IDE, so called because of how all variables in PHP are denoted by a $ sign. At the top of this blog post you can see a fantastic logo which my friend, Harry Galuszka, who studies Graphic Design at Lincoln University designed for me.

The colour scheme I have chosen for the user interface and logos consists of various shades of purple,  an unusual choice for me because I don’t usually like the colour, however it is the ‘official’ colour of PHP, as you can see from the PHP.net website, and it also fits in quite well with the design language I am using, which is based on Microsoft’s Modern (formally metro) ideas.

The program doesn’t contain any bitmap images, instead I use XAML vectors, and is built using Windows Presentation Foundation meaning that the program works well on all screen resolutions and pixel densities, including Apples famous “retina displays”.

The main code editing screen isn’t ready to be shown off just yet, but below you can see some images of the “Start Screen”, which is the first window shown to the user when they launch the program. From here the user can opt to create a new Dollar IDE project, or open an existing Dollar IDE project or stand-alone PHP file. The 5 most recent projects and displayed in order to allow the user to rapidly get back to work on their website or web-app.

Dollar IDE - New Project Information Validation

Dollar IDE – New Project Information Validation

An important aspect of the start screen is its ability to inform the user of any issues in creating a new project before they continue, as you can see in the above screenshot issues are denoted by a red circle with a cross in, and fields which are OK are denoted by a green circle with a tick in.

This as-you-type validation means that mistakes can be spotted earlier, thus saving the user time and the exact cause of any issues can be determined and displayed. It’s always annoying when you enter some data into a program only to be told its wrong when you try to save… and then not be told what is wrong with it, being forced to make an educated guess. Dollar IDE gives you no such hassle.

Git Integration

Dollar IDE - Git and GitHub Integration

Dollar IDE – Git and GitHub Integration

One of the coolest aspect of my new IDE is its tight integration with the git revision control system. The program can interface with any git repository, hosted either locally or on a remote server, and has additional support for repositories hosted on the popular GitHub service.

In the main IDE window, which I will show off soon, the user will be able to

  • See which files have uncommitted changes
  • Commit files and projects
  • Merge files with conflicts
  • Pull changes from a remote server

Other Progress So Far

Other than what I’ve shown you in this very quick preview I have the following features working:

  • Correct tokenization of the most common PHP tokens
  • Complete coverage of the tokenizer with unit tests to ensure program correctness
  • A source code editing window with colour highlighted text and line numbers
  • Project loading and saving
  • File associations (to allow project files and PHP files to be loaded from Windows Explorer)

What’s Left to Do

There’s still rather a lot left to do on this project, but fortunately there’s still around another 2 months to do it in. I’m now feeling rather confident that I will finish my product on time with all of my primary functionality and a lot of my secondary functionality implemented.

I will of course keep the blog up to date on my progress.

Danny

 

Semester 1 Year 3 Module Results

Year 3 Semester 1 Module Results

Today everyone at the University of Hull got their results for semester 1 of this year, including myself.

Semester 1 this year was almost certainly the most challenging semester I have taken so far at university, as you might expect. This increase in difficulty meant I had to put in even more effort and be even more determined than in previous years — therefore I was both pleasantly surprised, and extremely happy with my results — 90% for “Data Mining and Decision Systems” and 83% for “Languages and Their Compilers”.

These grades, combined with my grades from last year, put me in a very good position to get a first class degree, which of course I’m very happy about.

I will of course keep the blog updated over the rest of this final year.

Danny