University Work

Over my time at Durham University, I undertook a number of academic projects as part of my BSc in Software Engineering. The list below details the various modules and projects I undertook as part of this degree programme, along with links to submissions where appropriate. I have not posted these files here so that future students can cheat! The material below represents a lot of effort on my behalf, and hopefully people may find it interesting to read my take on various subjects, and reference where appropriate.

Year 3

Advanced Software Engineering

Learning about different styles of Software Engineering, how to evaluate these styles, and also looking at new advances in the field.

Software Engineering Project (Dissertation)

My final year project formed my disseration, details of which can be viewed on this page

Project Management

Involved working with a group of second-year students, managing their SEG project. You can read my essay reflecting on project management styles, or view my presentation on my experiences.

Advanced Artificial Intelligence

Module contents included Multi-Agent Systems and Automated Reasoning. You can read my assignment on Multi-Agent Systems here.

Year 2

Computer Systems II

  • Advanced Databases
  • Distributed Systems & Networking

Software Applications

  • AI Search
    Learning about various search algorithms, including notation for selection of an appropriate algorithm given certain circumstances. Final assignment was to program 2 algorithms to solve a travelling salesperson problem. You can view my writeup here
  • Digital Imaging
    The basics of imaging, including learning the principles of Java3D. My report on creating a wind turbine in Java3D here
  • Visualization Principles & Practice
    Further work with Java3D, learning about how best to display data. My report on visualising data is available here

Programming & Reasoning

  • Specification & Verification
    Extension of the Formal Aspects module from Year 1, final assignment relating to automated problem solvers can be viewed here

Software Engineering

  • SEG Project
    A year-long group project to design and build a piece of software to plan new wind turbine infrastructure in the UK, following a simulated real-world systems lifecycle and delivery timetable. My reflective report is available to read here
  • Phoenix Project
    Also undertaken in the same groups as with SEG, an additional project for a real customer, a local charity. Information also included in the reflective report.

Year 1

Unfortunately I do not have all of the work from this year (before I started this website), so have included here what I could salvage off the university network!

Formal Aspects of Computer Science

Introduction to formal first-order logic

Programming and Data Structures

Introduction to programming in Java, moving on to identifying, analysing and implementing data structures

Introduction to Management

Optional module from the Economics department, giving an introduction to management styles and techniques.

Technology for the Modern World

Optional module from the Engineering department, detailing recent advances in all areas of technology, and speculative work on future advances

Computer Systems

  • Databases
    Introduction to databases, through data definition languages and SQL.
    • Given a situation involving a theme park, we were asked to generate a SQL relational database and produce the required table structure in SQL (included inserted data), and then manually write some SQL queries for fetching information from our database
    • Download report (PDF)
    • Download queries (TXT)
  • Networking
    Basics of computer networking
    • The premise of the final assignment was to demonstrate our knowledge of networking after the first term. The questions are not included in the report, but it should be fairly obvious what I’m talking about!
    • Download report (PDF)
  • Operating Systems
    Background knowledge on OS development and underlying functionality