Categories
University

Second Year Roundup

Well, my second year is done and dusted. I’ve had a thoroughly great time, and learnt a lot too! :). I thought it might be nice to have a post to say thank you to everyone, and to have a list of all the results I achieved, for future record. So below you can see a table of all my results, and my average for the year:

Module ACW 1 ACW 2 Exam 1 Exam 2 Overall
Simulation and 3D Graphics 90% 90%
Advanced Programming 100% 75% 90.85% 88.24%
Networking and Web Technologies 80% 100% 85% 88%
2D Graphics and User Interface Design 86% 86% 86%
System Analysis, Design and Process 87.5% 72% 80%
Electronics and Interfacing 71.25% 84% 77.62%

This means my average for the year is:

84.97%

Which is a high first class, and a grade I’m really happy with :). Thanks to everyone at the University of Hull for making this year so great, particularly those in the Department of Computer Science.

Danny

Categories
University

Networking and Web Technologies Exam Result

This is literally what happens in Networking

Today, at 1:30pm, I took an exam for Networking and Web Technologies. Questions ranged from asking us to explain what a piece of JavaScript code did, to explaining some of the pitfalls of SMTP (The protocol used to transfer emails) as well as explaining the use of the datagram fragmentation mechanism in the internet protocol.

Because it was an electronic assessment we got our grades back at 5:30pm and I really happy to say I got a grade of 85%.

If I combine this grade with my two other grades and account for weighting this means, subject to exam board approval, I have achieved a grade of 88% for the Module as a whole! Annoying close to that big fat 90, but I’m very happy regardless!

Danny

Categories
University

Networking and Web Technology Coursework Results – 80% and 100%

Over the past few weeks I’ve been working hard on several courseworks and revising for several exams. One of the modules I’ve enjoyed the most has been Networking and Web Technologies.

The coursework was split into two stages. The first of which was simply entitled Networking — in this section we produces a command line client which could interact with both our lecturers server as well as one we later made ourselves. The client could send information to the server about the whereabouts of a staff member using their username and a string of text explaining their location. Simple stuff, but very satisfying to implement from something as simple as a socket connection. The server we made, which ran on multiple threads to allow over 10,000 people to connect at once, then collected this data, stored it in an XML file and could send the data to any client that asked for it. All good stuff, as Rob Miles would say.

Networking Coursework - Client, Server, Sever Log and Storage XML File
Networking Coursework – Client, Server, Sever Log and Storage XML File

I received a grade of 80% for my implementation of the console based applications, which I was happy with.

Today I demonstrated part two of the coursework, entitled Web Technologies to my lecturer. In this second part we had to make an application, either in PHP or ASP.NET which handled all of the same things the command line server did in part one, but better. I chose to do it in PHP as I have years of experience with the language.

The final result was a website with the following features

  • A Microsoft SQL Backend Database
  • The ability to add, delete and edit entries from a form
  • Validation of all inputs on server side
  • Parameterized queries to stop SQL Injection attacks
  • A responsive design so the site looks different, and better suited, on tablets and mobile phones
  • An API which any client which can send HTTP formatted POST or GET requests can use to add edit or query a user’s location

In the end I was awarded a grade of 100% for part 2! I couldn’t be more over the moon.

I have an exam on Tuesday for networking, which will be the final of the 3 parts. Once I know my grade for that and the exam overall I will of course update the blog 🙂

Danny.

Categories
Programming University

Networking Coursework – A Location Server

Networking Coursework – Client, Server, Sever Log and Storage XML File

Recently I’ve been working a lot on my coursework for the 08246 module, Networking and Web Technologies, which consists of producing a client and server for a system which stores information on the location of people at The University. The client allows the user to type in commands such as the following:

location Danny

And the server will return a response telling the user

Danny is in the ITMB Computer Labratory

The client can also update the position of someone on the server using the following Syntax

location Danny "In the Library"

The client and server can talk to each other over 4 different protocols.

  1. Whois, which is usually used to query information about a domain name on the internet.
  2. HTTP 0.9 – A deprecated form of the Hyper Text Transfer Protocol, the protocol used to deliver webpages, images and other media and files from websites.
  3. HTTP 1.0 – A newer version of HTTP
  4. HTTP 1.1 – The latest version of HTTP

The server saves the locations of all the users when it is updated, and stores a log detailing all the connections which have been made to it. At the moment the server is single-threaded and can only accept one connection at once. However I am currently working on making it multi-threaded, so that multiple clients can connect to the sever at the same time.

The coursework is in two parts. This first part requires just a command line interface and simple storage/logging. However part two will require me to update it to have a full working website and SQL Database backend. I will, of course, keep this blog updated with my progress.

Danny

Categories
University

Year 2 Modules – Decision Made

I posted last week explaining how I was trying to decide which modules to take in the second year of my Masters of Engineering Degree in Computer Science.

As you can see from the above screenshot of the MyAdmin interface — a university website used to choose modules amongst other uni related tasks — I have finally figured out what I want to do, with one caveat.

I mentioned in my last blog post I was torn between two modules, Electronics & Interfacing and Artificial Intelligence. I have formally enrolled myself on the Electronics & Interfacing module, however I intend to go to both sets of lectures in the first few weeks of the semester and then make a choice based on the actual content of the module, rather than the description and title provided to us by the department. I think this a mature approach to making a hard decision, and one Rob recommended himself when I asked for his opinion on which was the better option for me.

The other modules I will be taking in year 2 are:

  • Systems Analysis, Design and Process
  • Advanced Programming
  • 2D Computer Graphics and User Interface Design
  • Simulation and 3D Graphics
  • Networking and Web Technologies

I’m particularly looking forward to learning C++, which is the industry standard programming language as well as making my own threaded server in Networking 🙂

I can’t wait!

Danny

Categories
Life University

Choosing Modules for Year 2

The Lovely peice of code I just spent an hour “debugging” because my phones accelerometer had stopped working and it hadn’t told me and was actually fine all along

It’s hard to believe but we’re almost at the end of the first year of Computer Science at the University of Hull. That doesn’t mean we can stop thinking about university, our education and the future in general though — quite the opposite in fact. In about 2 weeks time we have to have finalized our module choices for next year.

Choosing what we want to specialize in is quite difficult, especially as so much is left down to us, we have one core module and have to choose 5 ourselves. Some of the modules we cannot take together because they clash and we have to choose a certain amount of semester 1, semester 2 and year long courses.

I’m making choices based on what I want to be doing in the future, as well as what I feel will give me a more rounded education and will ultimately teach me the most — we’re here to learn right? ;).

Today I read this excellent blog post by James Croft which describes the Electronics and Interfacing Module in which you program little robots. It looks like great fun, and because so few people do it its a great skill to have, oh and its taught by Rob Miles, who is one of the best lecturers at the University in my opinion. James describes it as “one of the most interesting modules I’ve done so far at uni.” What more could you ask for? If something interests me I tend to do well at it.

Its interesting that I’m so interested by this unit now, as I previously hadn’t even considered it. Below is a list of what I think I’ll be doing next year:

  1. Semester 1 only – 08220 Systems Analysis Design and Process (Core – We have to do this)
  2. Semester 1 only – 08240 2D Computer Graphics and User Interface Design
  3. Semester 1 and 2 – 08227 Advanced Programming
  4. Semester 1 and 2 – 08249 Electronics and Interfacing OR 08226 Artificial Intelligence (Undecided so far :()
  5. Semester 2 only – 08246 Networking and Web Technologies
  6. Semester 2 only – 08214 Simulation and 3D Computer Graphics

Interestingly the only module I’ve chosen which people on the far more popular Computer Science with Games Development BSC course don’t take is Networking and Web Technologies. and Electronics and Interfacing if I eventually choose that over AI (I’m on the Masters of Engineering Computer Science course, and I can choose their modules)

Anyway, I have coursework for the current year to get on with now so thats all for now,

Danny