Tag Archive | Advanced Programming

Second Year Roundup

A view of the University of Hull Campus, taken by Rob Miles

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

Advanced Programming Coursework Result – 100%

08227 ACW - Console and Code

Today I got back the result for my Advanced Programming Coursework.

The coursework was called “Data Structure Analysis”, and the aim was to design and develop data structures in C++, a Linked List and a C style array, and then compare them using a hardware timer to see how they compared in read from file, write to file, search and sort operations.

Once we had created both structures, making sure we kept within a coding style tested using the Parasoft Code Reviewer software and ensuring we didn’t have any memory leaks by properly implementing the gang of three, we then wrote up a 2000 word report detailing how our various algorithms worked.

I’m really happy and proud to announce I achieved a grade of 100% for my work! :D. This means that, subject to the normal exam board review, I have achieved a grade of 88.24% for the module overall! Good times.

Danny

Advanced Programming Exam Result – 90.85%

On monday I took an exam for module 08227 – Advanced Programming.

Questions ranged from being about C++ Syntax, the different ways to traverse a binary search tree to the different uses of difference types of class inheritance.

I’d spent a long time revising before the exam and was confident I would do OK, however I was still pleasantly surprised when I found I achieved a grade of 90.85%. This is a stark improvement over the 75% I achieved in the last Advanced Programming exam, obviously my hard work is paying dividends!

I am still awaiting the mark for my Advanced Programming coursework, once I have that I will of course update the blog with both that mark and my mark for the module overall.

Danny

Advanced Programming Exam and Result

C++ vs C#

Last Wednesday I had an exam for the Advanced Programming module. The exam was about the syntax and use of the C++ Language and the ability to read Assembly Language. I was fairly confident, even though I have personally developed very few C++ applications. As more of an application developer than a real time system or game developer I prefer to ease, reliability and stability of C# or other managed languages such as Java over the pure speed of C++.

Having said that, C++ and Assembly are interesting languages and by studying them I feel I have learnt a lot about programming in general, particularly optimization and how things actually work on the hardware.

The exam wen’t well, and I received a mark of 75% — a first class — which I’m very happy with 🙂

In the upcoming semester there will be a coursework and one more exam for the module. Hopefully I do as well in them as I have in this exam 🙂

Danny

Second Year Starts

Yesterday I officially started back at The University of Hull for my second year in my Masters of Engineering Degree in Computer Science. This came as a bit of a shock to the system after a very long summer without education and a fantastic freshers week, but I’ve been enjoying every second 🙂

Advanced Programming

The first lecture I had on Monday afternoon was for the Advanced Programming module and was very interesting, C++ looks similar to C# on the surface but there’s a lot of differences.

The lecturer for the module and head of Department, Warren Viant, even said that a year was long enough only to make us “OK C++ programmers, not great ones” because its a hard language to learn with lots of intricacies.

Right from the offset there was a totally different attitude than last years Programming lectures in which we focused on getting things working well with very readable code even if it wasn’t the most efficient way of doing things — this year Warren wants us to focus on optimization and getting code to run as fast as possible because the requirement for real-time programs is the main reason for using C++.

Artificial Intelligence

Next up was artificial intelligence, a module I’m not actually enrolled on and therefore a module I won’t get a grade for but one I’m attending because I find it interesting and want to further my knowledge as much as possible whilst at university.

We started off by discussing what exactly intelligence is and weather or not it would be wrong to turn off (i.e. Kill) a computer which asked you not to because it was intelligent. We then went on to talk about Prolog and how AI programming is a totally different paradigm to any other programming we’ve done before.

The only transferable skill you have from any other form of programming is the ability to touch type

I’m looking forward to learning a totally different way of thinking 🙂

System Analysis, Design and Process

System Analysis, Design and Process is about the business approach behind creating software. We started off the module by talking about how we would work out how long a project would take us to do, how much it would cost us and how much we would charge the custom based on a certain specification. It’s actually quite a difficult thing to do.

We also spoke about how and why so many software projects fail and only 37% were successful last year.

Although this module seems very similar to last years Software Engineering module I’m looking forward to learning more of the skills required to make a business out of building software 🙂

Electronics and Interfacing

Electronics and Interfacing is all about how we connect software to the actual hardware, and how better to start off a module like that then to learn about how electricity works? 🙂 We spent most of the lecture doing that but we started off with a brief overview of what is to come: Infrared Wirelessly Controlled Robots. I can’t wait to get started properly!

2D Graphics and User Interface Design

Finally in 2D graphics and user interface design we had an introduction to the history of computer graphics, which started with a great video about the cold war and nuclear bombs, and then thought about all the use cases for 2D graphics — ranging from CAD and Data Modelling to Games and CGI for Movies.

I’ve said it a lot in this post but I’m really looking forward to learning more about each module this year and am having a great time so far 😀

Danny

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

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